Dan Lyke resume

Resume/CV for Dan Lyke

I hate to do this, because I really do think people should host their own stuff, but https://github.com/danlyke (even though all that code could use a clean-up... all code can).


Recent languages include Perl, C, C++, Objective-C, C#, SQL (mainly PostgreSQL and MySQL), and a little bit of boilerplate JavaScript. Recent environments include Linux (both embedded, Ubuntu and SL), Microsoft Windows & .NET, Macintosh OS/X, and iOS. Have worked with Atmel AVR assembly, with Python, x86/MMX assembly, Java, PL/I, a few variants of Pascal, a BASIC or two, xBase, and several assembly languages.

Other buzzwords: I've worked with XML, XSLT, CSS and JSON; written programs which use HTTP, NNTP and SMTP protocols and OpenGL, DirectX and Glide, and RenderMan APIs; am familiar with XML-RPC and REST, and have used SOAP; when necessary, I've designed circuits and built hardware. I've also played with the basics of geography, datums, projections and the like.

Personal Projects

The Flutterby.com weblog CMS is written in Perl and PostgreSQL under the Apache and mod_perl environment, and features multiple contributors, automated topic assignment, HTTP and NNTP interfaces, along with assorted XML-RPC web services.

Assorted other projects, from an irrigation controller to a static site generator are out there, alas with no other users yet.

Patent 9,360,737: Collapsible light box, from my work building prototypes for the Shotbox.

Work History

June 2016 - present: SpeedGauge.net

Just started

February 2012 - June 2016: Sonic.net

Developing internal business process systems in Perl, MySQL and an internal RPC protocol, on Linux. The systems are incredibly complex, with processes that run for days, include lots of humans in those processes, across many different (mostly in-house) applications. Some coordination with external SOAP APIs.

Responsible for the equipment rental tracking system, currently refactoring large portions of the accounting/bookkeeping system.

April 2008 - Flutterby.net, my consulting company

Took a few side-projects full-time. Projects have included: research for transportation policy reports presented to federal agencies; firmware on ARM, AVR and embedded Linux on ARM platforms; a distributed back-end for information sharing for an astronomical imaging application (still in development); software on a variety of user devices from C# .NET on Windows to C++ and Objective-C on the iPad and OS/X Cocoa environments.

April 2005-April 2008: Digital Fish

Worked on Reflex, an animation system for movie studios. Added features and optimized expression graph evaluation, did some work on a Maya export plugin.

July 2004-April 2005

Worked on a photo manager to that understood geography. Couldn't figure out how to turn it into a business. Assorted other work, including some demonstrations for using game platforms and GPS enabled handheld devices for tactical awareness systems in urban combat.

Somewhere between here and Flutterby.net I also wrote some YADIS conformance tests for VeriSign. YADIS is the discovery portion of OpenID.

June 2002-July 2004: Alvanon

(fit mannequins and products for the fashion industry)

Developed hardware and software for the Garment Visualization System, a tool for remote garment fit verification and evaluation. Implemented motion control, including circuits, mechanical drawings and communications with overseas factories, and camera control for manipulating and photographing mannequins. Worked with C# based .NET applications, embedded Linux, and Atmel AVR.

June 2001-June 2002: Gracenote

(the CDDB music database people)

Worked on "Service 3", the XML based distributed database replacement for Oracle for CDDB. System is written in heavily threaded C, answering millions of authenticated queries per day. I wrote the multi-threaded distributed dispatching system that's the core of every message that passes through the system, and the Perl that builds C code to to simplify using XML.

May 2001: exploratory coding for a bio-informatics startup

Software for examining datasets such as those derived from gene expression, operations like principal component analysis (PCA) to find vectors of most import in thousands dimensional spaces.

February 2000-April 2001: Coyote Grits LLC

(contract software developers)

Founding partner in a software contracting company creating solutions for a diverse set of clients. Managed and coded on projects which mostly involved Perl on Apache or CGI, with forays into Java, TCLOAD (for VeriFone TRANZ credit card processing). Did training and mentoring to turn relatively junior people into productive assets during that time of extreme worker shortages.

August 1995-January 2000: Pixar Animation Studios

("Toy Story", "A Bug's Life",...)

Graphics R&D/RenderMan Group: Implemented a new internal API for image output which allowed arbitrary channels (more than just RGBAZ), quick implementation of new formats, different regions of images coming from diverse remote sources. Ported RenderMan to Windows NT.

RAPIX Real Time Rendering group: We developed a cross-platform (Windows, SGI, Mac) framework for real-time 3d rendering and scene description. The framework mixed renderers like OpenGL and Glide with home-grown ones, one built for detailed characters gave us extremely high triangle rates (500k/sec on a P133). I wrote Windows code, implemented the feudal priority tree algorithm, and used MMX assembly language to get those extreme triangle rates.

Interactive Group: Wrote the QuickTime for Windows codecs for Pixar's proprietary "PIX" video system, and helped develop extensions to that format, some audio filtering, some installers and uninstallers, and a few of the scenes and segments of the best selling CD-ROM based games "Toy Story Animated Story Book" and "Toy Story Activity Center".

August 1993-August 1995: Hacker for Hire

(contract software development)

Wrote contract code in C, C++, Borland Paradox and xBase variants, with a few Novell installations, a little work with embedded controllers, and hardware and software maintenance. Highlights include research for a terrain displaying game engine for a startup, (discussion of which on comp.graphics.algorithms lead to my job at Pixar), an HTML browser for the TBBS/TDBS online system, a carpet design system interface to a tufting machine controller.

August 1993-August 1995: Chattanooga On-line

(a successful regional ISP)

Founded and helped run Chattanooga On-line (chattanooga.net), a regional Internet service provider. I was the heavy technical person in a team of two which implemented and ran a full-service ISP: TCP/IP, Smail (for SMTP and UUCP mail), INN (for NNTP news), NCSA HTTPD (an early web server), RADIUS (for dial-up user authentication) and BIND (for name services).

July 1989-July 1993: Signal Data

(software and data services for health insurance agents)

Lead programmer for Signal Data Inc. of Chattanooga, TN for their GROUPS4 software. My accomplishments include: Writing and maintaining 250,000 lines of C code and coordinating internals in a multiprogrammer project that exceeded 400,000 lines of code, a compacting handle based heap manager, rebuilding and handling b-Tree indexes independent of the commercial database manager (C-Tree), a test system that allowed replay of multiplexed user events and database accesses from multiple workstations to debug potential multi-user issues, and a windowing system which allowed high speed no flicker updates of partially obscured windows, and making the whole thing run in 490k of memory on a 4.77MHz 8086.

Pre April 1989

Whitewater and high adventure guide for High Country Outfitters and Outdoor Adventures (http://www.raft.com), both in Benton, TN.

Assorted projects done in and around college: implemented a payroll to general ledger system for GE Ceramics in C under the VMS operating system that talked to big IBM systems; presented papers to national and international conferences at various universities around the country pertaining to my previous years work on animation on microcomputers for physics instruction done with Dr. Eric Laine under a University of Tennessee at Chattanooga Provost Student Research Award; the usual stint in computer sales for a small retail store; darkroom and press experience in a printing shop.

Additional Personal Projects

Ongoing Coding

Trying to figure out how to launch and publicize an open source C++11 library that I'm using as the core of two projects:

  • web controlled irrigation controller.
  • the content management system which runs Flutterby.net

The impetus for the library was realizing that every time I wrote something in Python or Perl, eventually I wanted performance and/or typed data, so I may as well build a library that made it as easy to whip together small projects in C++ as it is in Python or Perl.

September 2010 - May 2013 - Family Build Night

Family Build Night was a program Charlene and I ran to do crafts and build things with kids and families that have been through the COTS programs and are now in permanent housing. This eventually morphed into getting those kids involved in 4H, and then collapsed because we just ran out of energy to wrangle parents.

July 2009 - July 2012 - Petaluma Technology Advisory Committee

I served on the Petaluma Technology Advisory Committee for 3 years and resigned to further pursue ways to bring open data and tools to our understanding of muniipal government.

June 2006 - August 2007 - Marin Century

Volunteered to take a rest stop, ended up Volunteer Coordinator for two years. Involved coordinating the schedules and locations of 160 volunteers for an event with around 2700 participants.