Erik Gilling

konkers@konkers.net
(415) 845-8143
http://www.konkers.net/resume.html
Objective A full-time position or part-time contract work in operating systems, firmware, or application systems design and development.
Skills
  • Languages: ANSI C, C++, POSIX, Assembly (ARM,x86, mips), Verilog, VHDL, Java, UNIX Shell, Perl, Python (Django), Ruby (Rails), PHP
  • Operating Systems: Linux, Solaris/SunOS, MacOS, Windows, most UNIXes, DOS.
  • Design Tools: Cadence Concept HDL and Allegro
  • Microcontrollers: ARM, AVR, and MSP430
Professional Experience Lead Firmware Engineer
OQO, Inc. San Francisco, CA (August 2004 - Present)
  • Responsible for coordination, scheduling, and deliverables of 3 person Embedded Controller team.
  • Participated in design of Model 02 Embedded Controller architecture based on NXP LPC2138 ARM7.
  • Implemented major parts of the Model 02 Embedded Controller software including the base real-time OS, driver support, ACPI integration, capacitive touch scrollers, thermal management, power management, and firmware upgrade mechanism.
  • Designed external hardware debugging board for Model 02. Designed schematic, worked with layout contractor, brought up board. Board included: BIOS ROM socket, SuperIO to add UART for BIOS and Windows Kernel debugging, FPGA to interpret and display port 80 post codes, 2 FTDI FT2232 USB UART chips, and a USB HUB.
  • Assisted hardware team in bringup of Model 02
  • Brought up Model 02 DDR2 DRAM Subsystem. Fixed bugs in vendor supplied DRAM init code. Evaluated signal integrity. Worked with Electrical Engineer to define DRAM module layout requirements to address reliability problems.
  • Worked on Model 01+ BIOS including adding USB 2.0 support.
  • Got OQO Model 01 BIOS production ready and sustained it through the product life.
Software Engineer, X86 Edge Servers Group
Sun Microsystems, Inc (formerly Cobalt Networks), Menlo Park, CA (March 2001 - August 2004)
  • Lead Engineer on an advanced system installer project addressing customer feedback related to difficulties installing Linux onto state-of-the-art hardware. Used a combination of library interposition and kernel hacks to run the RedHat and SuSE installers unmodified in a sandbox while maintaining control over the installation process.
  • In charge of driver hardening, validation, and release of SCSI and ethernet drivers on SunFire V60x and V65x servers. Co-ordinated with hardware vendors to root cause and fix driver bugs.
  • Participated in the product concept phase of an intelligent gateway product. Added ramdisk boot from ROM support to the Cobalt firmware. Created a small embedded Linux distribution based on Debian Linux.
  • Played a key role in firmware and kernel development of the Cobalt RaQ 550. Aided in schematic review. Brought prototype hardware up from first power on to running Linux in under 24 hours. Fixed firmware and kernel bugs. Added wake-on-LAN/alarm and ACPI support to the firmware and kernel. Created an automated build environment for building kernels and firmware.
Software Engineering Intern
Cobalt Networks, Inc, Mountain View, CA (1999 - 2000)
  • Handled bring up and firmware development for the Cobalt RaQ XTR. Wrote memory probe and configuration. Added SMP support to the Cobalt firmware.
  • Aided in schematic review and caught mis-run traces related to USB and ACPI.
  • Wrote firmware for Cobalt RaQ 3 from scratch. Firmware included memory probing, PCI initialization, Linux kernel loading, and re-flash support.
Web Developer
Wolfram Research, Inc, Champaign, IL (Summer 1996 - Fall 1998)
  • Developed many internal and external web applications including an email archive, customer request management system and a reseller database.
Student Research Programmer, Resource for Science Education Program
National Center for Supercomputing Applications, Urbana, IL (Summer 1995 - Fall 1996)
  • Worked with the education outreach group at NCSA to facilitate area high school's use of technology in the classroom. Worked with the Urbana High School physics program to create student developed web based homework.
Projects
  • Designed an open source High Power Rocket deployment altimeter (Flightcon)
  • Wrote an open source real-time OS for ARM based microcontrollers (luwak source)
  • Wrote utillity to program Atmel SAM7s ARM microcontrollers with support for OSX, Linux, and Windows(sam7utils)
  • Wrote a clean simple UNIX based PXE (net booting) server (neopxe)
  • Contributed code to Linux kernel.
  • Wrote a library for creating text based UIs. Originally targeted for use by the UIUC Linux installer.
Education University of Illinois at Urbana Champaign
Computer Science
  • Areas of emphasis: Operating Systems, Networking and Hardware
  • Chair of student chapter of ACM with 200+ members
  • Chair of Reflections | Projections 2000 ACM Student Conference.
Keywords
  • Hardware, Bringup, TCP/IP, OOP, HTTP, WWW, Kernel, BIOS, Firmware, Drivers, sendmail, SMTP, FTP, DNS, DHCP, Linux, Microcontroller, ARM, AVR, MSP430