View as PDF file. To download the PDF, right-click the link and select "Save Link As".

Work Experience




Favorite Tools - Macbook, iTerm 2, Sublime Text 2, Github, Google Chrome.

Interests - Karate, Starcraft, kayaking, chess, fencing, music.

On the web - StackOverflow, LinkedIn

References - provided upon request.

Code Samples

Here are some examples of code I've written in various programming languages.

AVL Tree (Java)
The following two classes implement a generic AVL Tree. An AVL Tree is a binary search tree that automatically maintains minimal height, so that search times are optimal.

Trie (C)
This is a C implementation of a trie. The trie is by far my favorite datastructure since not only can it can do more than a hashtable but it's just as fast as one too (if you have a hash function, that is - otherwise a trie's speed depends on key length).

make-memoized (Scheme R6RS)
Memoization is a popular optimization technique which allows pure functions to 'remember' previous results. provides a function called 'make-memoized' which takes in a function and returns a new version of it that uses memoization.