I'm an Assistant Professor at Macalester College in St. Paul. I received my Ph.D. at the University of Minnesota with the Grouplens research group under the direction of John Riedl.
I design systems that empower people to be effective online community contributors. My research draws on techniques from data-mining, machine learning, systems design, human-computer interaction, and Social Science theory.
My specific interests range from collaborative filtering algorithms research, to intelligent displays of user-created tags. I particularly like building software systems, applying data mining and machine learning techniques on huge data sets, and writing software apps that touch a large number of users.
You can find more details on my curriculum vitae.
Before returning to graduate school I worked as a software professional for seven (or so) years. I was employed by Sourcelight Technologies, a software developer in the entertainment industry. We created interactive music and movie guides and a recommendation engine for retailers.
I worked as the software manager for Sourcelight from late 1999 until September 2002, when I moved to Boston while my wife got here masters degree from the Kennedy School at Harvard. When I was in Boston, I telecommuted and served as the Lead Software Engineer for Sourcelight. I continue to work part time for Sourcelight
In the summer of 2005 I worked as a research intern with IBM's Collaborative User Experience Research Group (CUE) in Cambridge, MA. CUE conducts research related to Computer-Supported Cooperative Work. While at CUE, I worked with Werner Geyer to design predictive algorithms and systems infrastucture for collaboratively filtering notifications (e.g. alert bubbles) based on their information value.
During the summer of 2006 I interned with Thomson Legal Research, the research wing of the company who runs Westlaw, the leading legal search database. I helped to improve the legal recommender that recommends caselaw drawn from a corpus of nearly ten million documents.
In the summer of 2007 I was lucky enough to work for Google building community features for one of their properties. I loved working at Google. Despite all the hype I had heard, it still managed to exceed my expecations.
You can find detailed professional information in my cv.
Autocomplete-Server is a server-side autocomplete library written in java. It can be used as a library integrated into your existing Java application, or can be used a standalone AJAX server.
These are older projects that I head up, am involved in, or just have some interest in. I haven't touched any of these projects in over five years, but I like to tell myself that I'll come back to them some day
The goal of this project is to create a computer system for jazz improvisation. You can find the project in it's current state here.
This project began while I was at northwestern as an independent study under Prof. Welland. It is a fun way to fuse my interests in music and computer science.
As far as I can tell, there are no other projects out there like this one. Please explore it and let me know what you think!
Py-xmlrpc is a client and server implementation of the xml-rpc specification written in Python. The xml-rpc protocol is a remote procedure call mechanism that uses XML to serialize requests and uses HTTP as a transport layer. It's really simple and as a result it's supported by about every language immaginable. The main project homepage is hosted at http://www.sourceforge.net/projects/py-xmlrpc.
I originally began py-xmlrpc because the available libraries were too slow for applications we were building at my work. Py-xmlrpc's claim to fame is that it's up to an order of magnitude faster than other Python xmlrpc libraries. Most of the internals are written in C and it uses a hand-rolled parser. While it's not for everyone, it serves a particular niche and I had fun working on it.
I've been quite happy (and surprised) about how the library has been adopted. Sourceforge claims over 5000 downloads and it ships with two of the major Linux distros (debian and gentoo).
You can find the latest files and news about the library at http://sourceforge.net/projects/py-xmlrpc. More information on the xml-rpc spec can be found at http://www.xmlrpc.com.
The Ehs library (which stands for Event Handling System) is a improvement on the py-xmlrpc package. It separates out the C layer found in py-xmlrpc into a standalone api and abstracts out many of the concepts that are hard coded in py-xmlrpc.
It's quite stable right now. We use it at sourcelight internally on production systems. All that really needs to be done is to complete the windows port and check that chunked encoding works.
I haven't released any files yet, so right now the only way you can see it as in cvs at http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/py-xmlrpc/.
Instructions for cvs access can be found at http://sourceforge.net/cvs/?group_id=23992.
[ home |
pictures |
academic |
snowblind |
]