Home > Software
Personal Projects
A tool for converting NellyMoser encoded FLV files to WAV.
A small X11 application that renders the Mandelbrot Set and lets you zoom around in it. I originally wrote this when I was 17, after seeing Arthur C. Clark on PBS.
A small Linux app that, when run, makes your machine appear to be anywhere you specify on the internet.
A lightweight JVMPI library that will profile thread contention points in Java code. I think I wrote this because most of the existing "enterprise" profilers did not allow you to profile for thread contention points, and those that did were too heavy-weight to accurately execute high performance server apps. I'm not sure whether this is still relevant or not.
A tool that will do a man-in-the-middle attack on SSL connections and, if vulnerable, exploit the BasicConstraints Internet Explorer vulnerability.
A web application that facilitates the existence of a distributed library of books between people's homes.
Professional Projects / Resume
Summary Of Qualifications
  • Languages/Libraries: Java, C, C++, PHP, Delphi, GTK+, xlib, autoconf
  • Operating Systems: Linux, OpenBSD, Solaris, Windows NT
  • Expert Understanding: Security, TCP, Networking, High Perforamnce Server Architecture, Asynchronous Systems
2004 Neopath Networks, Sunnyvale CA
  • Developed a high performance server architecture for aggregation and logging of network events passing through a transparent router. This used HPSA and aggregation/rollup techniques to log hundreds of thousands of NFS and CIFS operations per second to a relationaldatabase.
2000-2002 Kenamea, San Francisco CA
  • Developed an asynchronous SSL implementation capable of running in fixed memory, with batch RSA operation support.
  • Developed an asynchronous sliding-window protocol for transactionally guaranteed once-and-only-once messaging.
  • Developed a high-performance TCP connection multiplexer for supporting hundreds of thousands of concurrent connections.
  • Developed a transactional high-availablity clustering solution using the SCSI-2 RESERVE/RESET primitives and Jim Gray's defend/attack protocol.
  • Developed a reliable networking protocol for communication with RIM Blackberry devices over the datagram-based MOBITEX network.
  • Worked on transactional logging and storage layers.
  • General design and optimization of high-performance event-based server.
1999-2000 BEA WebLogic, San Francisco CA
  • Worked on code for clustering access to EJBs and Servlet Session State.
  • Gave clustering presentations.
  • General performance optimization and bug fixing.
1998-1999 Iridian Technology, Atlanta GA
  • Worked on a natural language processor for an advanced document repository.
  • Wrote a parser to process the English language and tag parts of speech.
1996-1998 Penumbra Software, Atlanta GA
  • Worked on SuperMojo, a 100% Pure Java IDE.
  • Developed a set of GUI foundation classes before the existence of Swing.
  • Developed a parser to import existing Java code into a SuperMojo project.
Plain text version available here.