This portfolio represents my best work and supplements my resume
I worked at San Francisco Rackspace and helped the teams previously known as Cloudkick integrate and build new products for Rackspace. I started at Rackspace as the “Engineer of Developer Happiness” and I built systems and tools to keep developers happy, keep development buzzing along and get code deployed as quickly as possible.
Later I worked with the Rackspace Cloud Monitoring team to get the on-server monitoring agent built and into customer’s hands. This required a lot of interesting engineering work mostly in C and lua. Along the way we contributed to a platform called luvit and all of agent code is open source too.
I worked for SuSE Labs, part of Novell, to maintain enterprise Kernels, improve the Linux Plumbing and make openSUSE rock!
Work inside the labs included:
- acl and attr utilities
- network driver maintanence for SLE
- video4linux maintainanence
- improving v4l in the commmunity
- packaging and patching tools within SLE/openSUSE
There is a great ethos within the company and SUSE Labs to do the right thing in the community. Which means I got to work on upstream code when I wasn’t too busy with SLE.
IBM Linux Technology Center Internship (2006)
Genetic algorithms have been applied to a variety search problems in computer science. It was my task, during the summer of 2006, to apply a genetic algorithm to the O(1) CPU scheduler and dynamically tune it to improve throughput. Although the results of this experiment were inconclusive, the experience of writing Kernel patches, improving the genetic library, working with Jake Moilanen, and going to the Ottawa Linux Symposium secured my interest in the Linux Kernel. Furthermore, I had the opportunity to contribute a number of patches and testsuites for autotest, a new testing framework for the Linux kernel.
NASA Goddard Robotics Internship (2005)
This motion history image of my hand represents the great amount of work I put into creating a hand tracking and recognition program while working at Anthrotronix. In ten weeks I had a working demo of tracking a human hand and using that as a computer, or robot, input device.
Also during the internship I had a hand in the design of the electronics and software for ARCHIE, a robot chassis for human interface experiments, which will serve Anthrontronix as a platform for experimenting with their multitude of interface devices. To demonstrate the robot we interfaced it with Anthrontronix’s weapon mounted joystick
Reed eVentures and OHSU contacted me in mid-2004 about writing a daemon that would run on Windows, Linux and Mac OS X to control communications between several testing applications and a USB HID device called a 9-button. I worked as a contractor to develop this software against changing requirements and delivered a stable dependable daemon which compiled and ran on all three platforms. Both customers were pleased with the results.
The source code from this project is licensed under the MIT license and can be found here. It is a good example of using libusb, pthreads and sockets; and provides the framework necessary for compilation on the three major platforms.
Developing the software for this project was challenging and fun! Over the course of several months I worked on integrating all of the control and sensor components together into a scripting language, debugging tools and GUI control interface that helped the team win 1st place and Judges’ Choice at the RI/SME competition in Rochester NY in 2003.
The 2007 Linux Storage and File Systems Workshop- A summary of the LSF 2007 workshop I wrote for Linux Weekly News, which aims to be the premier news and information source for the free software community.
One tiny daemon to harvest your server statistics (and more) - This was an introduction to the Open Source on-server agent that we are building for the Cloud Monitoring product. The audience was very enthusiastic about this being open sourced. Slides
Logging as Event Streams - The logging infrastructure on the Rackspace Cloud Monitoring product has been designed just as well as the rest of the system. This is an overview of the tools we use and the philosophy we follow around logging. Slides
Building an embedded Linux system monitoring device - As a Kernel developer I spend alot of my day looking at syslogs and rebooting systems. So, I set off to automate the process and you, the audience, will get an introduction to building ARM software and network device drivers. Slides here
The video4linux user-space: libv4l2, applications and a server- With the merging of the gspca driver sans in-Kernel decompression in 2.6.27 it has become necessary to start working with upstream application developers to ensure that they can support the proliferation of new frame and compression formats. Earlier this month Hans de Geode started this work and created libv4l2: a low level wrapper around existing V4L IOCTLs. Having a user space library sitting between applications and the Kernel opens up the possibility for doing a fairly simple V4L server that can allow sharing of frames between multiple applications: like sound servers ALSA dmix or PulseAudio.
- Scanned copies of newspapers, newsletters and magazines
- Barometer Installfest4 to introduce ‘freedom’ to computers
- Barometer Google gives pizza
- New4Neighbors OSU, Bus Project and POSSE Join Forces!
- Newsforge Open Source and politics ride on the same bus
- OSU Press Release INTERNSHIPS MAY AID COMPUTER USERS, CHILDREN WITH DISABILITIES
- RIT News and Events A face only a motherboard could love
- Mozillazine ‘Firefox One’ Balloon Satellite Launch a Success