Clean Coder

In university we were given various compulsory professional ethics modules, which I considered largely pointless. I still do. Perhaps they should simply have given us a copy of Uncle Bob's new book "The Clean Coder". When it comes ...Read More

Picking a web server language

There is nothing better than starting a new Web App. I am constantly getting ideas about how to create the next big thing. It is going to use Canvas, CSS3 and bleeding edge JavaScript and be unlike anything that the world ...Read More

Caplin: A hands-free SDP and the testing challenge

One of the recent challenges our QA team has been facing is our upcoming release of a hands-free single-dealer trading platform. Here's a brief explanation for those of you that are unfamiliar with the concept: in an ever ...Read More

Fun with Text Encodings

Now that we are building robust internationalisation support into Caplin Trader, there are numerous testing scenarios that can put pressure on the computer running the tests. To avoid corruption, we need proper operating system support, editor support, and to thoroughly test ...Read More

Secrets of Automatic Code Translation

I've recently spent a few dev days at Caplin investigating the possibility of generating code in a number of languages from one source language. The business costs of maintaining multiple code bases (and their associated documentation) are obvious, ...Read More

The Non-Functioning Programmer (Part 1)

Over the years I have played with a whole bunch of languages here and there and have had a lot of fun hacking different things together. But in my second year of university I was introduced to a language called Scheme. ...Read More

CSS Sprites and the Jigosaurus

120 individual PNGs for one jigsaw As mentioned before, Jigosaurus is a multiplayer jigsaw puzzle that is played through a web browser. When Aleksei, Yasser and I joined as part of the Caplin ...Read More

Dev Days: Learning Haskell

There is a strong culture of innovation at Caplin and everyone is encouraged to take time out to explore new technologies, build useful tools that would not otherwise be scheduled, and generally learn interesting things. The easiest way ...Read More