
Software Architect and General Purpose Hacker
San Francisco Bay Area

Software Architect and General Purpose Hacker
San Francisco Bay Area
Experienced software engineer focusing on software architecture. Can work on any platform; prefer Linux or Solaris, plenty of experience in abstracting the differences between Win32 and Unix. Strong background in WWW technologies. Interested in innovative early-stage startups where I can make a strong contribution to the software infrastructure and corporate culture.
C++, object-oriented design, cross-platform development (especially between Win32 and many varieties of Unix), world wide web, documentation, learning new technologies on short notice
(Privately Held; 11-50 employees; Computer Software industry)
August 2004 — Present (4 years)
Creating tools for distributed builds. Dealt with Windows ACL
complexities. Added file system filter driver functionality to a Windows file system driver. Created and maintained unit tests for bugs fixed and features added.
(Public Company; 1001-5000 employees; EFII; Computer Software industry)
October 2002 — August 2004 (1 year 11 months)
Designed, implemented, and documented cross-platform C++ abstraction layer to hide differences between Win32 and Linux. Wrote a C++ wrapper for undocumented memory management API and used it as a framework for Doxygen documentation. Created a flexible multithreaded rule-based filter pipeline for processing data streams. Maintained and extended the build system (written in GNU make), and converted several large legacy projects to the current build system.
(Privately Held; 11-50 employees; Computer Software industry)
August 2000 — April 2002 (1 year 9 months)
Wrote code to manage Bluetooth-to-IP gateways and providing content for WAP and HTTP clients, including a man in the middle TCP redirector to send a clients first outgoing HTTP connection to a page specified by the owner of the access point and a sample Apache Tomcat module to generate a link to the clients original destination. Set up CVS source control system, created scripts to perform automated nightly builds for VxWorks Tornado. Wrote RADIUS and TACACS+ clients and Cisco Discovery Protocol broadcaster for VxWorks. Created SNMP MIB to manage Bluetooth access point and implemented it using WindNet SNMP. Created HTTP and TELNET servers for configuring access point. Created cross-platform (Win32/Linux) raw socket library for Java using JNI and embedded it in a signed applet (with automated library installation) using a Swing GUI.
(Privately Held; 51-200 employees; Computer Software industry)
July 1998 — July 2000 (2 years 1 month)
Built web server plugin tools for content management, using an API abstraction layer (including a C++ streambuf implementation) to hide the difference between NSAPI, ISAPI, and Apache. Projects included HTML and PDF searching and hit highlighting, a Class 2 WebDAV implementation, interfacing with Windows NT, NIS+, and LDAP authentication protocols, wiring an XML parser into the product, writing C++ modules to extend server-side JavaScript functionality, and using undocumented XDR routines to cache compiled JavaScript. Responsibilities included generating architectural specifications, writing documentation, acting as technical liaison to our own consulting staff and technical personnel at partner companies, administering two Solaris systems, arranging all code to run under both Solaris and NT, and creating cross-platform libraries of utility classes.
(Privately Held; 51-200 employees; Computer Software industry)
February 1997 — July 1998 (1 year 6 months)
Built tools using NSAPI to serve stock quote information over the web. Created a great deal of documentation to help new hires orient themselves. Created a client/server interface to an Oracle database, laying the groundwork for caching frequently updated information. Served as project lead coordinating marketing and engineering to design and construct a client/server system integrating Java applets in customer web browsers and a C++ server infrastructure on site. Inherited the news system when the previous responsible engineer left, handling the issues of bringing twenty heterogeneous sources of news articles into a central database; documented unexplained code, produced a comprehensive diagram of information flow and system usage in the news system, wrote tools to simplify recovery from errors, improved error reporting and reliability, and created a variety of solutions to pre-existing problems.
(Privately Held; 51-200 employees; Computer Software industry)
February 1996 — February 1997 (1 year 1 month)
Built installers that upgrade existing games to Mplayer compatibility and walk novice users through the process of upgrading their Windows 95 system to connect to the Internet. Designed flexible UNIX-based multithreaded server stress-testing software to simulate massive user loads and track down inconsistent operation. Created HTML documentation for internal libraries that was later used as reference material for new development partners.
(Public Company; 51-200 employees; VRTY; Computer Software industry)
July 1994 — February 1996 (1 year 8 months)
Designed cross-platform graphical front ends to Verity's search engine. Created Motif applications running on four different breeds of UNIX, including hybrid make environment (using GNU make) and source control scripts (in csh and perl). Led project (coordinating Mac and Windows specialists) creating C++ application frameworks for cross-platform use on UNIX, Macintosh, and Windows 95/NT; utilized said frameworks in building a cross-platform Web browser-based search application. Documented internal tools and acted as liaison to Documentation for projects I participated in.
BS, Physics, September 1989 — April 1993
Physics, Mathematics, Computer Science June 1988 — August 1989
Studied lower-division curricula in math, physics, and computer science while attending high school.
nanotechnology, memetics, the future, "smart mobs", trust networks, software architecture, open source, history, science fact, science fiction, forteana, electronic music, maine coon cats, nonlinear thought, historical costume and dancing, games, anthropology, sociology, psychology, linguistics
IEEE, ACM