I graduated from Grand Valley State University in 1996. While there I presented a paper at the National Conference on Undergraduate Research based on work in Distributed Genetic Objects. I also created a motion detection and tracking system on a NextStep system using Objective-C.
I joined the National Security Agency in 1998 as a Computer Scientist, working at Fort Meade, MD.
In early 2000 I joined Carl to work for a small startup, deltamode, Inc. While at deltamode, I created a variety of Java SOAP services, including directory, identification, and security management. I implemented an X.509 PKI using Java JCE and JSSE, and designed a remote certification generation scheme for authenticated, distributed nodes in the system. I also created an automatic firewall tunneling and redirection service which allowed a distributed system to operate transparently and securely across heterogeneous networks.
deltamode ran out of money in 2001. Carl and I started Atomic Object that Fall.
My role at Atomic Object today is as a Molecule Lead. That’s our designation for a senior developer whose job, in addition to day-to-day programming, is to also manage a set of customers and their projects.
Some of the interesting things I’ve worked on at AO:
- Applying Agile practices to embedded development. This spawned the Unity and CMock projects (a tiny embeddable unit test library for C, and a mock generator for C).
- Creating a nice burndown Numbers file for project management which has been very helpful for estimating and tracking projects.
Some of the conference I’ve presented at:
- OSCON 2007 - Improving the Embedded Development Process
- RubyConf 2007 – Enhancing Embedded Development with Ruby
Selected (personal) software projects:
- JBooks – Java-SQL based personal finance application.
- btty – software Baudot TDD/TTY modem
- dict – URL protocol handler for Java
- Phone Machine – Java voicemail/fax GUI frontend to vgetty
- docgen – Objective-C source code documentation generator
- Dog Daze – side scrolling jumping game for TRS-80 Level II Basic