An 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 anticipated and have been told to improve the estimates. Of ...Read More

Testing 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 of the key problems with the ...Read More

JavaScript 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 conventions and adapt them to ...Read More

Agile 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 incredible how little is dedicated to this topic. It's almost as ...Read More

Pitfalls 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 that are sympathetic to our ...Read More

Would 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 Date object, modified it using various setter methods, then verified that the format ...Read More

Adding 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 provides a helper class to take care of ...Read More