Alexander Eulenberg 255 S Rengstorff Ave Apt 41 Mountain View, CA 94040-1724 phone: (650) 964-7904 alex@rent-a-mind.com Executive Summary: I have over eight years' experience creating web-based and database-driven tools to automate and facilitate data entry, creating systems to parse and integrate data feeds, manage workflows and generate and archive reports. I have designed and developed systems with multiple-user capability with privilege settings, encrypted passwords, spreadsheet uploads and downloads, daily automatically emailed reports. I am well versed in the most important Internet standards; I can take any internet-based information, whether on the web, in an email, or on an FTP server, and can put it in the format you need. I can detect and convert file formats and text encodings (e.g. Unicode), parse and create email attachments. I write efficient, object-oriented Perl and have no problem digging into the most convoluted spaghetti legacy code, scattered scripts and data files, and turn them into tools that are well-documented, bug-free, and easy to use and to maintain. While Perl/DBD is my first choice for programming language, I have also developed server applications using Java with J2SE and JDBC, and complex stored procedures using PL/SQL. I make database schemas for MySQL or Oracle using the principles of relational database design, applying indexes and constraints where appropriate. Summary of tools, languages, systems that I develop with: Perl/CGI, MySQL, Oracle (SQL*PLUS, PL/SQL), Java/JDBC/J2SE, Python, C/C++, CVS, HTML, Javascript, Shell scripting, Unix tools (cron, grep, etc.), XML Work experience Note: (*) indicates web site no longer exists, but a snapshot is available at the WayBackMachine (www.archive.org). September 2003-present + Developing and using Perl/MySQL based contact tracking, gig scheduling and calendar publishing program. Singing and playing jazz piano professionally (musical sabbatical). See http://oldies.eulenberg.net/, http://mvdowntown.com/trioconbrio/ August 2003 + As a contractor, debugged scripts and ran SQL benchmark test cases for new database engine being developed by Required Technologies (http://www.requiredtech.com/), using a combination of Perl, Bash (cygwin), Oracle and Windows Shell scripts. September 2002-present + Independently developed a web application in Perl that creates Unicode-compatible keyboard layouts for Mac OS. Invented an easy-to-use keyboard layout specification language; my web application translates this into XML and binary keyboard layout resources used by Mac OS. Search Yahoo for "Mac Unicode Keyboards" (it's the #1 hit) or go to http://wordherd.com/keyboards/ + As an independent consultant, solved font/keyboard related problems for clients, including modifying old, non-Unicode-compatible fonts for Polytonic Greek and Irish Gaelic to work with Mac OS X and Unicode. June 2001-May 2002 At Napster: + Programming in Java on Oracle (stored procedures using JDBC), created a system to identify incoming audio files and classify by copyright ownership status, or generate appropriate warning upon collision or near-collision with existing known song. Provided PL/SQL API for batch song inputters as well as a Web-based (Python CGI/DCOracle) control panel for unit testing and editing collision resolution rules, and submitting song metadata. Designed tables for decision matrix, input- and action-queueing. + Using Perl, C, and XS, wrote an audio fingerprint resolution server that the database stored procedures could access over TCP/IP. + Using Visual Studio 6.0, created a Visual Basic application using C libraries (which I adapted for use as Visual Basic .DLL modules), to encode MP3s from WAV files, generate audio fingerprints, and send the resulting data using the HTTP protocol to an audio file data integration server. + Created an automated system for collecting daily file transfer and sharing activity among p2p clients in Perl. It collected statistics on most commonly shared or transfered songs and posted summaries on the intranet, as well as sent email notifications. + For the copyright compliance effort, turned several tasks previously requiring a knowledge of unix command line utilities into web tools that could be used by administrators and data entry personnel: o import spreadsheets of song data into the database of unauthorized-for-sharing works o lock/reinstate batches of infringing users' accounts. + Created custom statistical and fact-finding reports based on searches of hundreds of megabytes of infringement notices, using Perl, grep, comm, sort, uniq, and other Unix utilities. + Using Perl, analyzed a database that contained foreign language song data in mixed encodings (including Turksh, Greek, Polish, Czech, Russian, Hebrew, and Chinese), identified their encoding and language, and converted the artist name, album and song titles into UTF-8. + Provided original music (compositions and performance) for sharing. March 2000-March 2001 At Gigabeat (http://www.gigabeat.com), helped develop a music search engine and intelligent playlist composer. Worked with Perl, PHP, Javascript, Python, MySQL, and Java in a Linux environment. + Extracted musical attributes from MIDI files using Perl. + Integrated song data from various sources to produce song recommendations. + Wrote a cross-platform internet radio station launcher in Javascript. + Wrote a Python internet radio crawling/parsing class, to find out who's playing what music on the internet. + Wrote a web access reporting system in Python. + Wrote XML parsing clients in PHP and Java. + Created a unified music information XML document type and corresponding objects for cross-platform communication, so for example, a Java servlet could get playlist recommendations from a Python music recommendation server. January-February 2000 At SGI Customer and Professional Support, Ported a Perl- and Oracle-based problem tracking application from Cray server to SGI server: + Configured Apache server. + Configured Perl for Oracle connectivity (required a recompile). + Gracefully expunged references to unsupported and unavailable databases dealing with Cray-specific products. + Added constraints and indexes to tables. + Set up cron jobs to import employee lookup table daily, analyze tables. + Set up development, test, and production versions of the application. + Installed self-written CVS wrappers for basic version control + Installed self-written release manager. + Documented changes and current configuration. + Added easy-to-use and foolproof pull-down list allowable values manager + Made internal variables and filenames consistent with respective UI buttons and filenames (which had been out of sync). + Put everything into a logical directory structure November 1997-November 1999 Designed SQL databases and web user interfaces for various projects at Hewlett-Packard Interactive Marketing Services, including an SQL-based course catalog[1] and on-line testing[2], a FAQ renderer, a database for each HP product's various URLs, and an on-line workflow management system to replace paper tickets. Maintained a multi-lingual, internationalized (English, Spanish, Italian, German, Russian, and Portuguese) interactive user survey and virtual coupon dispenser in Perl and HTML. rogrammed in Perl 5 with DBI module and PL/SQL for interaction with Oracle SQL*PLUS database. Encoded binary data for transfer across text-only channels. Created HTML forms to specifications. Created Perl modules (object-oriented) and PL/SQL packages to handle Oracle data. HP Unix environment. 1. http://hpstar.mnl.com/CPO_TRAINING/search_course.html (*) 2. http://hpstar.mnl.com/CPO_TRAINING/CP/HPS/testInfo.html (*) November 1996-October 1997 Wrote web interface to problem tracking and knowledge base maintenance system for the Indiana University Computing Services Support Center using CGI scripts in perl. Designed HTML user interface. HP Unix environment. See http://elite.iupui.edu/~sc/about.html for details. September-November 1996 Worked full time as technical support telephone consultant for Indiana University Computing Services, Unix and Macintosh support, solving various problems including those related to email, FTP, printing, upgrading, PPP and TCP/IP setup, creating mailing lists. April 1996 Using Perl scripts that I wrote, I created a database manager, index generator, and a CGI for a dictionary/thesaurus of Lakota[1] for the Netscape frames environment on a Unix web server. Designed HTML user interface. 1. http://www.indiana.edu/~anthling/dict (password required) March 1995 Designed Anthropological Linguistics Journal web site[5] January 1995-Present Managing Internet mailing list (now Yahoo! "Health" Group) and home page for International Society for the Enhancement of Eyesight, created home page. See http://health.groups.yahoo.com/group/i-see March 1994-January 1996 Translated and annotated Russian texts for language education software for Transparent Language, Hollis, New Hampshire. January 1994: Designed a Hypercard Kazakh Reader with grammar help and exercises.[1] In August and September 1996 I redid this (all but grammar help) as a page in Netscape Frames. I recently revised this to work in Russian for for Arishka Language Services[2]. 1. http://www.eulenberg.net/alex/language/turkic/f/kazakh.html 2. http://www.rent-a-mind.com/arishka/jokes.html May 1993-June 1995 Computer Graphics, Layout editor, and computer consultant at American Indian Studies Research Institute, [1]Anthropological Linguistics Journal, Indiana U--Bloomington, drawing diagrams for publication (CorelDRAW), copy editing articles, drawing special phonetic characters with font editors, managing dictionary databases, miscellaneous troubleshooting. 1. http://www.indiana.edu/~anthling September 1991-May 1992 Translated from Russian into English and edited parts of Soviet structural linguistics work _Lexical Semantics_ (by Yuri Apresjan, Moscow, 1974) for Karoma publ., Ann Arbor; also wrote ad copy for this book. 1990-1991 Translated from Russian into English linguistics papers by Prof. Alexander Kibrik and others at Moscow University's Automated Text Parsing Laboratory, for publication in international journals, including "The Problem of Endangered Languages in the USSR", published in the book _Endangered Languages_ (1991), Oxford: Berg. Also assisted in translation of Edward Sapir's work into Russian. 1988-1990 Proof-read, edited, translated (from Russian) articles and word-lists, tables of phonetic correspondences written by East European comparative-historical linguists (published in vols. 20-23 of the series _Advances in Cultural Semiotics_, Bochum: Brockmeyer); formatted text and tables using Macintosh MS Word 4.0; created special phonetic characters using ResEdit. Summer 1987 Programming in Turbo Basic, designed modules of laptop PC-based Hebrew talking computer system for the speech handicapped (in a project in Israel with Michigan State University's Artificial Language Laboratory), used by a cerebral palsied Israeli boy to perform his bar mitzvah readings and speech: + designed a data structure for representing the phonemic and intonational content of Hebrew texts, including cantillation patterns used in chanting from the Scriptures. + wrote speech-production algorithms for Artic SC02 voice synthesizer chip, using above-mentioned data structures as input. + programmed head-switch operated word processor/phonetic encoder as interface for paraplegic users. + designed Hebrew font including vowels and cantillation diacritics (trope). Academic experience * M.A. in Linguistics at Indiana University, December 1996. * Passed qualifying examination for Ph.D. in Linguistics at Indiana University, December 1996. * B.S. in cognitive linguistics (an individualized program in language and the structure of thought). Residential College, University of Michigan, Ann Arbor, Dec. 1991 * National Endowment for the Humanities ``Younger Scholar'' 1990. * Studied at Moscow University, Department of Structural and Applied Linguistics, 1990-91 school year: * Participant in the High School Honors Science Program, Michigan State U, Summer 1986. + Programmed in Rascal (a Pascal / C hybrid language), debugged and developed a Macintosh-based system for a psycholinguistics experiment that studied priming effects between articulatorily similar words. Project done under Dr. Kay Bock, Psychology department. Other experience: October 1995-April 1997: Played piano for improvisational comedy troupe. February 1991 Played jazz and ragtime piano at the Leningrad Jazz Club. 1982-1988 Programmed natural language interface spy adventure simulations on Apple II computer in BASIC and assembly language: o designed data structures for representing characters, objects, object properties, locations, user's vocabulary. o wrote algorithms to manipulate these structures and give appropriate prose output in response to user's commands. o designed full sentence command parser to handle imperatve verbs, verb particles, prepositions, adjectives and conjunctions; developed routines to disambiguate homonyms and to report and identify grammatical and semantic errors in the user's commands.