Javascript Interfaces: Putting The Java back into Javascript

Object-oriented is mostly about encapsulation, but it's also about interfaces and inheritance. However, years of experience have caused most programmers to realize that class inheritance is mostly a bad idea; it breaks encapsulation while increasing cognitive load by introducing cryptic indirection. This is ...Read More

The Pain of HTML5

One of the essential problems with any new technology is whether to adopt it and diabolically abandon users who are not able to upgrade or miss out on new possibilities and eventually become irrelevant. The middle way of course is to fly to the ...Read More

The WHY of WAT

Recently a talk given by Gary Bernhardt at CodeMash has been doing the rounds.  In it, he pokes fun at some apparently crazy behaviours in Ruby and Javascript. While I might not be able to persuade you that all of the things he ...Read More

Testing Asynchronous JavaScript with Jasmine

For many applications, when you call a method the effect is immediate. For example calling a method like showErrorMessage("Error") will instantly update the page to give feedback to the user. However, not all applications are this simple. Caplin uses StreamLink libraries to connect our ...Read More

JavaScript is Hard Part 1: You Can't Trust Arrays

We also know there are known unknowns; that is to say we know there are some things we do not know. But there are also unknown unknowns – there are things we do not know we don't know. - Donald Rumsfeld, February 2002 I ...Read More

Scaling JavaScript

When your JavaScript codebase consists of a couple of functions to do image rollover and form validation, then javascript seems like an extremely easy language.  It has relatively little bureaucracy for getting simple things done, an extremely useful literal notation for maps and ...Read More

iOS5 Web Apps

When Apple released iOS 4.3 there was much talk of the improved Javascript performance due to the new 'Nitro' engine, however, it was soon discovered that Web Apps that were saved to the home screen and launched from there did not use that ...Read More

Javascript: Elements of Style

I recently read Farhad Manjoo’s polemic on slate explaining that using two spaces after a full stop is flat out wrong. Of course things are never that simple and Manifest Destiny has an ...Read More