Sunday 04 September 2011 at 1:00 pm
I promised matt carter I'd start writing up aspects of how we run agile operations (aka devops) at LMAX. Apologies this is so overdue.
One of the major tensions in any small techical operations team is the tension between project work and "interrupt driven" work. Interrupt work is hard to define, other than the slightly circular "being anything that is not project work". In practise this ranges from problems in production through to getting users working mice.
Small IT teams are usually pretty bad at dealing with interruptions, so we've developed the concept of an "Interruption Monkey" to keep things manageable.
Read more
Wednesday 03 August 2011 at 1:04 pm
In this article I run through how to create a simple ticker app off the LMAX API using PHP.
LMAX is the London Multi Asset Exchange. This is a low latency financial exchange which can be accessed directly by retail customers over the web using JSON or XML over a REST based interface.
The raw protocol not that pretty, so there are client libraries written in C# and Java. For fun and monitoring, I have written an unofficial PHP client library which I'm using here.
Read more
Wednesday 25 May 2011 at 1:57 pm
We do odd things with java, that most places would probably use C or python for. Having said that we have some very talented people who can make java do wonderful things.
However when those wonderful things require elevated privilege like CAP_NET_RAW for packet capture, we run into a problem, which is that the kernel treats any executable which has a capability assigned as being equivalent to one with the "setuid" bit set.
As Java loads shared libraries by relying on glibc doing expansion of the environment variable $ORIGIN this can get broken by the setuid bit and some rules introduced to close an exploit.
Read more