August 18, 2014

Latest Stable Version Build Status Minimum PHP Version

Static-Review is an extendable framework for version control hooks.

StaticReview Success Demo

Client Driven Automation of Schema Evolution

March 26, 2014

The idea behind my final year project came from the tedium of having to write trivial SQL change scripts during my placement after editing an entity within the system.

Three solution were developed, initially a Scala implementation that I struggled to get working, then a C# prototype build in LINQPad, and finally a C# framework that is available on the NuGet package manager.

Have I been pwned?

December 6, 2013

There's a great new web application to check if any of your online accounts have been compromised in any of the major data breaches:

Better yet the developer has extensively published about how he made the site on the Azure platform:

Why Pirating Premium WordPress Themes is a Bad Idea

November 2, 2013

Free Themes are Great Right...?

Following on from my limited interaction with the GetMama malware that was infecting PHP sites on shared hosts, I'm going to hopefully show why it's a bad idea to go looking for pirated copies of premium WordPress themes.

Theme Selection

I picked a popular premium theme called Canvas made by WooThemes that I will attempt to download for free and check for malicious code. The search, as shown below, nicely demonstrates how widely available pirated copies of paid-for WordPress themes are.

I ended up using the download from the third result as it appeared to offer a more recent copy of the theme. The resulting download actually contained many of the themes made by WooThemes, but I stuck to Canvas.

An analysis of the file by VirusTotal can be found here: WooThemes.rar, 20.3MB


After running all the files through a script that looks for uses of eval and base64_decode (what I believe are the most common methods of obfuscation for bad PHP code), I found a couple of uses of base64_decode.

Programming With Purity (in C#)

November 1, 2013

A great talk I came across by the creator of LINQPad, Joe Albahari. It's quite long but well worth the watch if you're developing in C#.

By avoiding some of our most time-honoured tricks, we can end up with code that's not only easier to understand and reason over, but that scales better.


August 30, 2013

via UNDERCITY on Vimeo.

The Overview Effect

January 16, 2013

The Overview Effect, first described by author Frank White in 1987, is an experience that transforms astronauts’ perspective of the planet and mankind’s place upon it.