April 23, 2008
I’m an unabashed open source fanboy. At Smarkets, I use a lot of software written by other people. Here is a quick summary of the Smarkets stack; think of them as geek shoutouts.
- Erlang – Almost everything is built atop the Erlang/OTP application system. I like functional programming. It is easier to manage complexity in a language with reasonably isolated side effects. Erlang’s concurrency primitives have been touted many times before, and conceptualising concurrent systems as communicating sequential processes now feels a lot more natural than other paradigms. As Damien Katz recently mentioned, systems built atop Erlang/OTP don’t seem to suffer the same failures under high load as certain other garbage collected languages do.
- Distel on Emacs – When writing code (and actually quite a bit more), I like Emacs. When writing Erlang, I like Distel. It provides a natural entry point for debugging pieces of Erlang code. Getting Emacs to communicate with an inferior Erlang VM is especially useful for rapid prototyping. Being able to do everything within Emacs is good for productivity.
- Mnesia – Arbitrary term storage is a simple way to avoid having to interface with another database management system. Because Mnesia is part of Erlang/OTP, you get it for free.
- Mochiweb and nginx – Thanks to Bob Ippolito and Matthew Dempsky (and others I’m sure I’ve missed) for the mochiweb HTTP toolkit. It’s lightweight and embeddable, so it was very easy for us to integrate with our backend. Nginx performs well and is very simple to integrate with a backend powered by mochiweb.
- sgte and StringTemplate – Filippo Pacini’s sgte template engine (“inspired by” StringTemplate) was the basis for our templating system.
- YXA – While we don’t specifically deploy any SIP software, YXA is a great example of well-written Erlang. I learned a lot from reading through Magnus Ahltorp and Fredrik Thulin’s code. It’s been around for several years and has matured quite a bit as a result.
- Flat files – Writing a binary file to disk is sometimes overlooked as a solid way to persist sequential data that’s only needed locally. I’m not sure who I should thank here, but I think the list would probably be pretty long.
April 22, 2008
I travelled to Malta the first week of February 2008. After missing my flight by ten minutes on Sunday due to glacier-speed London transport and watching my beloved Patriots fall short to the lowly Giants in the Superbowl, I arrived Monday night. Over the next two days I met with a lawyer, an accountant, two consultants, a payment gateway, three bankers, two data centres, and the head of the Gaming Authority, Mario Galea.
Hunter and I currently work out of our London office. As Smarkets grows, we’ll transition a number of operations to Malta. We decided to use Malta as our operational jurisdiction because it enjoys corporate tax advantages, has an excellent regulatory setup, and is an EU member state. For those of you who are unfamiliar, Malta is a tiny island wedged between Sicily and north Africa. It has a population of 400,000 spread over an area twice the size of Liechtenstein.
I left for London quite impressed with Malta. Malta’s location makes its history fascinating and complex. The architecture tells a long story of colonization and recolonization over thousands of years by the Romans, the Arabs, and the English. The language itself is a strange mix of Arabic and Italian. The locals are friendly, the scenery is gorgeous, and the weather’s not to be beaten. Can’t wait to go back.
April 17, 2008
Last night Hunter and I attended DrinkTank, a startup party inviting the heavy hitters of the London internet scene. Huddle, a project management and collaboration tool, hosted it.
We talked with Andy McLoughlin and Charlie Blake Thomas from Huddle, Mike Butcher from TechCrunch UK, Richard Edwards from Zebtab, Paul Tustain from Bullion Vault, Modwenna Rees-Mogg from AngelNews, Nigel Eccles from Hubdub and Zaeem Max Maqsood from FirstCapital.
Check out pictures from the event here.