Blog

Our thoughts on technology and design

Testing
Automation of user interactions in browsers can be difficult. Even more so when you have to hunt for elements in a single page application. How can we ensure reliable location of these and reduce flaky checking?
People
Business must attract broader people into software and ensure the gender-based conditioning that has resulted in a male industry is confined to history.
Tech
d3-path is an abstraction over SVG path creation which uses the canvas element's Context2D interface. Previously creating path generation code involved a lot of concatenating SVG path commands like M0,0 or L2,2, and the somewhat more cryptic C70 20,120 20,120 10. Even with ES6 string interpolation such code can be incredibly hard to read (and write!).
Testing
How to stay fresh, focused and super effective when testing alone
Tech
A brief look at the current state of application security in Electron
People
Lead Test Engineer Daniel tackles the myths around a software testing career.
UX Design
On the 1st of March myself and Graham Odds travelled to Helsinki, Finland to attend the 8th annual Interaction week.
Tech
I recently created a site which I'm proud to say now hosts an impressive collection of tweet-sized D3 creations from the hugely creative people of the internet. In this post I'll talk through deconstructing one or two of those creations with the aim of giving any aspiring artists a starting point.
Tech
Making the jump to fully modularized applications in javascript is now incredibly easy with ES6 modules and javascript package manager (jspm). We'll take a look at the refreshing simplicity in the jspm workflow and how it goes about achieiving this.
Tech
In this post, we discuss cross site scripting attacks against web apps, and how to defend against them.
Tech
This post discusses building a modern single page marketing site using a static site generator
Tech
The next version of D3, the data visualisation library, is on the way. As we maintain D3FC (a charting library built on top of D3) we want to stay on top of those changes, to make sure that the library makes appropriate use of any new functionality and to embrace any new conventions that have emerged.
Tech
Swift Bond is a binding framework that removes the mundane task of wiring up your UI. In this tutorial, which was originally published on Ray Wenderlich's website, I introduce the concepts of Bond and demonstrate how to use it to rapidly build an iOS app.
Tech
In this post, we discuss SQL and other injection attacks against web apps, and how to defend against them.
Testing
Some of the biggest challenges when testing software can be getting the software into some very specific states...
Tech
If you've used React and Flux, you'll know how powerful this combination is when building single page applications. But how practical is it when building truly large scale applications with multiple sections?.
Tech
In this post, the causes, effects and mitigations of Man in the Middle attacks against web apps are discussed.
Tech
Hot-reloading UI is a **hot** topic at the moment. I want to take some time to explain why, in the class of applications I typically work on, I believe it to be such an important feature for future UI frameworks to have.
Data Engineering
This post uses Docker Compose to spin up a three container HTTP server. One container services the HTTP requests and delegates work to two other containers in a load-balanced way. Erlang is used for development to add a bit of extra challenge!
Tech
This post looks at integrating Angular 2 with Immutable.js and Redux, a popular Flux store implementation. It also demonstrates that the functional approach, encouraged by these technologies, allow for powerful concepts such as time travel, where you can replay actions and application state.

Authors