Projects
Larger Projects/Independent
Palm Pre (Ported VisualBoyAdvance)
This is a work in process, but already can play many (all?) gameboy and gameboy color games, and plays GBA games with frameskip+nosound.
Wiki source (git).
Lots of work has been done porting it over including replacing the rendering with openGL ES 2.0, and lots of time making it work well for the pre. See the wiki for current features, compatibility list, and more.
Palm Pre (Ported Quake)
Ported ID software’s classic Quake to the Palm Pre.
This was done using CodeSourcery’s ARM cross-compiling toolchain, and with the help of the WebOS-Internals community. The port was from sdlquake.
The wiki has the latest information and screenshots, take a look.
Mentioned on news sites such as Slashdot and Engadget.
Note the youtube videos there are with the BETA build. Hopefully someone will upload a video of the recent build soon
.
Wiki source (git).
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