|
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 |