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.
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.
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.
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.
Soda is a course browser for Brown University, which has a very hard to use course system called Banner. This replaces Banner's complex interface with a simple search box and instant as-you-type searching. Soda also includes a shopping cart and schedule to help you plan your next semester.
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.
This page is a collection of obscure C++ features, gathered over the years as I've explored different corners of the language.
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 10KB) 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.