- Designed and implemented Effects Engine (with team of 2 other people)
- Hierarchical node graph with attribute linkages and lifecycle (with team; all remaining items are individual)
- XPath-inspired 'node' & 'attribute' path lookups
- Hierarchical profiling tool for C++ and scripts
- Meganodes - new nodes implemented on top of system using existing nodes and scripts (patent #7428542 issued)
- Remote debugger
- Shared library plugin API
- Exposed portion of API via Python
- Implemented video load and saving, audio playback
- Trained third party developers on using the system
- Embedded Perl as scripting language using Inline and SWIG
- Constructed framework to automatically produce releasable modules and shared libraries from Inline::CPP-style annotated source. Release versions do not depend on Inline.
- Implemented debugger support for application via DB.pm
- Exposed full API to internal C++ node structure, as well as OpenGL and FFmpeg libraries
- OpenGL graphics programming and scripted behavior
- Implemented a LightWave3D model import and rendering component
- Implemented GLSL shaders for various visual effects
- Implemented simple GLSL templating system
- Enhanced the leading open source Perl OpenGL library
- Implented pie menus, traditional menus, circle gesture recognizer, timelined behaviors, exploding frogs
- Implemented XML dispatcher to bridge between Flash player and other applications
- Involved use of asynchronous JavaScript XMLHTTPRequest calls to bridge between Effects Engine, web browser, and Flash plugin
- XML dispatcher also used to combine multiple Effect Engine instances into a larger display
- Deployed and heavily customized Tinderbox to perform automated builds and run smoke tests
- Replaced email-based communication with XMPP (Jabber) messaging (produced CPAN module Net::Chat::Daemon)
- Designed and implemented simple but flexible test harness
- Integrated instant messaging to notify of build or test breakages, and to control builds
- Integration with our revision control system to send "blame" and "praise" emails
- Allowed tests to run remotely on test server
- Extended to generate final build packages
- Maintained and extended internal Wiki used as primary document repository
- Wrote migration scripts to transfer data from legacy wiki
- Implemented "filter" pages containing Perl scripts used to filter other pages
- Used the above to integrate bugzilla bug descriptions with Wiki pages
- Used the above to implemented partial page includes
- Implemented an instant messaging interface for monitoring changes
- Audio playback
- Wrote installer and kernel configuration system for ALSA (Linux sound driver)
- Implemented clip manager for GStreamer framework
- Wrote graphical, Curses, and command-line managers for external speaker using serial communication
- Wrote Linux kernel module for identifying USB serial ports
- Wrote monitoring daemon for detecting hardware and software problems with audio
- Designed and implemented camera-based volume control solution
- Other tool design and development
- Heavily extended NaturalDocs to provide easy documentation generation for our components
- Wrote OpenGL save-to-video functionality
- Wrote scripts for making available appropriate builds for different OSes, architectures, and releases
- Wrote content packaging and testing tool
- Created bootstrap software and procedure for hardware manufacturing, trained third-party contract manufacturer's QA team
- Created custom kickstart CD with automatic rebuild partition and state preservation
- Implemented fallback CD-based content distribution system (and much of network-based system)
- Camera driver development using Linux V4L2
- Served as interim IT department during early stages of company
- Wrote popular newsletter to communicate engineering progress and goals to creative department
- Ported system laptop for salespeople