Web Development
Gallery Search
The previous implementation of Gallery2's search module suffered from poor performance, a problem particularly pronounced for large datasets because no indexes were used for efficiency. The solution to this performance and scalability problem was to remake the gallery search module using a DBMS agnostic full text indexing algorithm. Furthermore, the previous search implementation did not support complex queries (such as queries containing boolean operators) or effectively support even basic relevance-based ranking algorithms. By maintaining a full text index and creating an enhanced query parser I was able to implement improvements in both these areas.
Design
Blist Mobile
Blist is a new web-based database application that aims to be the world's easiest database. For my Informatics capstone project I worked with the blist team to design a mobile version of their application to be run on the iPhone. My goal was to preserve the power and usability of the desktop application, while adapting it to fit the requirements and restrictions of mobile use.
Desktop Applications
File Downloader
While working at HouseValues.com I recognized the need for more powerful and specialized tools for automatically downloading long lists of files. In response to this need I worked with the rest of my team to create a detailed list of requirements, submitted a plan to management, and then implemented and documented the application that meets that need.
It not only download lists of files, but includes an interpreter that allows it to mimic browser connections by send cookies, post and get data, and parsing html and http headers. It also is capable of passing requests through proxy servers, handling errors gracefully, and pausing and resuming download projects.