The beauty of small tests
When tests are small, a test failure means just one thing – somewhere in these ten lines of code which are being tested, there is an error. Ok, sometimes this can mean that there is an error in the...
View ArticleWhat’s in a Persona?
Personas are a tool we use at Caplin to help us REALLY understand who our users are and engage everyone in the company in building something compelling that will delight our users. No I am not talking...
View ArticleIf you can’t think of a good name, use a bad one
I’ve just read a great tweet from @KentBeck that provides an interesting solution for something that I have always struggled with. if you don’t have a good name for it, give it a bad name. a really,...
View ArticleWhat does software look like?
As software engineers we work with substance which can neither be seen, smelt, touched, heard nor tasted. One might argue that we “see” the code, but in reality, our source code is no more than the...
View ArticleCSS 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 Graduate...
View ArticleHigh Frequency Trading How To
I stumbled across an interesting new blog about High Frequency Trading recently. WK’s High Frequency Trading How To covers some of the technical aspects of software and systems that handle high...
View ArticleDart: did Google miss the bull’s-eye?
The vocal portions of the Web that care about such things seem to have already made up their minds about Dart, the new web programming language from Google. My opinion of it has been flipping between...
View Article‘Magic Ink’ and the evils of interaction design!
Over on Coding the Markets there is an interesting discussion around Bret Victor and his treatise on UI design ‘Magic Ink‘ from (2006) where he uncovers the evils of interaction design Here is my...
View ArticleTech Talk – Behaviour Driven Development
Last week several of my colleagues and I watched a Google Tech Talk on Beyond Test Driven Development: Behaviour Driven Development, presented by Dave Astels way back in March 2006. Although four years...
View ArticleAgile – Tests = Fragile
The nature of agile projects, with lots of small releases mean that there are a lot of test runs to execute if you want to have any confidence in the code and the product. Ignoring this testing just...
View ArticleDomain Driven Design: Approaches to Streaming
In Sockets, Messages and the Pub Sub Paradigm: Approaches to Streaming I discussed various techniques involved in streaming data to a browser. There are many products available making use of these...
View ArticleLet's all jump on the Kanban
We have been using agile methods – a typical mix of Scrum and XP – for some years now at Caplin. Though all of us have had some level of formal training and many years of experience in agile...
View ArticleWould a setMonth() by Any Other Method Name be as Sweet?
On 31st December 2009 a unit test that had been running successfully in the Caplin continuous integration environment for two months suddenly started failing. The test in question created a JavaScript...
View ArticlePitfalls of Exception expectations in JsUnit
At Caplin we use the JsUnit framework to test our JavaScript code. Over time we have made minor modifications to it, integrating Mock4JS and JSCoverage, as well as adding a few of our own extensions...
View ArticleAgile Framework Development
At times it seems that the philosophy of agile software development is at odds with that of framework development. Given the amount of print and web space dedicated to agile methodologies, it’s...
View ArticleJavaScript Variable Naming Convention
When I joined Caplin 10 years ago I came from a company that used Hungarian notation to name its C++ and Visual Basic variables. For me, it seemed a natural progression to continue to use these naming...
View ArticleTesting APIs for Backwards Compatibility
A couple of weeks ago, I wrote about Agile Framework Development and the various techniques that we have used here at Caplin to build our APIs in a way that is sympathetic to agile methodologies. One...
View ArticleAn Estimate is not a Guarantee
The statement that an estimate is not a guarantee might sound obvious but it often feels anything but. Over the years I have frequently heard managers complain that something has taken longer than was...
View ArticleImprecise Accuracy is better than Precise Inaccuracy
Last week I blogged about how an estimate is not a guarantee. A small, but important, omission from that post was the distinction between an accurate estimate and a precise estimate. Frequently...
View ArticleCaplin Tech Talk Series, by the self-elected programme chair ;-)
As QA manager at Caplin, I manage a very busy team of test engineers. Previous to starting at Caplin, I was the European Test Engineering Manager at Google. While there I gained a few helpful tips to...
View ArticleWelcome to the Caplin Systems Tech Blog
Caplin Systems has been building pioneering real-time web technology for financial markets since 2000. During this time we’ve come up with a lot of very clever solutions to very difficult problems...
View ArticleAdding an Observer to an Observable
The Observer design pattern is used in many applications. If you are unfamiliar with it, or need to remind yourself about the specifics, you can read about it at Wikipedia or MSDN. Caplin Trader even...
View ArticleSPA 2009 Conference – Testing Ajax Applications through the GUI
Last week myself and Patrick Myles, Caplin’s Head of Engineering, presented a workshop session at the SPA 2009 conference on Testing Ajax Applications through the GUI. The main theme of the talk was to...
View ArticleHow to dynamically create a class definition for use with Mock4JS
Mock4JS is a really useful unit testing helper library that allows you to create mocks of your JavaScript classes. What it doesn’t presently support is mocking of objects that you can’t create an...
View ArticlePortlets and Ajax
Developing portlets can be a frustrating experience, especially if you are used to technologies with lots of helpful information out there on the web. While lots of people are using portlets, it seems...
View ArticleSilverlight for single dealer portals?
Could it be that the time for Silverlight in finance has come? Does Adobe Flex solve any of the complexities of building web applications? Where does Caplin Trader fit in to this landscape? These are...
View ArticleSPA 2010 conference proposals
The SPA conference is always a great event with lots of interesting sessions and a good mix of people in attendence. Following a succesful session that Andrew MacLeod and I ran at last year’s...
View Article