Knowledge: Tech Blog

Where we share our thoughts on technology and design.

Latest Articles

Colin Eberhardt

Writing a CHIP-8 emulator with Rust and WebAssembly

Over the past couple of months I’ve been exploring the potential of WebAssembly. I wanted to try my hand at creating a more complex WebAssembly application, which is why I’ve been spending my evenings working on a CHIP-8 emulator ... and learning Rust!

James Brunton

Newcastle Interns 2017: Desk Directory

As interns at the Newcastle office we were tasked with creating an interactive desk directory to allow new employees to better acquaint themselves with their building and colleagues, with the speculative goal of replacing the company-wide internal phone directory. The original brief specified we should present a graphical view of...

Colin Eberhardt

Developing Bristol Pound - An Open Source React Native App

A few weeks ago the new Bristol Pound mobile app was launched, allowing users of this local currency to find vendors, view transactions and make payments on both iOS and Android. This post describes our experience of writing this application using React Native.

Nicholas Wolverson

CodeMesh 2017

Last week I took a trip to London to attend CodeMesh, the Alternative Programming Conference. Attending conferences can be a way to expand your horizons and inspire interest in a variety of topics, and CodeMesh did this for me and more, with a great line-up of experienced speakers. Here I'll describe a few of the talks I attended.

Nick Owen

First look at Polymer 3.0

I'll be taking a first look at Polymer 3.0, including how to integrate other technologies, as well as comparing it with other front-end frameworks.

Jean-Sacha Melon

Agile Puzzle - Detailed planning and tracking in Agile

A common misconception I have frequently observed in organisations that are adopting agile is around using story points for planning, forecasting and progress tracking. Long- and mid-term planning in agile can have devastating effects on teams, which is why I’d like to shed some light on it and talk about how the situation can be tackled in an agile way providing much better results for the project and the organisation itself.

Robat Williams

Quick guide to webpack source map options

A quick guide to the available source map options in webpack, and the considerations for choosing one in different scenarios.

Colin Eberhardt

Migrating D3 Force Layout to WebAssembly

In this blog post I'll take a look at a real-world application of WebAssembly (WASM), the re-implementation of D3 force layout. The end result is a drop-in replacement for the D3 APIs, compiled to WASM using AssemblyScript (TypeScript).

Ross Rhodes

Bugathon at Heriot-Watt University

Following the success of Scott Logic's first Bugathon in Newcastle last March, members of the Edinburgh and Newcastle teams grouped together to organise another Bugathon at Heriot-Watt University's Edinburgh campus. Held on Wednesday, October 18th, this post gives an insight into the work carried out by Scott Logic to prepare and run the event.

Colin Eberhardt

Exploring different approaches to building WebAssembly modules

In this blog post I'll explore the various different ways you can create WebAssembly modules, using Emscripten, LLVM and AssemblyScript, comparing the tooling and performance.

Oliver Kenyon

Using Kafka and Grafana to monitor meteorological conditions

Apache Kafka provides distributed log store used by increasing numbers of companies and often forming the heart of systems processing huge amounts of data. This post shows how to use it for storing meteorological data and displaying this in a graphical dashboard with Graphite and Grafana

James White

What's new in JUnit 5?

JUnit 5 has been available for a few weeks now so in this post I will investigate setting it up and migrating from JUnit 4 then explore some of the new features available.

Jason Phillips

An agile life in GDS projects

Working for a Digital agile consultancy was my first real exposure to Government / Public Service projects. GDS provide an exceptional amount of process and control for any OGD (Originating Government Department) so trying to follow their rules, the client's wishes and employing a succesful agile delivery methodology can mean serving multiple masters. It did (sometimes) work out.

Zinat Wali

Cassandra - Achieving high availability while maintaining consistency

A discussion about Cassandra consistency levels and replication factor, which are frequently misunderstood. This post explains the Cassandra infrastructure and how its configuration can be tuned.

James White

Mutation Testing - Who will test the tests themselves?

Having good tests is vital for maintaing code but it is difficult to assess the quality of your tests. Mutation testing provides one way of evaluating your tests. In this post I will be using PIT with Java to demonstrate the capabilities of mutation testing.

Gary Thompson

How Big is a Story Point?

If you're new to Agile you've probably heard the term Story Point a few times and, especially if you come from a more traditional project management or product background, you may be trying to figure out what a Story Point is and how big one is. This article tries to explain what this is in a more digestible format.

Colin Eberhardt

Asynchronous Recursion with Callbacks, Promises and Async.

Creating asynchronous functions that are recursive can be a bit of a challenge. This blog post takes a look at various different approaches, including callbacks and promises, and ultimately demonstrates how async functions result in a much simpler and cleaner solution.

Alec Gard

Foyer Screen - 2017 Edinburgh Intern Project

As the Edinburgh 2017 Summer Interns, Arran Rashid and I have spent twelve weeks working on a new foyer screen for the Scott Logic offices, this post describes the project and our time at Scott Logic.

Steven Hunton

Scaling Agile in the Public Sector

With a well publicised history of multi-billion pound IT failures and operating inefficiencies the UK government took the decision to adopt agile across the public sector. This is a brief look at the history of that adoption and lessons learned for those with an interest in agile project delivery.

Jan Akerman

Thoughts on Jest Snapshots

Jest is a testing framework that provides the testing tools we now expect to see in a modern software project. It provides fast parallelised test running, with a familiar assertion syntax, built in code coverage, Snapshots and more. In this post, I'll be investigating Snapshots and laying out some thoughts!