Programming Art Animation Blog Everything


Real-time shadows: arriving at the SSAO algorithm

A review of the design constraints leading to the widespread use of SSAO


Purpose: A Year in Review

A reflection on the growing up I did this year.

Anatomy of a Code Golf Solution

I learned a few tricks by trying to compress some Javascript source code as much as possible.

Volumes and Subsurface Scattering

An explanation on how we use probability densities to represent permeable materials in 3D rendering

Simple Inverse Kinematics

A quick and dirty algorithm for posing bones


How Raytracing Works

After writing a raytracer, I thought I'd make a walkthrough sharing the strategies you can use to make a 3D renderer

Demystifying English Parsing

Natural Language Processing is one of those things which can seem too complicated and daunting to understand. I break down some of the base concepts to make it less of a magic black box.

Open Letter to CS247

I feel like our Software Engineering Principles course fell short, so I wrote a letter to the staff explaining what was wrong and how I thought it could be fixed.


Things to be Excited About in Perl 6

Some of the great parts about the language, and why you should be excited for its Christmas release.

Using Swivel in batch from the terminal

You can use Swivel from the command line, but it doesn't let you change the starting frame that way, so I tried to patch it in myself. It was an adventure in writing raw AVM2 bytecode.

Scrabble Solving with Regular Expressions

String parsing can make some problems a lot more fun.


Most hackathons are about coming up with innovative new ideas and making plausible startup prototypes. This one is different.

The New

How my sister's website came into existence.


Waterloo 1A Retrospective

A reflection on my experience in my first term of Software Engineering at the University of Waterloo.

YCHacks and San Francisco

I went to California for my first hackathon.

Intro to Javascript for Educators

A crash course in HTML, Javascript, and CSS geared for math teachers.


Dream Sequence Effects in Premiere and Animate Pro

How I made some of those trippy surreal effects from the opening scenes of The Weight.

Ripples Using Layer Masks in Flash

A quick demonstration of how I did that ripple effect in that one scene of Narcissus.

Fire Particles for HTML5 Canvas

Some cool Javascript/HTML5 particle effects.


Stress: A Brief Summary of the Past Month

In three acts: Website Issutes, Work at a Summer Camp, and NATA

Efficient Flash Techniques

Some techniques to be able to create Flash animations more quickly.

Responsive Web Design

Some tips regarding websites that scale and change to fit the screen and device it's on.


Swarm: AS3 Experiment

How to dynamically create a swarm of bugs in Flash.

Annoying Disc Script

For April Fool's, make someone's disc drive pop open repeatedly. It'll piss them off quickly.

AS3 Particles

Particles in Flash = cool.

Basic <canvas> Tutorial

How to do some basic scripting using the HTML canvas element.

Webcam-Controlled Games

Made with Actionscript

It's a test to see if I could control a sniper game with a webcam.

New Year's Resolution

This year, I resolve not to change my website compulsively like I did in 2010.


AS2 Pixel HitTest

Test for ACTUAL collisions without a bounding box!

Synfig basics

Here's a basic tutorial to get you started with Synfig, because it's pretty complex if you don't know how to begin.

Photoshop Masks

Masking is the process of only showing part of an image on top of another. I'm here to show you how to do this.

Sound in Flash

Ahh, Flash... so many people fail to use its sound capabilities! Here's a tutorial about using sound in Flash and how to make it stay in sync.

Enemy AI

Enemy AI: The art of making interactive computer-controlled game characters!