Before and during the graduate studies, I have been involved in many development projects with different environments (corporate, school, personal), types (front-end and back-end) and purpose (production, research). I am also familiar with multiple languages and platforms, and am always eager to learn new ones that seem promising. (Recently Scala grabbed my attention!)
iLab
Since I entered UMass CS, I mostly wrote codes for my experiments, where I needed to create and compare different variants of ranking algorithms. It typically means lots of ad-hoc codes, yet I've put efforts to make the code as reusable as possible. I created what I call iLab (written in Ruby), an environment where I can design and run arbitrary experiments in a scalable manner.
Using the iLab, I can combine arbitrary test collection, query & indexing parameter, and submit experiments to an arbitrary number of cluster nodes, finally being able to see reports in multiple formats including browsable HTML files (click on links to see actual reports). This project is currently hosted on github. (more descriptions are found on the slides here)
DocTrack
I have designed and developed DocTrack game interface for the user study (described in my SIGIR'10 paper ), where people could use the search interface to find the documents shown to them. That project involves developing web front-end and a back-end search engine. To watch DocTrack in action, you can watch the screencasts ([1], [2]) I created for user study participants. You can download DocTrack game on the github page.
PRM-S Retrieval Model
PRM-S is a retrieval model for semi-structured (multi-field) documents, which is based on my ECIR'09 paper. (an improved version of the model featured in my recent paper) This retrieval model is motivated by the observation that users' queries have implicit structure that can be exploited for retrieval. For instance, given a query `meg ryan romance' for the IMDB collection, we first infer that the user may have meant actor by `meg ryan' and genre by `romance'. With this mapping of query-terms and document fields, the initial keyword query is transformed into a structured query, resulting in a dramatic performance gain over competitive baselines. I have an implementations that works in either Indri ([download]) or Galago ([tutorial]) search engine framework.
Before Graduate School
From 2002~2005, I've worked as a backend OLTP sever developer (using C++ / Oracle) in a company called T&C Technology for 3 years. During the three years I had been in T&C, I led a number of projects as a project manager and software architect, including Samsung Networks Mediation project where I devised a flexible rule-based architecture of a call-record processing software.
Also, while working on the company projects, I developed a software called MyLEO - a full-featured personal information management system. For three years, I continuously worked on the project as I enjoyed using the software I wrote as well as the job of creating it. I later created MyKMS – a personal Knowledge Management Solution based on the hybrid of Blog and Wiki. A detailed description of the project can be found in the technical report here.