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
This is my personal website. As part of it I maintain
a blog, and these are excerpts from my two most
Not so philosophically different after all?
I found Chris Done’s
A philosophical difference between Haskell and Lisp
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
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.