Freelance Software Developer - October 2015 - Present
WholeCheese
iOS, MacOS, Swift, Objective-C, Python, SQLite, XML, JSON, XCTest, Git
In the App Store Now:
- • HarmonicChimes - an iPad app for exploring Just Intonation tunings with wind chimes.
Recent Clients:
- • SpeechSkills - Video capture desktop app written in Swift and using AVFoundation.
- • Brass Rat Group - Python scripts for massive XML and CSV data parsing and conversion to mySQL databases.
Github Projects: WholeCheese
- • FIFO - a thread safe FIFO queue written for MacOS in Swift
- • CSV - a fast parser written for MacOS in Swift for very large (10++ million lines) CSV files.
- • LetterPairSimilarity - BiGram string comparison written in Swift.
Senior Software Engineer - October 2006 - October 2015
Gracenote, Emeryville, CA
Embedded C, Objective-C, Open-CL, MacOS, iOS, Xcode, SQLite, Python, BeagleBoard, QT, Perforce, Agile Development.
- • Memory mapped a parallel implementation of the Philips audio fingerprint identification for 100,000 pop music tunes in iOS with Objective-C using Open-CL .
- • Wrote a Socks5 Proxy client/server for Gracenote’s GNSDK product.
- • Developed TextID mp3 music identification for the GNSDK with various algorithms for pattern matching Japanese, Korean, and Chinese unicode mp3 tag data.
- • Developed Playlist for Gracenote Device 2.5 SDK.
- • All SDK work developed on the Mac in XCode, written in embedded C, and unit tested on the BeagleBoard running Linux.
Senior Software Engineer - January 2006 - October 2006
Maxtor, Milpitas, CA.
Objective-C, C++, MacOS, Cocoa, OS X kernel extensions, IORegistry, Botan Encryption.
- • Developed the Maxtor OneTouch™ Manager for secure backup and continuous synchronization of selected file sets and folders.
- • Wrote top-level api for hard disk firmware features to support RAID 0 and RAID 1 configurations, hardware security lock, and drive diagnostics.
Freelance Software Developer - January 2004 - January 2006
WholeCheese
Objective-C, C/C++, MacOS, Cocoa, OS X kernel extensions, Python, Java, Apple Script, Encryption, RSS, XML, HTML, MIDI.
- • Developed OS X kernel extensions and user application to enable any SIP/RTP standard VoIP client to be used as a secure Internet phone. Used the Diffie-Hellman key exchange, SHA-1, and AES128 encryption. Written for Philip Zimmermann’s Zfone project.
- • Co-authored a play-list generation application that utilizes RSS internet feeds to create and upload a unique selection of music to the Apple iPod.
- • Wrote vSigX, a visual audio effects editor for the Eventide® Ultra-Harmonizer® line of digital signal processors.
- • Wrote a low level I/O package to communicate with external serial devices connected to the Macintosh USB port.
Senior Software Engineer - December 1999 - January 2004
Geac (formerly Extensity) Emeryville, CA.
Windows XP, Mac OSX, OS9, UNIX, Java, C++, SQL, DOS, csh, ANT, XML, SAX.
- • Various Java development roles on the Extensity Employee Relationship Management (ERM) application suite.
Senior Software Engineer - March 1997 - December 1999
Siebel (formerly Scopus) Emeryville, CA.
Windows NT, Mac OS9, UNIX, Java, C++, DOS and csh scripts.
- • Various Java development roles on the Siebel Service Enterprise client.
- • Various C++ development roles on the Scopus CRM client/server application.
- • Cross platform C++ development of the Scopus suite to the Apple Macintosh.
Senior Software Engineer - August 1995 - March 1997
Bear River Associates, Oakland, CA.
Mac OS 7/8, C++, Newton Script, Pascal, CodeWarrior, MacApp, MPW, Source Safe.
- • On-site contracting for a number of clients including Sonic Solutions, OpenHorizon, CalTrans, and ThunderStone.
Software Engineer - February 1995 - August 1995
ADP MarketMax, San Francisco, CA.
Mac OS7, C++, Pascal, CodeWarrior, MacApp, MPW.
- • Worked on real-time stock exchange client/server applications.
- • Ported legacy Pascal/MacApp code to C++.
Freelance Software Developer - May 1992 - January 1995
Boulder, CO.
Mac OS, UNIX, Windows, C/C++, Newton Script, HTML, SGML, Encryption, DES, RSA, MD5, CodeWarrior, MPW.
- • Developed Mac and Newton applications for Forest Software, Inc., Aspen, CO. Utilized AppleTalk, serial communications between Newton and network.
- • Contract work for Inform Technologies in Englewood, CO, and for Bell Atlantic in Baltimore, MD.
- • Wrote a Newton prototype for TCI (Tele-Communications Inc) to demonstrate wireless work order and repair transactions for field personnel.
- • Contracted at Apple's Electronic Media Lab in Boulder, CO. Primarily responsible for design and implementation of a Newton electronic mail media product in conjunction with Apple's eWorld mail server. Wrote an HTML browser for the Newton to support interactive forms and graphic images. Also wrote various C++ and FoxPro applications for the Lab's OneNet BBS support and customer billing, HyperCard and MacroMind Director prototypes of Newton products.
- • Did application testing for the book “Programming for the Newton” by McKeehan and Rhodes.
- • Wrote a data encryption product called Dropsafe for Reuters Limited that used conventional DES encryption to encrypt data files, RSA public/private key management, and Lagrange interpolating polynomials for group sharing of private keys.
Software Engineer - May 1989 - May 1992
Electronic Data Systems (formerly NEODATA) Louisville, CO.
UNIX, DOS, C/C++, dBaseIII; X Window, OpenLook
Freelance Software Developer - June 1988 - June 1989
Boulder, CO.
DOS, Mac OS, C, 6303 Assembler, Intel 8088 Assembler, Encryption, RSA, DES
- • Wrote graphics and character display firmware for an electrocardiograph monitor built around two Hitachi 6303 microprocessors.
- • Wrote various parts of Philip Zimmermann’s PGP, “Pretty Good Privacy”, including: random number generation based on keystroke latency, data compression, and uuencoding.
- • Wrote device drivers for video recorder and video printer.
- • Wrote two systems using the Targa 16 graphics board: security badges with face images; atmospheric simulation data capture to produce time-elapsed video sequences for National Center for Atmospheric Research (NCAR).
Software Consultant - December 1987 - June 1988
Esteli, Nicaragua
DOS; dBaseIII, Spanish
- • Spent six months in Nicaragua as a volunteer for the Nicaraguan Ministry of Agrarian Reform.
- • Designed and implemented an accounting package called SUCA using dBase III/Clipper for MSDOS.
Software Engineer - April 1985 - November 1987
Wild Hare Computer Systems, Boulder, CO.
UNIX, Mac OS, DOS; C, Pascal, COBOL, Data General Assembler
Software Engineer - May 1979 - January 1985
NEODATA Services, Louisville, CO.
IBM MVS, IBM 360 Assembler, C, C++, PL/I, CICS, dBaseIII, SQL, DB2
Software Engineer - July 1978 - January 1979
TELEMED Corporation, Hoffman Estates, IL.
Interdata 7/32 Assembler