On This Page:
I just completed my M.S. in Computer Science at UC Berkeley advised by George Necula. In June, I start work with Azul Systems. Before returning to school, I spent four years at FactSet Research Systems as a software developer and manager of their Portfolio Publisher suite of products. I received my B.S in Computer Science from the University of Illinois at Urbana-Champaign. I do consulting on the side for fun and profit.
At a high level, my general research interest is in finding interesting ways to apply programming language techniques to further the reliability of large scale systems software. I'm slowing working out the best way to approach this problem; currently, I seem to be focused on the memory management aspects. I'm also interesting in techniques for incrementally improving reliability, maintainability, and/or performance in existing code. I generally have a strong bias towards techniques that work for code in legacy languages and at scale. To me a large system is one with millions of lines of code.
In 2012, I published a paper in collaboration with Martin Maas on offloading garbage collection to a GPU on a new generation of integrated chips that are starting to hit the market. Somewhat surprisingly, this off the wall idea actually works. You can read the details in the paper.
Recently, I have a publication on hinted collection - essentially a sound way to do manual memory management with better asymptotic complexity than classic garbage collection - which will appear at ISMM 2013 in Seattle. This is also the topic of my Master's thesis.
My coauthor, Joel Galenson, recently gave a prize winning tool demo at LIVE 2013 which highlights our work on exploring concrete state & user demonstrations in software development. Our tool (well, Joel's tool which I helped on) is called CodeHint and you can find more information about it here. Frankly, I think this is a really interesting effort, but we've had trouble getting it published.
I recently left graduate school for a software engineering role. Given that, I don't expect to have much time for research going forward. I do still have a few irons in the fire, as it were, but we'll have to see what if anything comes from them.
You can find information on my undergraduate research, along with various non-technical talks I've given, on this list.
I have been a sub-reviewer for VMCAI 2013 and a reviewer for Compiler Construction 2013.
During graduate school, I was involved (possibly too much so?) at both the campus and department levels.
At the campus level, I was a member of the Vice Chancellor of Administration & Finance's student advisory group. Essentially, our role was to act as facilitators of communication between students and staff. Unfortunately, the group only lasted two years, but it was a great oppurtunity none the less. I am also acting as a representative from the CS Grad Student Association to the UAW (our GSI/TA union). I'm in the midst of transfering that responsability to others over the next month or so.
Within the department, I was the Treasurer for Queers in Computer Science and Electrical Engineering (QICSE) and co-organizer for OSQ (our programming languages discussion/talk series.)
Back in undergrad at UIUC, I sat on the Undergraduate Studies Committee for the computer science department for the 2006/2007 school year.
I am a strong believer in being active in all of my various communities: professional, local, political, and personal. (I blame my parents and my time in Scouts for getting me started.) My past activities have included: volunteering with the Sylvia's Place shelter in NYC, organizing a state wide LGBT student leadership conference in Illinois (now defunct unfortunately), working for equal marriage in two states (Illinois, Connecticut), staffing an LGBT friendly summer camp in Michigan, and trail building. Currently, much of my energy goes into my professional commitments.
Back in 2007, I was honored to be given the Unsung Activist Award as part of the Lavender Graduation activities at Illinois.
Up until recently, I was an active runner, hiker, and backpacker. I'm currently dealing with a bad knee which is keeping me off the trails, but before that I've totaled hundreds of miles in the backcountry including hikes in various parts of the Sierra Mountains, Rocky Mountains, Catskills, and the Appalachian Trail.
During breaks and vacations, I have traveled solo through Japan, Western Europe, and large parts of North America. These days I'm sticking to more local day trips due to time constraints, but hope to get to Scotland, Ireland, and possibly Australia in the next few years.
If you want to reach me, send me an email at: public [at] this domain. I am not always the best at responding to email, so if you want to ensure a quicker response, give me a call. (You'll have to ask me in person for my number though.) You can also reach me on LinkedIn or Twitter. Don't expect quick responses on the latter though.