Rob Landley, Programmer
rob@landley.net (512)297-3474
SUMMARY:
Linux Programmer with speaking, writing, and project management skills.
Multiple programming languages (C, Python, shell scripting, Java), and areas of expertise (embedded, system integration, cross compiling, network administration, CGI scripting, kernel tweaking, SMP/threading). Also college instructor, columnist, and convention organizer.
PROGRAMMING WORK EXPERIENCE:
- 2008 Position: Linux Consultant for Oxford Consulting.
- 2007 Position: Fellowship from the Linux Foundation
- Project: Linux Kernel Documentation. Six month fellowship
to create and maintain a central kernel documentation website, improve and
maintain existing documentation and related tools, and write new documentation.
See "http://kernel.org/doc", the source control repository at
"http://landley.net/hg/kdocs", and May-Oct 2007 in the mailing list archive at
"http://marc.info/?l=linux-doc".
- 2006-2007 Position: Embedded Linux Developer for
TimeSys
- Project: "BusyBox" 50% of work week spent maintaining BusyBox.
- Project: "TimeSys LinuxLink" General embedded Linux
development. Acted as domain expert in uClibc and initramfs, worked on
cross-compilers and system integration, wrote test software, helped design new
build system, spoke at CELF and OLS, answered customer questions, wrote
documentation, added Mercurial support to source control system, did Linux
kernel development, created a minicom replacement to improve boardfarm
automation, etc.
- 2005 Position: Programmer for Giganews
- Project: "GCF support". Implemented (in Perl) a dozen
test cases for GCF (usenet NNTP forwarding software). Wrote (in C) a
statistical usenet spam filtering plugin for GCF.
- 2004-2005 Position: Consultant at Dell
- Project: "Rogers" Hardware diagnostic software for
SCSI/SAS RAID. Implemented a C++ plugin library according to Dell's existing
design, for marshalling data between device firmware (third party binary) and
various user interfaces (web based, command line, and standalone Java
application).
- 2003-2004 (Consulting work still under NDA).
- 2001-2002 Position: Head programmer for WebOffice
- Project: "iLand gateway" A single box firewall and
fileserver for small offices. Web-GUI administration (through Apache with
Python CGI), Virtual Private Network (DNAT+SSH+netcat), Network Attached
Storage (Samba and custom file transfer CGI), DHCP, Bind, PostgreSQL, root
partition on loopback mounted zisofs allowing "firmware upgrade" (whole OS
upgraded by replacing GPG signed file). Based on a custom "Linux from Scratch"
system with the 2.4 kernel. Designed, implemented, documented, and created
manufacturing process for this project.
- 2000 Position: Head of Linux Development for BOXX
Technologies, a high-end graphics/video hardware start-up.
- Responsibilities: Supervised two people,
system configuration/tuning/testing, some software development (C and Java),
design of new release management process, customer support/firefighting.
Convinced Boxx to reconsider exclusive relationship with Intel and try AMD
Athlon, resulting in Boxx and Tyan co-designing the first dual Athlon
motherboard (OEMed as Tyan Thunder).
- 1999 Position: Consultant with Enscicon at
Trilogy for IBM.
- Project: "Order Processing and Forwarding", Java based
client/server project connecting IBM's sales and shipping SQL/MQSeries
databases. Deployed on AIX and NT.
- 1998 Position: Contract programmer for Alternative
Resources Corporation.
- Project: 6 month contract at IBM to resume work on
"Feature Install" (see 1995) to support several new OS/2 products.
- 1998 Position: Head programmer for Quest Math &
Science Multimedia.
- Project: "Interactive Diagrams", a series of 45 Java
applets for a Pre-calculus tutorial on a CD bundled with a McGraw-Hill textbook.
- 1995-1997 Position: Full-time development programmer
at IBM.
- Project: "JavaOS Application Bringup", debugging JavaOS on
Power PC and Intel clients, ensuring compatability with multiple third party
java applications.
- Project: "IBM Software Choice", for purchasing and
installing IBM's OS/2 software via the World Wide Web (using Feature Install
engine controlled via Netscape plugins).
- Project: "Feature Install", 32 bit Corba compliant OS/2
install, uninstall, and system inventory software used to install "Falcon"
(OS/2 for Power PC) and "Merlin" (OS/2 Warp 4.0).
NON-PROGRAMMING WORK EXPERIENCE:
- Adjunct faculty member at Austin Community College
(1998-2000), teaching "Intro to Java", "Unix Operating
System I", and "Multiuser Operating Systems".
- Stock market investment columnist for The Motley
Fool at www.fool.com from 1998-2000.
- Convention Organizer: Penguicon and Linucon.
Co-founded Penguicon in Michigan in 2003 (still going, see www.penguicon.org),
founded and chaired Linucon (a 501c3 non-profit) in October, 2004.
- Technical Editor for the "The Art of Unix Programming", by
Eric Raymond.
- Wrote documentation for Linux kernel. See
"http://landley.net/writing/" for examples.
- Presented two tutorials ("Populating Initramfs with BusyBox and uClibc"
and "Introduction to cross-compiling") at Ottawa Linux Symposium in 2006 and
2007.
NON-WORK (OPEN SOURCE) PROGRAMMING EXPERIENCE:
- busybox Starting in 2003, extended busybox to fully
replace the corresponding GNU tools in a development environment (for Firmware
Linux), and for SUSv3 compliance. Wrote new versions of sort, sed, catv,
dmesg, halt, count, losetup, mdev, mkswap, mount, nc, poweroff, reboot, seq,
switch_root, umount... Re-implemented Julian Seward's bunzip2 algorithm: the
version now in busybox compiles to less than 7k and is over 10% faster. Became
BusyBox maintainer for versions 1.01 to 1.2.2.
- Firmware Linux My own distribution, an entire
Linux system in a single file: kernel+initramfs+squashfs (root partition
based on busybox+uclibc+2.6 kernel). With development tools (gcc, binutils,
make) it is capable of recompiling itself under itself. Boots using a modified
version of LILO (added a "size=" parameter). Build process uses User Mode Linux
to mount and chroot without needing to run as root, and to portably produce a C
library optimized for a newer kernel version than the host system needs to run
on. New version under development cross-compiles for x86 and uses QEMU instead
of UML. See "http://landley.net/code/firmware" for details.
- Too many others to list...
FORMAL EDUCATION:
- 1997-1998, 2003-2004 - Enrolled at the University of Texas at Austin, as a graduate student in Computer Science. (Withdrew due to work commitments both times.)
- 1999-present - Periodic Linux seminars at Atlanta Linux Showcase and Linux World Expo.
- 1995-1997 - IBM internal courses in SOM, OS/2 PM, and Java.
- 1992-1995 - Bachelor's degree from Rutgers University (Camden, NJ). GPA 3.419, Majors in Computer Science and General Science, minors in Math & English.