Skip navigation

Welcome to my site!

This is a place for me to consolidate my online activities. Here you'll find my blog, and more when I get it uploaded. Comments are currently disabled due to spam. If you want to contact me, use my domain name at (without the .net).


Unifying PHP's namespaces

Here's a simple macro for avoiding one of PHP's more frustrating problems: the 'static' nature of PHP's global function namespace.

For some reason, PHP used to make a distinction between functions and every other kind of value. Declaring a function was a special operation which was completely separate from the other computation performed by a script. This made it impossible to, for example, calculate a function's definition; instead, every function must be written out…

Read more

Search & Optimisation Streams

Yet another oldie!

Search and Optimisation Streams

After an initial spurt of Javascript hacking, the search algorithm pages in my Wiki seem to have stagnated. Have I given up on yet another project? Not quite; I've been building it into a library!…

Read more


Another old post that I hadn't got around to publishing ;)

I got caught up in a programming language debate with a colleague today, and I'm still under the impression that I've been massively trolled. Here's a summary of the points which were discussed:

Colleague said

Ha! Look how much code it takes to make a class in Javascript. In Java I can just say "class Foo {…}".

Me said

That's because

Read more

Older news

March 12th 2014, 10:42 PM Omega
February 21st 2014, 2:17 AM Partial Application & Currying in PHP
February 7th 2014, 1:49 PM Lazy Lambda Calculus
November 22nd 2013, 5:28 PM PowerPlay Improvement continued
November 20th 2013, 1:03 PM PowerPlay implementations
October 31st 2013, 2:56 PM PowerPlay improvement