I’m a polyglot software developer, and love playing with different languages. Over the years have toyed with C, Prolog, Perl, Objective-C, Java, Scala & Clojure. Employers have paid me to write HTML, PHP, Perl, C, JavaScript, Java, Objective-C, Scala and English.

This is my personal website. As part of it I maintain a blog, and these are excerpts from my two most recent articles:

Not so philosophically different after all?

I found Chris Done’s A philosophical difference between Haskell and Lisp via its’ thread and my response ended up blog-post length so I decided to reproduce it here.

A Lesson in Benchmarking

Our API had a cache builder abstraction that allowed us to use either an in-memory LRU cache or memcached. The LRU cache was faster, but the memcached version could be shared, and “unlimited” in size. It was added on the theory that as we scaled out, the memcached version would be better because a higher number of instances would see fewer cache hits.

Free & Open Source Software

I wrote SBJson, a popular JSON parser & generator for Objective-C. You are welcome to use it—and any other project available from my Github profile—for free, as long as you adhere to their respective licenses.

In most cases the license requires that you have to attribute me in your application. I understand that this attribution requirement can sometimes be a problem. If you let me know about the problem, I may agree to grant you an alternative license.