Projects that I've worked on @ MIT

MusicDB: Query by Humming - Keystroke Biometrics - Oscilloscope Pong - Lexical Clusters - Alloy Case Study - MASLab: The Grim Gripper - Gizmoball - Inside Ed-ition

MIT taunts the image of a firehose, barraging its students with a dizzying blast of problem sets and labs. Still, I admit that I love the place, and I've definitely gotten a strong dose of opportunities to design and engineer real functional systems. This webpage is an exposition of some projects that I've worked on at MIT.

"MusicDB: A Query by Humming System" -- [report] -- October :: December 2005

Ever remember the tune of a song but fail to recall any of its lyrics? MusicDB is a query by humming music search system that Annie Ding, Calvin On, and I engineered for our 6.830 (Database Systems) final project that. We represent musical tunes and hums as time series and use a time warping distance metric for similarity comparisons. A multi-dimensional index structure is used to prune the search space of songs and efficiently return the top hits back to an intuitive UI.

Our user experiments on a database of fifty midis are promising; we find that MusicDB returns the desired song within the top 10 hits with 52% accuracy and as the top hit with 24% accuracy. Moreover, we believe that substantial room for improvement in search quality can be achieved with more accurate pitch extraction software and a more solid midi parsing library than the ones we used. Because few query-by-humming solutions have been fully documented in the research literature, we document all the core components of the MusicDB architecture to enable readers to build and extend our system if desired.

"Enhanced User Authentication Through Keystroke Biometrics" -- [report] [presentation] [code] -- November :: December 2004

For our 6.857 (Computer and Network Security) final project, Xia Liu, Chen Xiao, Xiao Yu, and I designed, implemented, and evaluated four different metrics for keystroke-enhanced user authentication. A keystroke-enhanced login system increases security by supplementing the username-password paradigm with authentication of ther user's typing patterns. We explored key press duration, relative order of key press and key release times, relative keystroke pair speeds, and shift key usage patterns as potential metrics.

"Vector-based Pong on an Oscilloscope" -- [report] [video] -- April :: May 2004

For my 6.115 (Microcomputer Project Laboratory) final project, I created a vector-based, two-player Pong game on an analog oscilloscope. Two potentiometer knobs functioned as the paddle controllers, and A/D converters translated the voltage set by the controllers into coordinate information for the players' paddles. The XY mode of oscilloscope enabled two voltage inputs to direct the cathode-ray tube's electron gun around the display to generate 2D vector graphics.

"Learning Lexical Clusters in Children's Books" -- [executive summary] [presentation] [code] -- April :: May 2004

Intuitively, from hearing a phrase such as "Cinderella's glass slippers," a child may also strengthen her confidence to use a related phrase such as "Barbie's plastic slippers." If we are to understand how human beings acquire and use knowledge about language, we need to examine the role of statistical regularity in language learning. As a first step toward tackling this problem for my 6.xxx (Human Intelligence Enterprise) final project, I proposed the concept of lexical clusters - collections of words with statistically similar linkage structures with other words - and implemented a clustering algorithm in Java to explore the role that lexical clusters may play in language learning. For example, from parsing the phrase "the city mouse and the country mouse," the algorithm grouped "city" and "country" in the same lexical cluster because they both modify the word "mouse" in the same manner.

"Case Study in Alloy Modeling: A Common Profile for Presence" -- [report] -- September 2003 :: February 2004

As one of my UROP projects with the Software Design Group in MIT's Computer Science and Artificial Intelligence Laboratory (CSAIL), I conducted a case study of the Common Profile for Presence (CPP) protocol developed by the Instant Messaging and Presence Protocol (IMPP) working group of the Internet Engineering Task Force (IETF) to aid the working group and to demonstrate the utility of abstract modeling in software design. Armed with Alloy, a structural modelling language based on first-order logic, I investigated unconsidered design issues, inconsistencies, and ambiguities in the protocol. Areas of interest included protocol operations, subscription management, URI schemes, asynchronous notifications, and privacy concerns.

MASLab - Mobile Autonomous System Laboratory -- The Grim Gripper -- [journal] [report] [code] [maslab api] -- IAP 2004

Over January 2004, Alex Crumlin, James Xin Sun, Vincent Yeung, and I teamed up as the Little Guys in a grueling robotics competition. Equipped with an onboard Geode CPU, a web camera controlled by vision-processing algorithms, IR sensors, touch sensors, a servo-actuated gate and ramp, and a powerful gripper, our Grim Gripper detected and grabbed red balls and green tower in a large playing field and released the balls into a yellow mousehole. Our robot nabbed us the prestigious MASLab Engineering Award and a mention in MIT's newspaper, The Tech.

Gizmoball -- [report] [jar file] -- October :: December 2002

In a team along with Chang She, Vincent Yeung, and Min Zhang, we designed, documented, developed, and tested pinball-like game called Gizmoball for our 6.170 (Laboratory in Software Engineering) final project. Gizmoball has a graphical user interface that allows the user to create a playing field with variously shapped gizmos, to place balls, to connect actions of flippers and gizmos to triggers, such as keypresses and gizmo bump events, and to play the ball with simulated gravity and friction using our physics engine.

"Inside Ed-ition" -- [site] -- June :: August 2002

Bumming around at home the summer after my freshman year, I decided to teach myself HTML. Using Dreamweaver, I assembled "Inside Ed-ition," a personal website where I kept my own web blog, posted a few photo albums, shared some of my writings, and offered a guestbook. Crunchtime at MIT stifled any hope of maintaining a blog, and so this site has now entered into my online archives.

Created 1.22.2005 - edmond@mit.edu