Projects

WebOS Projects

I’ve moved my information on webos projects to here.

Larger Projects/Independent

JOVE

JOVE is a project to JIT the linux kernel using a virtualization environment. JOVE was initially a project done for cs498la (Undergraduate Research Lab) with Professor Vikram Adve and Andrew Lenharth of the LLVM research team at UIUC.  Paper is available here: JOVE Paper (coming soon) and poster here: JOVE Poster.

Face Tracking/Recognition

Senior project for cs492/493, and Rockwell Collins.

Website   See it in action

iNewsGroup

iNewsGroup (iNG) is an open-source newsgroup client for the iPhone. It has two versions really–the first was created with the pre-SDK toolchain, and that’s a rather functional newsgroup client. The new one is written using Apple’s official SDK. See the link for releases, news, and source for both versions.

iTouchpad

iTouchpad was an open-source project with a simple idea: use your iphone as a wireless touchpad for your computer, or any device that could accept a wireless connection. The idea was you ran a server on your computer, and the client on the phone, and the phone would relay movement and gestures to the server to control the mouse or other events. Development stopped some time ago, and there are similar programs available in the appstore. Probably not going to continue. That said, the source as it stands work rather well on both linux and windows, and partially on leopard.

Smaller projects–if related to a class, that class is listed

Eclipse Refactoring Engine Testing (cs498dm)

Worked with Matt to test 3 refactorings in Eclipse. Found 18 bugs, many of which were unreported. I’ll link to our project page/bug reports once they’re up.

Operating Systems related (cs423)

Meddling with the Linux Kernel (adding system calls)
QEMU (adding x86 registers and instructions)
User-level threading library for an Operating Systems class (in C).
Networked file-server (client and server).
Dynamic translation simulator (caching) for RiSC-16 to x86
Soft real-time scheduler (in C)

Networking related (cs438)

TCP file-transfer program (in C)
Implemented TCP-style features (reliable byte stream) over UDP (in C)
Network routing algorithms (Link-state and Distance-Vector) for network simulator (in C)

Compilers and Languages (cs421)

Implemented parts of a compiler for Minijava. Parts included were parser (top-down, bottom-up), lexer, and the backend codegen into a toy language (infinite registers, etc).

Spimbot champions (cs232)

MIPS assembly competition, results shown here.

Posted in