Knowledge: Tech Blog

Where we share our thoughts on technology and design.

Latest Articles

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...

Colin Eberhardt

A Journey Through Sound Synthesis with AudioKit

For the past four years I’ve been an author on Ray Wenderlich’s website which provides tutorials for iOS developers. I don’t do much native iOS development these days, However, I do like to keep my skills up to date. As part of this team I sometimes find myself being assigned...

Andrew Jones

Scottcoin, centralising the decentralised

We’ve recently been investigating uses for the blockchain and as part of this, we’ve developed our own system called Scottcoin. This post will explore the core components of the Bitcoin system, how a transaction goes through it, how our internal version differs and what advantages and disadvantages it brings.

Darren Smith

Using Rally to benchmark Elasticsearch queries

In this post I describe how to use Elastic's Rally to generate benchmarks for your private Elasticsearch queries and clusters. I'll be creating a benchmark which allows comparison of an unscored query with one where scoring is enabled.