This portfolio represents my best work and supplements my resume
SuSE Labs (Current)
Currently I work for SuSE Labs, part of Novell, to maintain our enterprise Kernels, improve the Linux Plumbing and make openSUSE rock!
Recent 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 get to work on upstream code when I am not 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
OHSU 9-Button
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.
Bob v2.0
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.
Publications
-
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.
-
The Humanoid Dream - In January 2004 I published an article about my high school robotics experience that was accepted by Servo, an internationally distributed monthly robotics magazine.
Recorded Talks
Conference Talks
- 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.
Press Mentions
- 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