Mixxx is open source performance software for DJs. I got
involved with the project through Google Summer of Code in
Summer 2008, and now I'm hooked! It's made for DJs by DJs. It
has tons of features like vinyl emulation, MIDI controller
support, and multiple-soundcard support. This eliminates the
need for expensive soundcards and fancy software.
Blue Steel
During IAP of 2007, I took 6.189, a multicore programming
course. The point of the class was to explore applications of
the Playstation 3's Cell processor to multicore tasks. I learned
a lot about the specifics of the Power architecture, and got
very cosy with the PS3's 8 slave processors. My project for the
class was to write a parallelized realtime raytracer. In a mere
23 days, my team put together a very decent raytracer with
reflection, refraction, generated material texturing using
Perlin noise, and enhanced material shading with BRDF and
traditional shading models. Running our demo with 3 ray bounces
on a moderately complex scene achieved over 20 frames per second
with 6 active cores, along with linear speedup
properties.
We won the competition, and Sony invited us to be their guest speakers
to the 2007 Game Developers Conference in San Francisco. We gave
an hour long talk about our project and the uses of the PS3 in
the academic community.
During IAP 2007,
rob,
zack,
and I worked
building our very own Bellagio Fountain at MIT as part of East
Campus's annual Bad Ideas competition. We weren't able to
finish it in time, and the project sat around for a year until
the 2008 Bad Ideas competition, where we finally finished it up.
It was definitely a lot of fun and hard work to build, and we
ended up getting help from
other putzen.
Check out the videos and get the source code here:
La Fontaine
MIDAS : Multi-Function In-Dorm Automation System
My freshman
year zack, my
roommate and I built an automation system for our dorm. It
controlled our lights, blinds, music, and even ran our security
system, which consisted of a number of internal and external
security cameras. The whole thing was controllable from a secure
remote interface. These days, he and I have our own versions of
this system deployed in our rooms.
I've been into making video games every since I learned to
program. This is the second version of a 3D engine I designed
in high school with an emphasis on using a graphics API
instead of writing everything in software..
The main problem with the Subterrania Engine (see below) is that it is a semi-software engine,
and I was getting bogged down in the details of lots of tiny management things. So, with the release
of the February 2006 DXSDK, I realized I was behind on my HLSL and a few other techniques. So I trashed
all my old code, and have begun work on the Solace Engine. It will focus on using the Direct3D API as
a leg-up into more advanced topics so I can focus more on learning and less on details of what I already
know. I ported the Quake 3 BSP loading code from the Subterranea Engine below, and over the course
of February (including many exciting all-nighters) it's grown leaps and bounds. Hopefully at some point
I can get a Vertex Shader 3.0 compliant card and start playing around with that, but for now
the plan is to just support VS 2.0.
A brief overview of planned features:
Per-Pixel Realtime Lighting
Shadow Volumes and Maps
Cube Mapping for Reflection Effects
Realistic Water
Lightmapping, Bumpmapping, and Specular texture effects
HLSL Vertex and Pixel Shaders (VS 2.0 for now) for per Entity and Face Effects
Shader Effects: Tone Mapping, Bloom, Glowing, Shadows,
Scene Management Techniques : (BSP/Octree, Frustum Culling)
The SCRYPTO (Steganographic CRYPTOgraphy) Protocol is a toy
protocol I designed for secure communication on networks such as
the Internet. It makes use of covert channels in the TCP
protocol to steganographically transfer encrypted information.
Steganography is the art of information hiding, while
cryptography is more like information scrambling. Covert
channels such as slack space in network data structures are
prime candidates for covert transfer of
data. paper and
code
AtriusMUD
Around 1998 I started playing MUDs. It's like a WoW
addiction, but it's a text adventure. After putting in over a
month and a half of playtime on a MUD I frequented, I became
interested in running my own MUD. I started one as a derivative
of CircleMUD. I did all the
coding, while a group of friends and I built the stories and the
worlds of the MUD. AtriusMUD was started around 1999, and then
shut down in 2001. In 2002 I started developing it again. To
this day it's still online -- albeit without many
users. The AtriusMUD
Website
The Basement
I'm an electronic music fanatic, and I become fixated with
most anything that glows. Around 2002 a group of my best
friends and I started painting my basement with UV reactive paint. 5
years later, the room is almost completely covered with designs
and murals. A sound system, comfy couches, and DJ equipment
make this room a relaxing hangout for me and my friends.
The website has pictures, videos, and more information : The Basement
Subterrania 3D Engine
I originally began developing this software based 3D rendering
engine around 2001. It's named 'Subterrania' because that was
the working title of an FPS puzzle game that David Cardwell, a
good friend of mine, and I were dreaming of making a reality.
It is capable of many aspects of common 3D engines, such as
primitive drawing, mesh rendering, lightmapping, BSP tree scene
management, primitive AI, and brush rendering. As a proof of
concept, it is capable of loading and rendering Quake3 map
files.
screenshot 1 | screenshot 2 | screenshot 3
GGS 2D Sidescroller
This 2D sidescroller-style videogame I wrote in 1999 is
written almost as a pastiche of Streets of Rage, complete with
a tile-based scene engine, animated character sprites, a game
menu system, as well as game logic. However, it still remains
an engine, and not a game due to a lack of art and level
data. Sadly.. I am not an artist. Back when it was written,
David Cardwell, a very close friend of mine and excellent
artist was helping me with creating art until we lost interest
in the project.
DreamPong
For a while, I was into the Sega Dreamcast homebrew scene. I
wrote a pong clone for the Dreamcast that even displayed
little animations on the controller's memory pack LCD
screen. I wrote it in straight C with nothing but a
framebuffer.
Shutterdream Studios
A website I designed and maintain for my brother Will who is a professional photographer.
It features a mature content-management-system written from scratch in PHP with mySQL. It completely
eliminates the need for management on my part, as my brother can maintain all the galleries on his
site, upload, and edit new pictures by himself. Beyond this, it has a visitor-tracking
and statistics module, also written from scratch, that gives him detailed information about his site traffic.
My brother is a REALLY good photographer, so you should go check his pictures out:
www.shutterdream.net