I worked for Google during the summer of 2008, writing code for Android, their mobile phone platform. Among my tasks were designing and implementing a library and utilities to analyze memory usage in and across processes (using a new "pagemap" interface in the Linux kernel that allows userspace processes to examine page tables and flags), writing lightweight ports of a few Linux system monitoring utilities (top, vmstat, and latencytop), making the outgoing call flow more extensible and secure, implementing additional Wi-Fi power management, improving the Alarm Clock and other user applications, and suggesting the "Rooster" alarm sound.
I have worked for the University as a Course Assistant for two courses. During the Fall 2007 through Fall 2008 semesters, I assisted with "Effective Programming in C and Unix" (15-123), one of the second-level programming courses, and the first one in which students are exposed to "real" pointers, shell scripting, and other bits of Unix. During the Spring 2009 semester, I assisted with "Intermmediate/Advanced Programming" (15-111), the second of the two-course introductory Java programming sequence. In both courses, my responsibilities involved running lab hours, where I offered one-on-one help to students; grading student work; and improving course material as needed. In addition, my Spring 2009 course required me to teach weekly recitations to reinforce lecture material and cover extra material on occasion.
I worked for iRobot during the summer of 2007, developing an intranet site using the Plone open-source content management system. I helped determine the structure of the site, and implemented a custom module that matched their specific needs for organizing data. Near the end of my internship, I also had a chance to debug and improve a C++ sensor driver that ran on an embedded Linux system.
For three weeks in high school, I worked for NearlyFreeSpeech.NET. My two main accomplishments were implementing an improved reporting system for the member interface (the control panel used by members to maintain their sites) and adding functionality to the API that members can use to programmatically manage hosting features.
I did a one-week project at Bose in high school, in which I refactored, extended, and otherwise improved a program that was used to test a mechanical component automatically.
I did a two-week project at CSAIL in high school, in which I implemented a Java web application that was used to maintain the configuration data for computer information kiosks scattered throughout the Stata Center.
I was invited to return for the summer, when I contributed to the development of a computer security system with AI to decide whether leaving a service available (but vulnerable) or taking a service down (making it invulnerable to attack, but inaccessible) is better. I also wrote a Java interface to a small teddy bear combination robot and IP phone.