Knowledge: Tech Blog

Where we share our thoughts on technology and design.

Latest Articles

Colin Eberhardt

Interactive and Responsive Small Multiples with D3

Small multiples repeat the same basic chart, typically with the same axes, to display different slices of a dataset. They are an excellent way of showing rich multi-dimensional data, without becoming a dense mess of lines. This post looks at how to implement small multiples with D3 and d3fc.

James White

Cassandra vs. MariaDB, Scaling

In this post we compare how Cassandra and MariaDB can be configured to operate in clusters and how this affects response time for queries. We found Cassandra to scale well and to be highly configurable. MariaDB can be used with Galera Cluster but it does not provide horizontal scaling. Also NDB can be used to scale MySQL but it was not as configurable as Cassandra.

Marzio Superina

React time travel: the store may not be enough

Your store is the source of truth... as long as it makes sense. A concrete example integrating Redux with React Router

Ross Hendry

Keeping Secrets in Docker

Docker 1.13 introduces a simple way of providing secrets to containers

Dave Ogle

Cassandra vs. MariaDB

We've been comparing Cassandra and MariaDB in single node setups, exploring the issues of each in terms of performance and ease of use from a development perspective. In this article we explore the issues at play in such a setup such as the differences in queries, speed of response and the features that seperate these two technologies.

Rosie Hamilton

Creating My First Web Application with Go

How I used Go to create a web app that would help me practice violin scales.

Marzio Superina

Level-up your dependencies in React

Level-up the state is perhaps the most useful React pattern. Apply it to your dependencies and you can get many benefits, like better tests, flow control and idempotent routes.

Colin Eberhardt

Visualising London Marathon Training Data From Strava

I downloaded an analysed the training data for 1,000 athlete who ran the London Marathon in 2016. From this data I've learnt that people put in ~30% less mileage than popular plans suggest, Sunday mornings are a firm favourite for long runs, and that Saturday morning parkruns are very popular!

Dominic Ketley

StreamSets with Docker - an example HDFS integration

StreamSets Data Collector (SDC) is an open source tool for stream-based extracting, transforming and loading large quantities of data. It provides an easy to use UI on top of the underlying processing power of YARN and Spark Streaming with a large number of installable integrations with source and destination systems....

Tamara Chehayeb Makarem

Sharing styling specs with developers

This post looks at the pros and cons of some of the automated handoff tools available for designers to share style specs with developers.

James Dunkerley

Initial impressions of Alteryx 11

My first thoughts and impressions of version 11 of Alteryx.

Daniel Cook

The Rise of Big Data Streaming

With the advent of the Internet of Things, the world of Big Data couldn't be more relevant. This post gives an overview of technologies that achieve processing at scale and in real time.

Colin Eberhardt

Visualising London Marathon Strava Data

I recently downloaded run data for the 7,190 athletes who recorded their London Marathon on Strava, a popular platform for runners and cyclists. This blog post visualises and analyses the data in various interesting ways.

Rosie Hamilton

Foreign Currency Trading Heuristic Testing Cheat Sheet

After 18 months testing FX trading software I decided to create and share a heuristic cheat sheet to help explore trading apps.

Tamara Chehayeb Makarem

Four tips for achieving successful UX workshops

Facilitating UX workshops can be challenging when ideating with non-designers who have not participated in a UX workshop and are sceptical about its value. In this post, I suggest four tips for achieving successful UX workshops and gaining the trust of the more sceptical participants.

Darren Smith

Consumer Driven Contracts using Pact

In this post I will talk about Consumer Driven Contracts in Microservices architectures. I will also give an example of how to use Pact in a modern JavaScript application.

Chris Price

Efficient SVG layout with d3

When creating d3 visualisations it's common to want some form of responsive layout. However, SVG and canvas don't provide a native way to do this. Most examples found online either use fixed dimensions or resort to some form of manual layout to achieve the required effect. This post introduces an alternative approach using CSS and custom elements.

Drew Theasby

Fiddler's Autoresponder to mock API Responses

Fiddler's AutoResponder is a great tool to mock API Responses when you're testing front end logic. It's simple but provides some powerful testing options. This is a short post to show you how.

James Dunkerley

Unaffordable Country In Apache Spark

Recreating the data used for the Guardian's Unaffordable Country visualisation in Apache Spark.

Colin Eberhardt

Semantic Versioning is not enough

A few days ago the roadmap for future Angular releases, starting with v.4 in March 2017, was unveiled. It once again made me re-visit my personal doubts about semantic versioning, the underlying issue being that it is great for computers, but bad for humans. Considering that people are the primary...