This project was an experiment in realtime water rendering with WebGL. The focus was on the rendering aspect, not on the simulation, so the behavior of the water isn't that realistic. The water heightfield is simulated using a floating-point texture and the caustics are rendered using the GLSL derivative functions.
Path tracing is a realistic lighting algorithm that simulates light bouncing around a scene. This path tracer uses WebGL for realtime performance and supports diffuse, mirrored, and glossy surfaces.
The game Robots Are People Too is a complex side-scrolling platformer with two-player gameplay and a unique split-screen mechanic. It was developed by me and two other students as a winter break project and won "Most Fun" in Mozilla's Game On competition.
This is a tool for sketching finite state machines (the abstract kind used in CS theory classes). The main focus for this project was making the interface as simple and streamlined as possible because making a FSM is normally a very time-consuming task.
A collection of interesting bits of shader code. All demos use WebGL and run in all major browsers.
Adjust your photos in your browser in realtime with ten different image filters. This uses WebGL for speed, is entirely client-side, and is open source on GitHub. It was coded from scratch in 24 hours for HackNY, a hackathon in NYC, where it won second place.
This demonstrates the discrete Fourier transform, which rewrites a discrete signal as a weighted sum of sines and cosines of various frequencies. I created it as an in-class demo for the course I was a TA for, CS 123: Introduction to Computer Graphics.
Diskitude helps you figure out what is taking up space on your hard drive. Its intuitive and animated interface allows you to easily explore your file system and prune your files. Plus it's super small (only 10 KB) so it loads really fast and won't take up any space.
Continuous Calendar is a simple web calendar. New weeks are added at the top and bottom when you scroll, so the page is essentially infinite. This is much faster and easier to use than the standard day/week/month model. Adding notes is super easy too, just click and type. Perfect for little reminders like on a real wall calendar.
Soda was a course browser for Brown University, which has a very hard-to-use course system called Banner. It replaced Banner's complex interface with a simple search box and instant as-you-type searching. Soda also included a shopping cart and schedule to help students plan their next semester.
This page is a collection of obscure C++ features, gathered over the years as I've explored different corners of the language.
A little web app that shows your current GPS coordinates. Meant to be installed on an iPhone home screen as an app. I needed GPS waypoints for a robotics project and the built-in apps don't reveal this info.