To do challenging, innovative software engineering or research in an
interesting area—such as cluster/grid computing, web search,
|Education:||University of Chicago||University of Minnesota|
|Ph.D., Physics (Radial Motions in Spiral Galaxies)||B.S., Physics|
|M.S., Physics||B.S., Astrophysics|
|Experience:||Mountain View, CA|
|Senior Software Engineer, April 2011 to October 2012. Worked on main control software for Google clusters: designed and helped implement instrumentation for distributed package-loading; improved task-startup latency; extended UI; performance-tested peer-based loader; data-mined I/O and related metrics for performance bottlenecks; added low-level support for new storage hardware; mentored a new hire; managed releases on rotating basis; etc.|
Senior Member of Technical Staff ("Technical Yahoo!"), September
2004 to October 2007; Principal MTS, October 2007 to February 2010;
Senior Principal Architect, March 2010 to April 2011.
|Philips Semiconductors||San Jose, CA|
Software Architect and Research/Development Engineer, June 2001 to
|Philips Research||Sunnyvale, CA|
|Member of Technical Staff, August 1995 to April 1996; Senior MTS, April 1996 to May 2001. Researched and developed multiple projects, including Internet TV (WebTV-like prototype); GOLD, a hybrid image format designed for low-bandwidth channels (US 6,128,021); virtual communities, with emphasis on level-of-detail algorithms, scalability, and 3D navigation (US 6,270,414, US 6,765,572); the virtual CD jukebox (software design, audio codec optimization); the reliable home server, a series of Linux-based prototypes for home networking, remote monitoring, and remote control; and the context browser, a grab-bag of experimental techniques for managing large stores of text, images, audio and video clips, Web bookmarks, appointment and scheduling data, and ordinary computer files, with special emphasis on useful and natural navigation via a handheld device (US 7,047,500).|
Shareware, open-source, and free/libre software developer, 1985 to
|Additionally, research experience at the University of Chicago and NASA Ames (simulation and visualization software, including a doubly iterative fitting program for galactic dynamics, a 2.5-dimensional gravitational hydrodynamics code, and particle dynamics codes), AT&T Bell Labs, Argonne National Laboratory, and Fermilab (summers); teaching experience (electronics, modern physics, electromagnetism, freshman physics); and excellent technical-writing skills (see Publications below).|
Exoskeletal Platform for Controlling Multi-Directional Avatar Kinetics in a Virtual Environment (US 6,270,414)
|More than a dozen additional disclosures and filings (e.g., Force-Mediated [Font] Rasterization, Nonlinear Display Method for Data of Infinite Extent, Virtual Model Generation via Physical Components, GUI has Library Metaphor Based on Non-Euclidean Geometry).|
PNG Lossless Image Compression, in Lossless Compression Handbook, Academic Press (Elsevier Science), December 2002.
PNG: The Definitive Guide, O'Reilly and Associates, June 1999.
The Future of Linux, Linux Journal, October 1998.
Take Command: unzip, Linux Journal, January 1997.
Radial Motions in Spiral Galaxies (dissertation), University of Chicago Press/UMI, December 1995.
|Additional articles in Web Review, Linux Journal, and various internal technical publications.|
|Software:||Primary author of pngquant (RGBA to RGBA-palette quantization and dithering); rpng/rpng2/wpng cross-platform demo programs (Unix, VMS, Win32); pngsplit (PNG chunk-extraction utility); UnZip; gpr (ASCII-to-PostScript converter); various Unix scripts and utilities; "which" clone for OS/2; original OS/2 port of Elvis (text editor); etc.|
|Contributor to Hadoop, FreeWRL (VRML viewer), XV, intel2gas (assembler-syntax converter), Firefox/Mozilla/Netscape 6+, Arena, X Mosaic, libpng, gif2png, tiff2png, pnmtopng/pngtopnm, pngcheck, pngcrush, XPaint, giftool, Zip, lha, unrar, check/crc, file/magic, BSD mailx, BSD uuencode/uudecode (VMS port), hd (hex dumper), fm (hex editor), life (OS/2 screen saver), VMS zmodem, and others.|
|Technical:||C/C++/STL, Java, Python, x86/x86-64 assembler, some Perl, FORTRAN, VRML, PostScript; Unix/Linux and X development, 32-bit Windows, VxWorks, pSOS+, OS/2, DOS, VMS; PC, Sun, SGI, Cray, TriMedia, MIPS, and other hardware.|
This page can be found at
Last updated 7 October 2012.