Author Archives: Danny

Giving Docker/LXC containers a routable IP address

At work, we are evaluating Docker as part of our “epic next generation deployment platform”. One of the requirements that our operations team has given us is that our containers have “identity” by virtue of their IP address. In this … Continue reading

Posted in Uncategorized | 42 Comments

Redis memory optimisation

According to Alexa, my employer’s web site is the 13th most popular web site in the UK, the 66th most popular in the US and the 127th most popular in the world. At least it is today. Not too shabby, … Continue reading

Posted in Performance, Redis | Leave a comment

Emulating Maven’s “provided” scope in Gradle

I’m not a fan of Maven. I don’t make any secret of it. But one thing they’ve got right is the “provided” scope – that is, a scope whose dependencies are used at compile time, but not required at runtime … Continue reading

Posted in Build | 10 Comments

World’s fastest break-in attempt

Actually, I’m pretty sure it isn’t, but still… From spinning up a new EC2 instance today to getting the first e-mail from fail2ban took a little under 6 hours. I don’t know if this makes me happy or sad. Happy … Continue reading

Posted in Uncategorized | Leave a comment

WordPress, nginx, W3TC and robots.txt

A quick note to try and save somebody else the hours of pain I just experienced… Here’s the scenario: you’re being dead clever and ditching Apache in favour of Nginx to run your WordPress blog/site and pretty much have everything … Continue reading

Posted in nginx, Open Source, Performance | 4 Comments

Adventures with DD-WRT and IPv6 (with a dash of TomatoUSB)

A little under a year ago, I decided two things: first, that it was about time my ageing home network got GigE and 5GHz wireless-N (dual band, of course, to support devices that would only do 2.4GHz); and second, that … Continue reading

Posted in Uncategorized | 2 Comments

iTunes 10.5 upgrade woes

iOS 5 is upon us, so I thought I would snag a copy and see what’s what. But, first thing’s first… I apparently needed to upgrade iTunes to 10.5. (Why? Why do I need a particular version of a media … Continue reading

Posted in Uncategorized | 5 Comments


It’s interesting to see people getting interested in porting the Disruptor to .NET (although what’s wrong with The One True Language, I don’t know!). Tim Gebhardt has a port on Github Matt Davey (Technical Director at Lab49) also has a … Continue reading

Posted in Java, Open Source | 3 Comments

The Disruptor – Lock-free publishing

In case you’ve been living on another planet, we recently our high performance message passing framework. I’m going to give a quick run-down on how we put messages into the ring buffer (the core data structure within the Disruptor) without … Continue reading

Posted in Design, Java, Open Source, Performance | 16 Comments

Open sourcing the Disruptor

LMAX recently open-sourced The Disruptor – one of the core frameworks upon which we build our ultra-high performance financial exchange. Today, we published a white paper detailing how The Disruptor works, and highlighting the sorts of performance benefits that can be … Continue reading

Posted in Java, Open Source, Performance | 4 Comments