Experience
Software architecture
- Petabyte-scale video capture, machine inference, distribution and storage system spanning multiple geographic regions
- Architecture and implementation of a logging, postprocessing, and visualization engine for sensor array data used in 3d mobile mapping
- Custom application representing the core of an Internet Software Provider business, designed to manage service provisioning, billing, usage monitoring, and CRM
- Multiprocess queue management system in Perl for high-volume, fully redundant SMS delivery for a telecommunications company, supporting message prioritization, concurrent delivery with order preservation, and comprehensive auditing, at rates of up to 10 million messages per day
- Telecommunications billing system supporting realtime querying and updating
Development
- Computer vision algorithm implementations on servers, mobile, and edge devices
- Psychological response modeling and gesture detection for interactive educational applications
- High performance logging module for a C++ application requiring high data integrity coupled with extensive realtime processing to enable sensor status monitoring
- Asynchronous messaging core for a distributed Python application, replacing the Twisted framework with a simpler piece of code providing 10 times the message throughput
- Database abstraction layer in Python allowing communication with a range of database engines, providing lightweight and flexible ORM capabilities
- Manufacturing queueing system in Java allowing realtime measurement of production efficiency and order tracking
- Topical, threaded email discussion system in Java with web mirroring and automated attachment processing
Languages
- Rust
- Python
- JavaScript
- C++ (STL, Boost, Qt)
- Java (JSP, Swing, Spring)
- CUDA
- Objective-C (Cocoa)
- Perl (mod_perl, DBI)
- PHP
- Ruby (Rails)
- SQL (PostgreSQL, MySQL, Sqlite, Oracle)
- [and many more]
E-commerce
- Complete online store in Ruby on Rails for a clothing company, from product browsing to shopping cart, checkout, and order tracking
- Music jukebox browser, provisioner, and account manager in Java for managing added services for a telecommunications company
- Movie rental database for a local video store, allowing renewals, reporting, and other standard features
- Secure order transport system between online orders site and manufacturing and accounting systems
Customization
- Support for transformation between a number of geographic and projected coordinate systems in a Qt application
- Extensive upgrades to X-Cart PHP shopping cart system for a green delivery company, adding support for geographic delivery areas, deferred date deliveries, tipping, order lead time calculations, customer notes, multiple suppliers, and other features
- Updates to SMS processing system in Perl allowing multimedia messaging, additional message formats, and advanced routing settings
- Enhancement to monitoring system to allow escalation of outage notifications
Systems
- Law office WAN with centralized database, plus secure VPNs allowing access from 12 satellite offices
- 150 node Ethernet LAN with managed Internet access, including access control, firewall, and local web caching
- Maintenance and configuration of FreeBSD, Debian Linux, and Solaris servers running database (PostgreSQL) and server (Tomcat, Apache, Exim, Subversion) software
- Grabango (Berkeley, CA)
- OMGyes (Berkeley, CA)
- Amazon A9 (Palo Alto, CA)
- The Blindsight Corporation (Berkeley, CA)
- 510 Systems (Berkeley, CA)
- Go Green Go (Berkeley, CA)
- Catalyst IT Ltd. (Wellington, New Zealand)
- Fairfax Media (Wellington, New Zealand)
- OneSquared Ltd. (Wellington, New Zealand)
- Telecom NZ (Wellington, New Zealand)
- CWA New Media (Wellington, New Zealand)
- Timbuk2 Designs (San Francisco, CA)
- Pharsight Corp. (Mountain View, CA)
- Simplexity (Reston, VA)
- UC Telecommunications Co. (Berkeley, CA)
- Maintenance Warehouse (San Diego, CA)