How to make Karma / Jasmine tests fail on console errors

I had a good google for this problem, and couldn’t find a solution, so I though I’d put my own here.

I’m running Jasmine tests through Karma. One of the components I’m testing logs error messages to the console, which is the desired behaviour in production but makes testing hard because methods fail silently.

This code snippet causes any calls to console.error(message) to throw an exception, ensuring that any tests that trigger errors will fail.

Continue reading How to make Karma / Jasmine tests fail on console errors

Daphne’s tweeting catflap

Daphne the Wondercat: monarch, fluffball, evil genius.

daphcrown-2_400x400Daphne often takes to social media to rant about the inadequate service provided by her staff (tech journalist Kate Bevan). This activity is cathartic, and highly recommended for any household pet. Unfortunately, Daphne’s catflap was until recently mute, and couldn’t tell the world about its thoughts and feelings.

This was a pity, because Daphne’s catflap actually has a lot to tell the world. You see, the catflap *loves* daphne. Each time daphne passes through, its universe lights up with joy. Every time Daphne’s whisker brushes against it, a tremor of excitement passes through its little plastic body.

In this project, we gave the catflap a voice.

Continue reading Daphne’s tweeting catflap

Hello World

I’m Bernie. I’m a software developer and amateur photographer, and this is where I put my assorted articles, tutorials, opinion pieces, software release announcements and miscellany. I also have a portfolio website at and a travel blog at

If you’d like to contact me for any reason, please do so: [email protected] or leave a comment on an article.

Bernie’s Big Web Graphics Programming Environment Shootout

In which I harness the power of public expectation to motivate myself to write more software posts, by loudly committing to write a series of three.

A graphics programming environment is a language or library suitable for drawing pretty patterns. In this series I’m interested in raster drawing environments, in which you can directly manipulate pixels rather than using higher level constructs like HTML or SVG. I intend to implement the same app in several different environments and compare the results.

Continue reading Bernie’s Big Web Graphics Programming Environment Shootout

Introducing OGRE

I have a project to show y’all. I’ve been working on it in my spare time for the last half year, and while its not yet complete enough to be considered a product, the underlying technology is solid.

OGRE is a platform neutral technology for taking a data set on a server and creating real-time replicated slaves on clients. It’s fast. Very fast. It’s also highly extensible so it’s likely that OGRE can be adapted to fit your project, not vice versa.

Continue reading Introducing OGRE

A full page map for WordPress and WP Geo

You might want to skip to the installation instructions or read this article in Serbo-Croatian care of Jovana Milutinovic, French from Kate Bondareva, or Kazakh by John Vorohovsky.

When I started writing a travel blog almost half a year ago, I had a specific vision of how it would look. I wanted a big world map, onto which I would drop little pins. Each pin would be a single blog post, and clicking that pin would allow you to read the post in one of those little Google Maps speech bubble thingies.

Continue reading A full page map for WordPress and WP Geo