(Please bear in mind this was initially thrown together for a couple of informal interviews, not carefully crafted for a formal presentation.)
Things I've done recently:
castAR -=- June 2016 - present
Software engineer on an augmented reality product.
faddenSoft -=- December 2014 - June 2016
Reprising my role as founder, chief architect, and head dish washer, I re-founded the 2002-era faddenSoft, LLC as a sole proprietorship.
Android, Inc. / Google, Inc. -=- May 2005 - June 2014
I started as a Senior Software Architect at Android, a 10-person startup. The company was acquired by Google in July 2005.2012 - 2014: System-Level Graphics
I actively assisted developers on stackoverflow.
As a result of my work at Google, I am named as an inventor on the following patents:
|Computer application pre-permissioning
Computer application pre-permissioning [continuation]
Debugger connection [continuation]
|Self-signed certificates for computer application signatures
Self-signed certificates for computer application signatures [continuation]
Self-signed certificates for computer application signatures [continuation]
FaddenSoft, LLC -=- August 2002 - May 2005
Founder, member, chief architect, and head dish washer. I worked on projects that interested me and published them as freeware or shareware on the web, and occasionally did contract work. Notables:
Technical Consultant -=- March 2005 - April 2006
Provided technical expertise to a law firm during software patent litigation.
Akimbo Systems, Inc. -=- November 2003 - December 2003
(Software engineering contract.) Developed an event logging system in C# .NET. Developed an API for engineers to use to log interesting events to a compact binary format. Wrote log harvesting and aggregation servers, as well as tools for sorting and formatting event logs.
CiderPress -=- initial shareware release March 2003, open-sourced March 2007
Developed CiderPress, a Windows application for manipulating Apple II archives and disk images. Features include a full set of archive operations (similar to WinZip) as well as Apple II-specific text and graphic file format converters. The program uses low-level I/O operations to access Apple II hard drives, floppy disks, CF cards, and CD-ROMs. Five different filesystems are supported. The project was developed in C++ (about 100K lines of well-commented source code), using Visual Studio 6.0 and the MFC library. (I did a "refresh" in early 2015 to get it working with modern compilers and tools.)
Moxi Digital / Digeo, Inc. -=- January 2000 - July 2002
Software architect and team lead. Moxi built a set-top box featuring multi-tuner video recording, CD jukebox, MP3 ripping and playback, DVD playback, and wired or wireless distribution. The device went on to win Best In Show at the January 2002 CES convention.
Moxi Digital was originally known as Rearden Steel Technologies. It was acquired by Digeo in May of 2002.
Responsibilities and achievements:
NotifyMe Networks -=- January 2000
Software engineering contract (two weeks with ongoing advisory relationship). Helped design the NotifyMe service. Developed service launcher and some service infrastructure libraries.
The NotifyMe service used a bank of outbound phone lines to provide automated, interactive customer notifications. Target customers were corporations that wanted to provide information to their customers and get simple feedback. Examples include online auction sites and furniture delivery companies.
WebTV Networks, Inc. / Microsoft, Inc. -=- March 1996 - December 1999
Software engineer in the online service development group. WebTV runs an online service, connecting users to the Internet with a television set-top box. The service was initially written in C on BSDI, but was primarily developed on Sun Solaris 2.x (SPARC).
WebTV was acquired by Microsoft in August of 1997.
As a result of my work at WebTV, I am named as an inventor on the following patents:
|US05838927||1998/11/17||Method and apparatus for compressing a continuous, indistinct data stream|
|US05940074||1999/08/17||Remote upgrade of software over a network|
|US06023268||2000/02/08||Reducing latency while downloading data over a network|
|US06230319||2001/05/08||Managing interruption while downloading data over a network|
|US06259442||2001/07/10||Downloading software from a server to a client|
|US06317792||2001/11/13||Generation and execution of scripts for enabling cost-effective access to network resources|
|US06473099||2002/10/29||Automatically upgrading software over a satellite link|
|US06614804||2003/09/02||Method and apparatus for remote update of clients by a server via broadcast satellite|
|US06779034||2004/08/17||Cost-effective access to network resources|
Catapult Entertainment, Inc. -=- August 1994 - March 1996
Software engineer in the online service development group. Catapult created the XBAND Video Game Modem and Network, a device and service that allowed owners of Sega Genesis and Super Nintendo Entertainment System (SNES) consoles to play against other users over a phone line. (Catapult was later purchased by Mpath Interactive, a/k/a HearMe.)
Highland Digital -=- June 1994 - July 1994
Software engineer. Highland Digital was primarily a Sun value-added retailer (VAR). They kept a small software team to develop products that addressed specific problems.
Amdahl Corp. -=- June 1991 - May 1994
Software engineer in the UTS System Software Group. Amdahl built IBM-compatible mainframes and software to run on them. UTS is Amdahl's mainframe UNIX product, based on SVR3 and SVR4. As demand for mainframes slowed, Amdahl began to move toward Sparc-based systems.
Things I did:
CD-Recordable FAQ -=- March 1996 - 2010(-ish)
Created the Frequently Asked Questions list for CD recording, starting with the list of questions that I wanted to have answered. The FAQ currently fills about 250+ pages (depending on how you print it), has been translated at various times into Hungarian, Turkish, Italian, French, Russian, Spanish, German, Dutch, and Chinese, and at its peak got several thousand visitors a day. Customer support organizations at major hardware and software companies regularly referred customers to it as a resource. I have been interviewed by various newspapers and made a live appearance as a guest on TechTV's "Call for Help" program.
The FAQ is converted from an ASCII text Usenet posting to an indexed, multi-page HTML format using a text-to-HTML program I wrote for the purpose.
NufxLib and NuLib2 -=- February 2000
Designed, implemented, and documented a data archiving library and application. The NufxLib library allows applications to add, extract, rename, delete, and examine the contents of NuFX archives (popular in the Apple II world, mainly for use with software emulators). NuLib2, a replacement for the original NuLib (see below), is a command-line application implemented with NufxLib. Both are available as source code on GitHub under BSD licenses.
HardPressed[tm] -=- March 1992 - July 1993
Designed and implemented "HardPressed", a transparent file compression product for the Apple IIgs. Project involved extensive patching of the operating system, development of GUI user applications, and writing lots of code that had to be absolutely reliable. Sold as a commercial product through WestCode Software.
The complete source code is available here.
Hacking Data Compression -=- October 1992 - January 1993
Developed a 12-part online course for the GEnie online service, entitled "Hacking Data Compression". The course taught compression theory and algorithm implementation, focusing on lossless data compression for Apple IIgs applications written in C or 65816 assembly.
Netrek Enhancements -=- December 1991 - May 1994
Developed several enhancements to Netrek, a multiplayer space combat game written for UNIX and the X window system. Among them:
I gave a deposition for the defense in a patent lawsuit (HearMe vs. Lipstream Networks re: US 5,822,523) where Netrek was used as an example of prior art. And again, when the same patent came up in PalTalk vs. Microsoft.
Optical Disc Jukebox Daemon -=- Spring 1991
Wrote a client library and server application to control an optical disc jukebox that the Berkeley CS department had acquired.
NuLib -=- Early 1989 - 1991?
Developed a full-featured file archiver for use with Apple II ".SHK" archives. NuLib was written in C and ported to a wide variety of different UNIX systems. The program is still in use, mainly by Apple II emulator enthusiasts, though it has largely been replaced by NuLib2.
Graduated from the University of California at Berkeley with a B.S. degree in Electrical Engineering and Computer Science, May 1991.
Outside interests include martial arts, notably Krav Maga, Muay Thai, and Danzan-Ryu Ju-jitsu. As part of my martial training I am certified in seifukujitsu (massage therapy).
I have been known to perform certain acts of interior decoration.