I build trading systems for investment banks.

I’ve been learning Go this week, and on Tuesday I attended the London Go Gathering at Google’s London Campus. As a learning exercise, I decided to port the winning QuantCup competition entry — implementing a fast stock exchange matching engine for a high-frequency trading bot — from C to Go. You can check out my …

An SSL termination proxy is a service that sits in front of your web server and converts HTTPS requests to plain HTTP, by offloading the SSL decryption to a separate machine or process. They are commonly used for internet-facing websites, but usually with separate servers. Here’s a quick guide how you can set up your …

Just a quick tip — if you’re having problems with programmatically modifying your IIS sites configuration using the Microsoft.Web.Administration .NET API, and are currently banging your head against the desk because: ServerManager.Sites returns a completely different set of sites than what is visible in IIS Manager, or No matter how many times you call it, …

What happens in situations where the developers and the business don’t agree on the terminology — the Ubiquitous Language — of a system? This post was inspired by a blog post by Greg Young, which was in turn inspired by a question on the DDD mailing list. Here are some of my experiences where this …

So you’ve got a new release coming up, including upgrading your production SQL database. You’re writing great upgrade scripts, but now your DBAs are demanding rollback scripts as well. How do you approach this? Do we really need them? Rollback scripts are an expensive overhead to development because of the time and effort involved in …