Current Research

My research interests lie at the intersection of artificial intelligence and human-computer interaction, specifically in their application to problems of broader social impact such as mass-transit systems and helping those with cognitive impairments. I am currently working with my advisor Dieter Fox.

WiFi Localization

WiFi SLAM

Work currently ongoing. See our IJCAI 07 paper: WiFi-SLAM Using Gaussian Process Latent Variable Models

Society and Technology

I've been working with the Society and Technology Group here at UW, most recently on data retention policies with regards to the new ORCA card.

Past Research

OpenSeminar

OpenSeminar is an open courseware platform that enables professors from different universities to work collaboratively to create an online seminar and then customize it to the needs of their students. I worked in the Open Courseware Lab under Dr. Michael Rappa developing OpenSeminar.

Collagen + DataAssistant

Collagen is mixed-initiative collaborative agent framework in Java by MERL. Data Assistant is a complex statistical analysis application in Java. I worked with Dr. Rob St. Amant of NCSU on integration issues and plan generation. I wrote the following technical report while working on the project: Aspect-oriented programming for COLLAGEN-based applications (2003)

Open Source Projects

Linksys WRT54G Custom Firmware Modifications

The Linksys WRT54G wireless access point runs a version of the Linux operating system. Linksys has release a quasi-open source build environment, and I have built a couple custom firmware images to allow features such as OpenSSH, Telnetd, and IPSEC on the device. I'm no longer doing anything with this, but be sure to check out cool projects like OpenWrt for the state-of-the-art.

Apache LDAP Configuration Module: mod_ldap_cfg

I wrote an Apache 1.3 module to store and dynamically query configuration directives from an LDAP directory on server startup. I no longer maintain this code and Turbo Fredriksson has graciously taken over the project. See freshmeat.net/projects/mod_ldap_cfg for the latest.

Netfilter AFS Module: afs_conntrack_nat

Have you ever tried to run AFS behind NAT? You have probably run into problems. AFS servers can make callbacks to the client as much as 15 minutes after last communication over the callback channel. This can create problems, since the default Linux firewall ( Netfilter <=> iptables ) times out UDP connections at around six minutes. In response, afs_conntrack_nat performs connection tracking on AFS callback streams, extending the timeout as appropriate. Note that this module is EXPERIMENTAL (did this ever work?). [Source] [Documentation]

Random Stuff

Mix-Tape Challenge 2004 - NCSU

See the original submissions here.

ADN 319 - Digital Animation

You can see a few of the animations I did here.

Of Dinosaurs and Dragons

Helpful advice for distinguishing between dinosaurs and dragons. In case anyone asks, the Harris Teeter mascot is, in fact, a dragon.

George W Bush - Hard Work Remix

A fun little ditty by Will Emigh (on vocals remix) and myself (music man). Check it out in full polyphonic mp3.