b'JOHN COWAN\n\nSenior level programmer, document analyst, and developer advocate with experience in full-lifecycle work\nacross multiple technologies. Very flexible, fast learner, proven ability to adapt to new technologies.\n\nTECHNICAL SKILLS\n\xef\x82\xb7\n\nProgramming languages: Java (13 years), Python, Perl (5 years), Scala, C, UNIX/Linux shell and\nstandard toolkit, SQL, C, and many others.\n\n\xef\x82\xb7\n\nStrong knowledge of the UNIX/Linux API including sockets. In-depth knowledge of UNIX/Linux OS\nand development tools including system commands, \xe2\x80\x98awk\xe2\x80\x99, \xe2\x80\x98make\xe2\x80\x99, \xe2\x80\x98sed\xe2\x80\x99, \xe2\x80\x98sccs\xe2\x80\x99, version control tools,\nshell scripts, etc.\n\n\xef\x82\xb7\n\nVery strong knowledge and experience with XML (including Atom, XSLT, XML Schema, RELAX NG\nand Web Ontology Language) and Unicode. Automated many development and testing steps using\nshell scripts to reduce the development time.\n\n\xef\x82\xb7\n\nOperating systems and environments: Solaris (5 years), Linux (13 years).\n\n\xef\x82\xb7\n\nFunctions: Document design, schema design, programming, standards development, presentation, R\n& D, systems design (structured, object-oriented, flow-based), database design, design walk-through\nand review, code walk-through and review, program testing, product testing, documentation,\noccasional systems administration as needed.\n\nPROFESSIONAL EXPERIENCE\n\nBANK OF AMERICA, New York, NY\n\n2014-2015\n\nSoftware Developer\n\xef\x82\xb7\n\n6 month consulting position working in core Python development in the Quartz core team.\n\n\xef\x82\xb7\n\nDeveloped a tool for detecting anomalous trading events and displaying them to auditors.\n\n\xef\x82\xb7\n\nDeveloping an Excel replacement for end-user computing.\n\nAMERICAN MEDIA INC. (AMI), New York, NY\n\n2014\n\nSoftware Architect/Engineer\n\xef\x82\xb7\n\nThis was a week-to-week consulting contract for system design, Scala and Python programming.\n\n\xef\x82\xb7\n\nEnhanced a set of web services providing a proprietary back end for AMI\'s in-progress content\nmanagement system. The system is written in Scala and needed a set of extensions for both the\ningestion and retrieval systems.\n\n\xef\x82\xb7\n\nDesigned an improvement to AMI\'s proprietary search engine to prevent it from returning links to\nproperties that were not available to the user performing the search.\n\n\xef\x82\xb7\n\nWrote functional tests in Python using AMI\'s proprietary connection library.\n\nHELIOS\n\n&\n\nMATHESON,\n\nMPHASIS, New York, NY (subsidiary of HEWLETT PACKARD)\n\nNew\n\nYork,\n\nNY\n2014\n\n\x0cOntologist\n\xef\x82\xb7\n\nThis was a 3-month contract with MphasiS. Helios & Matheson was the W-2 employer but had no\ninfluence over the work.\n\n\xef\x82\xb7\n\nDesigned an ontology representing a catalog for electrical products as a proof of concept. The\nultimate client was Schneider Electric, a multinational company, on behalf of their Australian\nsubsidiary Clipsal.\n\n\xef\x82\xb7\n\nWrote SPARQL queries used by a generic Web application so that new product hierarchies, userspecific displays of details, and user-defined ideas of product similarity could be added to the\napplication solely by changing the ontology, with no programming modifications.\n\nLEXISNEXIS, New York, NY\n\n2010 \xe2\x80\x93 2014\n\nSenior Content Architect / Ontologist\n\xef\x82\xb7\n\nDesigned a schema in RELAX NG and XML Schema for government agency documents.\n\n\xef\x82\xb7\n\nDesigned and documented modular entity schemas that specify the standard LexisNexis\nrepresentations of information about judges, legislatures, expert witnesses, and commercial\norganizations. These schemas were delivered in three variants: for editorial use, for the master\nrepository, and for the internal document bus. Reviewed and updated modules written by other team\nmembers, and led the reviews of my own modules.\n\n\xef\x82\xb7\n\nEnhanced a widely used schema module for legal citations to handle cases where text explaining the\npurpose of the citation appears in separate sections of a document).\n\n\xef\x82\xb7\n\nWrote and supported several internal tools for crude XML analysis, generating "version 0" schemas\nreflecting what is actually present in large samples of existing documents (up to a million documents\nper run).\n\n\xef\x82\xb7\n\nRewrote the internal schema used by the content team to document our schemas.\n\n\xef\x82\xb7\n\nLed the development team for the Lexis Content Ontology, a high-visibility, high-pressure, loosely\nspecified project with a hard deadline for its first version. Learned essentially from scratch the\nprinciples of ontology design, how to convert logical data models from PowerDesigner, and the\nProt\xc3\xa9g\xc3\xa9 OWL editor.\n\n\xef\x82\xb7\n\nDelivered six major sub-ontologies based on the entity schema modules and data models,\ncontributed to all other sub-ontologies, and reviewed all team results, making possible the on-time\ndelivery of the ontology.\n\n\xef\x82\xb7\n\nDeveloped a strategy for migrating all schema development source control from the LexisNexis\nlegacy system (IBM ClearCase) to Subversion. Identified platform requirements, wrote installation\nand migration plans, and communicated strategy to the architecture team. Supported the migration\neffort by assisting the other team members with conversion to the new style. The new system has\nbeen essentially problem-free for over a year. Another LexisNexis team has converted to Subversion\nfollowing the plans I wrote.\n\n\xef\x82\xb7\n\nUpdated the schemas and conversion instructions for business directories and news items to handle\nnon-U.S. sources.\n\n\xef\x82\xb7\n\nImplemented a continuous-build server for schemas analogous to those used for code.\n\n\x0c2007 \xe2\x80\x93 2010\n\nGOOGLE, New York, NY\nDeveloper Advocate (Internal) (2009 \xe2\x80\x93 2010)\n\xef\x82\xb7\n\nLed Google Data API orientation, design review, code review, pre-launch, and new technology\nevangelism meetings, as well as answering one-off questions, for about 25 Google service teams,\nincluding Google Book Search, Calendar, Contacts, Spreadsheets, and Webmaster Tools.\n\n\xef\x82\xb7\n\nWrote and maintained a variety of checklists so that others could lead these meetings in future.\n\n\xef\x82\xb7\n\nWrote code and configuration files for a sample Google Data API to be used by Google engineers to\nhelp them develop their own APIs.\n\n\xef\x82\xb7\n\nWrote internal programmer documentation, including feature design documents and HOWTOs, on\nissues like specifying postal addresses and handling unauthorized requests among others.\n\n\xef\x82\xb7\n\nMaintained the extensive (25-page) internal Google Data API FAQ.\n\n\xef\x82\xb7\n\nWrote extensive and detailed reviews of many internal proposals.\n\n\xef\x82\xb7\n\nInterviewed 35 candidates for software engineering jobs at Google.\n\nSenior Programmer Analyst (2007 \xe2\x80\x93 2009)\n\xef\x82\xb7\n\nDesigned a backward-compatible standard format for all the errors reported by the Google Data API\nengine and the various services that expose GData feeds, and provided a central internal registry of\nthose errors.\n\n\xef\x82\xb7\n\nMade extensive modifications to the internal Google Data APIs engine to bring it into full compliance\nwith HTTP, specifically to support standard concurrency control. These changes have now been\nrolled out to essentially all Google Data APIs.\n\n\xef\x82\xb7\n\nWrote\n\nGoogle\'s\n\nXML\n\nDocument\n\nFormat\n\nStyle\n\nGuide,\n\npublished\n\nat\n\nhttp://google-\n\nstyleguide.googlecode.com/svn/trunk/xmlstyle.html.\n\nFLWOR FOUNDATION, New York, NY\n\n2007\n\nSenior Programmer / Analyst\n\xef\x82\xb7\n\nDeveloped the core design for Zorba, an open-source implementation of the W3C XQuery standard.\n\n\xef\x82\xb7\n\nWrote a prototype storage layer.\n\nASSOCIATED PRESS (AP), New York NY\n\n2006 \xe2\x80\x93 2007\n\nSenior Programmer / Analyst\n\xef\x82\xb7\n\nMaintained orphaned code for the AP newsroom ticker sign in Python, and installed an extensively\nrewritten version in the newsroom of the New York Daily News (an AP member).\n\n\xef\x82\xb7\n\nDebugged socket timing problems in NNTP-based news distribution system\n\n\xef\x82\xb7\n\nConverted large CVS repository to Subversion and created appropriate developer notification\nfacilities.\n\n\xef\x82\xb7\n\nWrote a specialized NNTP client in Python to allow UNIX/Linux-based customers to reliably pick up\nAP news feeds\n\n\xef\x82\xb7\n\nWrote and adapted bulk emailing software for AP editors to easily send notifications to customer\neditors about stories of special interest.\n\n\x0c\xef\x82\xb7\n\nWrote continuously running XHTML validity checker for stories fed to ASAP, AP\'s youth-oriented\nnews site.\n\n\xef\x82\xb7\n\nDesigned and documented procedures for appropriate use of Subversion branches.\n\n\xef\x82\xb7\n\nParticipant in design team for a complete rewrite of large customer-facing news distribution\napplication. Contributed many new design ideas around RSS/Atom, code snippets, fast dynamic\ngeneration of HTML. Designed and documented procedures for associating AP stories with maps\nand other geographics.\n\n\xef\x82\xb7\n\nParticipant in news classification team.\n\nREUTERS HEALTH, New York, NY\n\n1999 \xe2\x80\x93 2005\n\nSenior Programmer / Analyst\n\xef\x82\xb7\n\nDeveloped the infrastructure and software using Perl, Unix shell, and Java for the publication side of\nReuters Health, a Reuters subsidiary.\n\n\xef\x82\xb7\n\nWrote essentially all the code responsible for distributing Reuters Health news stories from the\neditorial group to the customers over a five-year period.\n\n\xef\x82\xb7\n\nProvided all the system administration services, testing, and documentation as well.\n\n\xef\x82\xb7\n\nProvided extensive support to editorial, permissioning, and sales groups within Reuters Health.\n\n\xef\x82\xb7\n\nProvided sales engineering and post-sales customer support on the full range of technical issues.\n\nEDUCATION\n\nPh.D. coursework in Social Systems Sciences, UNIVERSITY OF PENNSYLVANIA\nB.A. with honors in Communications & Mass Media complete except for thesis, CITY COLLEGE OF\nNEW YORK\nPhysics coursework, CASE WESTERN RESERVE UNIVERSITY\n\nSPECIAL XML ORGANIZATIONS\n\xef\x82\xb7\n\nMember of the W3C XML Core Working Group and their predecessors, the Infoset and Linking\nWorking Groups. Editor of the XML Infoset and XML 1.1 W3C Recommendations.\n\n\xef\x82\xb7\n\nMember of the former OASIS Entity Resolution and RELAX NG Technical Committees. Provided the\nbase draft for XML Catalogs from which the committee built the OASIS standard.\n\n\xef\x82\xb7\n\nIndividual member of the Unicode Consortium and regular participant on the Unicode members-only\nmailing list, Unicore.\n\nOPEN SOURCE\n\xef\x82\xb7\n\nSole author of Moby Latin and Whacking Latin, keyboard drivers for Windows that allow users to\neasily type almost 1000 different characters.\n\n\xef\x82\xb7\n\nSole author of TagSoup, a SAX parser written in Java that makes HTML look like well-formed XML to\napplications. Full details available at http://www.tagsoup.info.\n\n\x0c\xef\x82\xb7\n\nContributor to Chicken Scheme, Chibi Scheme, and Q/Pure programming languages.\n\nTEACHING / PRESENTATION\n\xef\x82\xb7\n\nTaught popular and well-received tutorials at the XML Conference, 2001-05 and at Extreme Markup\nLanguages 2004\xe2\x80\x932006 on Unicode, RELAX NG, W3C XML Schema, and the proposed XHTML 2.0\nstandard.\n\n\xef\x82\xb7\n\nPresented at Balisage 2013 (successor to Extreme Markup) on document transformations based on\nsource and target schemas.\n\n\xef\x82\xb7\n\nPeer review for papers submitted to the Extreme Markup/Balisage conference, 2005\xe2\x80\x93present.\n\nPUBLICATIONS / BOOKS\n\xef\x82\xb7\n\nThe Complete Lojban Language Logical Language Group, 1997\n\n\xef\x82\xb7\n\nWhat Is Lojban? (editor). Logical Language Group, 2003\n\n\xef\x82\xb7\n\nRevised Report on the Algorithmic Language Scheme (co-editor).\nCommittee, 2014\n\nScheme Language Steering'