Software Engineering
My philosophy on development is to be an engineer, not a coder. I strive to leverage informed knowledge and systematic processes to build useful systems. I don't define myself in terms of the languages or frameworks I develop in, or the tools or methods I use.
Programming is Art
Software is my form of artistic expression - my opportunity to create something beautiful out of nothing. The language is my paint, the editor is my brush, and the platform is my canvas. I find expression of the aesthetic in elegant code, creative solutions, and well-built systems.
Web Design
I believe that the web should be functional, simple, and beautiful (in that order). My web design reflects those principles through a simple, elegant aesthetic and a commitment to solid engineering. On the web, that includes an intelligent use of relevant tools and balancing between browser compatability and building for the future.
HTML5 is a Revolution in Computing
Or, more precisely, HTML5 is the leader of the web app revolution. Rounded corners, rgba, and gradients are nice, but HTML5 is about erasing the artificial line between applications and the web, by making HTML/CSS/JS a universal language, and by making the browser a full-fledged platform. In a world where almost all of our computing involves the internet, we need a platform which reflects that. HTML5 web applications are agile, portable, open, reusable, scalable, real-time, multiuser, and networked by default.
GameHere
A class project for CS194-22: Cellphones as a Computing Platform, at Berkeley. A platform for real-time multiplayer HTML5 gaming, with the goal of blending the social experience of console gaming with the flexibility of the web. Players use smartphone browsers as controllers and share a single display, and can drop in or out of the game spontaneously. Uses node.js, socket.io, and client-side javascript. See the code on github.
JavaQuest
A piece of legacy code: the first real game I ever wrote. Originally a text adventure project for AP Computer Science in high school, I extended it with more features and graphics. Download executable jar file.
Raytracer
Samples of images created by a raytracer written in C as a project for CS184: Computer Graphics, at Berkeley. Demonstrated here (from left to right) are reflection and transmission, refraction, and bump mapping. Read more and see more samples.
Nerdy Humor

Sysadmin's unmentionables

Cryptographer's hashtag

Self-deprecation