Objective Professional Programming Education Honors Interests Keywords References

Tim Hockin

San Francisco, CA
thockin@hockin.org

Objective A full-time position or contract work in operating system, firmware, language, or application systems design and development.

Professional Experience Staff Software Engineer, Systems Software Group
Google, Mountain View, CA (June 2004-Present)
  • Debugged and enhanced Linux kernel for Google applications.
  • Bringup BIOS and kernel on new hardware.
  • Lead a team of 10+ people, responsible for all new platform bringups.
  • Developed tools and diagnostics to help new platform bringup as well as deployed system management and post-mortem.

Staff Engineer, Linux Sofware Engineering
Sun Microsystems, Menlo Park, CA (Dec. 2000-May 2004)
  • Technical lead for Sun project to enhance autofs on Linux (dubbed AutofsNG).
  • Author and maintainer of the Linux ACPI daemon (acpid), which is shipped in most Linux distributions.
  • Consulted with groups across Sun on Linux kernel and low-level issues, including writing drivers and porting apps.
  • Maintainer of Linux's driver for National Semiconductor dp8381x ethernet controller.
  • In charge of cleaning and pushing Linux kernel patches back to the community.
  • Maintainer of Linux kernel for Sun Linux and Cobalt products.
  • Worked with key customers on Linux kernel and low-level issues.
  • Developed tools/methods for enhanced use of SunRay clients with smart cards.
  • Developed SunRay/Linux loopback audio driver.
  • Helped establish the first BitKeeper installation at Sun.
  • Lead architect for Cobalt's CCE product (part of the Sausalito architecture).
  • Developed internal software development processes.
  • Wrote several specifications for portions of the Cobalt software stack.

Systems Software Engineer
Cobalt Networks, Mountain View, CA (May 1999-Dec. 2000)
  • Ported Cobalt Linux kernel work to Linux 2.4.
  • Co-architected and implemented Cobalt's backend architecture "Sausalito" (responsible for the Cobalt Configuration Engine). The Sausalito architecture was eventually open-sourced, and is the basis for several projects.
  • Modified, debugged, and enhanced Linux kernel for various needs: network drivers, TCP stack, various device drivers, PCI subsystem.
  • Implemented Sausalito Internationalization (i18n) library.
  • Wrote Sausalito-based Active Monitor application and UI.
  • Wrote large portions of the Sausalito Developers Guide (SDK).
  • Co-developed and maintained firmware (BIOS) for RaQ3, RaQ4, Qube3, RaQ XTR, and RaQ550 products (x86).
  • Developed tools to help developers flash BIOS and use newer kernels on Cobalt x86 hardware
  • Developed PCI BIOS subsystem for x86 firmware.
  • Debugged and helped diagnose board-level problems.
  • Responsible for partial schematic reviews for new boards.
  • Maintained CVS servers for internal and external access.
  • Maintained and debugged Mips/x86 kernels and libraries.
  • Cobalt acquired by Sun Microsystems.

Programming Coordinator / Lead Programmer - Residential Computing
Illinois State University - ORL , Normal, IL (Aug. 1996-May 1999)
  • Supervised, consulted with, and trained other programmers.
  • Maintained Linux based web and multi-purpose servers.
  • Designed and implemented ISU Summer Conference Management System. Written in Visual FoxPro (Oct. 1996 - May 1999).
  • Created the application framework and standards definitions used by the programming staff at the ISU Office of Residential Life on all software projects. (Jan. 1997 - May 1999).
  • Redesigned and authored the ISU campus-wide computer lab printing solution (Sep. 1998 - May 1999).

Programming Experience
  • Active Languages: ANSI C and C++, POSIX, UNIX Shell, Awk, x86 Assembly Lex, Yacc.
  • Stale Languages: Perl, PHP, Java, Visual FoxPro, SQL, Visual Basic, some TCL/TK, Python.
  • Operating Systems: Linux (since 1994), IRIX (3 years), Solaris, most UNIXes, Windows 3.x/9x/NT/XP, DOS, some MacOS and MacOS X, Novell Netware 3.x/4.x.
  • Project Contributions: Linux kernel, GMPI, Cistron RADIUSD, Samba, shadow suite, RPM, GLibc, PThreads, GLib, GNOME, PPPd, FreeS/WAN, ethtool, acpid, SWIG, flam3, prettyprint, and more.
  • Frequent contributor to the Linux kernel in various areas.
  • Wrote the implementation of the PSet specification for the Linux kernel. Resurrected PSet as the generic procstate interface for Linux.
  • Started and lead the prettyprint project, which is a generalized system for reading/writing hardware devices in a human friendly way.
  • Made flam3 (fractal flame renderer) run efficiently on N processors. Changes mostly involved removing contended locks and using atomic operations instead. Final result is near linear speedup for N processors.
  • De-facto leader of the Generalized Music Plugin Interface (GMPI) working group (an MMA sanctioned group designing an open-standard audio plugin API), now defunct. Many of our ideas were incorporated into Steinberg's VST3 standard.
  • Released free classes, libraries, and code samples for Visual FoxPro (1998-1999).
  • Chief developer and project leader for a Java implemented Assembler and Virtual Machine simulator for the ACS curriculum (Feb. 1997 - May 1999).
  • Helped in the initial conversion of the shadow suite for use on Red Hat Linux 4.2.
  • Used ERD modeling extensively.
  • Designed and implemented a custom toy OS from scratch.

Education Illinois State University, Normal, IL
Applied Computer Science - Computer Science / Software Engineering
  • Bachelor of Science
  • Cumulative GPA 3.5/4.0
  • Art minor
  • President and founding member of ISUnix (UNIX users group) at ISU

Honors
  • ACS Department GPA 3.95/4.0
  • University Honors program
  • Honors Student Organization
  • Golden Key National Honor Society

Interests and Skills
  • OS design, parallel processing, SMP, scalability.
  • Backend and low-level systems and libraries.
  • Software Architecture.
  • Electronic music, sequencing, software-based sound synthesis.
  • Software Engineering Processes.
  • UNIX system administration.
  • Databases, data design, and data normalization.
  • Computer hardware and system architecture.
  • Industrial Design.
  • Excellent writer and communicator.
  • Great speaker and teacher.

Keywords
  • General Software, JTAG, American Arium, Schematic, Ethernet, Hardware, OOP, Entity Relation Diagrams, ERD, Internet, HTTP, WWW, NNTP, SMTP, sendmail, POP, FTP, DNS, USENET, BNF, firewall, XML, MIDI, Music.

References Available upon request.

Tim Hockin, San Francisco, CA

Objective Professional Programming Education Honors Interests Keywords References