Understanding JavaScript – part II.

We have discussed in the previous article what functions are. Let's continue our discovery and find out the important attributes of functions. As you have seen in the previous article, a function does not ...Read More

Understanding JavaScript – part I.

There are many approaches to learning JavaScript, but only a few of them explain how JavaScript works from the inside. I will demonstrate and highlight the most important features of JavaScript throughout a series of articles about how to use the ...Read More

Developing for IE8: inline-block resize bug

At Caplin we don't need to support the ancient Internet Explorer 6 & 7 browsers, which makes development a lot easier, but IE8 still has some bugs to make life difficult. On a recent project we found an annoying one affecting ...Read More

Leaking Memory in Single Page Javascript Applications

Back in the bad old days, not so very long ago, lots of development teams had to support IE6. One of the major problems of writing large javascript applications in antediluvian versions of Internet Explorer was that memory would leak very ...Read More

FinTech New York Hackathon Round-Up

After some much needed sleep we're able to reflect on the inspired (and at times manic) hacking that took place this weekend in New York. Over 30 teams presented their demos competing for the grand prize of $10,000 from Novus. ...Read More

Callback hell is a design choice.

Repeated comments and blog posts about the "callback hell" problem in JavaScript on sites such as HN and Reddit have really baffled this JavaScript programmer. Callback hell is where you call an asynchronous function which provides the ...Read More

QCon 2013 – Day two – end of day review

Day 1 ended… late. We finished at midnight after the Atlassian guys threw a party with free beer, foosball and a lot of socialising with fellow geeks. Even though it seems like the whole BBC dev team are here they are ...Read More

Testing by Contract in StreamLink JS

StreamLink for Browsers (SL4B) is the JavaScript library that we use to stream data from our server-side Liberator to our client side applications. It provides a simple API for client applications to interact with the financial (or other) data that they ...Read More

WebDriver, Chrome and Comet Servers

After spending about 3 hours of my day smashing my head against a really tricky little problem in WebDriver I thought I better just write a quick blog to try and warn other weary travellers. ...Read More