Knowledge: Tech Blog

Where we share our thoughts on technology and design.

Latest Articles

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!

Bartosz Jedrzejewski

Chess data mining with Apache Spark and Lichess

Lichess makes over 100GB of chess games from 2017 available on their website. This post shows how this data can be transformed with Apache Spark and analysed. Something for Data Engineers and Chess Enthusiasts alike!

Ross Rhodes

Team Building, Development, and Go-karting : My Induction Week at Scott Logic

This blog post, written by a graduate developer joining the Edinburgh team, reflects on his induction week experience at Newcastle. A total of sixteen graduates across UX, development, and testing joined this August, and the induction was an ideal opportunity for everyone to meet.

Chris Price

Adding WebDriver tests to create-react-app generated projects

This post demonstrates one way to add Selenium e2e tests to a `create-react-app` generated app. It uses Jest as the test runner, embraces modern JavaScript features (including async/await, modules, fat-arrow functions, templated strings, etc.) and attempts to ensure that modern editors are able to provide useful auto-complete suggestions when authoring tests.

Colin Eberhardt

Creating a Market Profile Chart with D3

Market profile charts are relatively complicated and specialised charts used by financial traders. This blog post looks at how to render a market profile chart using D3.

Steven Hunton

Evolving the Agile Revolution

This blog post discusses concerns around agile delivery, particularly within the public sector

Mili Mathew

Test meetups - could be your cup of tea!

This blog describes the MeetUp trend in Testing, attending and hosting them

Andrew Carr

The Big Data technologies that saved BP $7bn

Yesterday the Financial Times boldly declared that BP saved $7bn since 2014 by investing in Big Data technologies. I spent a couple of hours researching Big Data technologies associated with BP members of staff to try and build up a picture of exactly which technologies they are using.

Bartosz Jedrzejewski

Successful microservices architecture with the Twelve-Factor App

Using microservices in your architecture is a very popular choice. Unfortunately it is also challenging to get it right. With the help of Twelve-Factor methodology, I will tell you how to set yourself up for a success rather than a disappointment.

Colin Eberhardt

cla-bot a GitHub bot for automating Contributor Licence Agreements

A few months ago we contributed a project, ContainerJS, to the Symphony Software Foundation, an organization that fosters open source and collaboration within financial services. The Foundation has various legal requirements that must be adhered to, including that all contributors (i.e. committers) sign a Contributor License Agreement (CLA). Unfortunately as...

Tamara Chehayeb Makarem

Working with type: Sketch vs. Adobe Illustrator

In this post, I go over the similarities and differences between Sketch and Illustrator when working with type.

Graham Odds

Change, Presented Two Ways

Inspired by a recent dot chart visualisation focusing on the change of a value in different circumstances, this blog post presents the same data visualised using a slopegraph and compares and contrasts the two forms.

Steven Hunton

A Continuous Change Culture

This blog post discusses the merits of adopting a culture of continuous change

Colin Eberhardt

Mapping UK place name endings (With command line cartography tools)

Place names in UK and Ireland are very much influenced by their surroundings, with endings such as -hill, -ford, and -wood quite clearly referencing local geography. This blog post uses the new NDJSON command line tools for processing, transforming and joining datasets to create an optimised visualisation.

Zinat Wali

Load testing Alteryx API with Gatling

A successful attempt of load testing Alteryx API with Gatling and a not-so-successful attempt with Apache JMeter

Mili Mathew

The ALF – Annual Summit 2017 and do Conferences really add value?

This blog describes the ALF annual summit in London, why it is different in approach to other conferences, and what value conferences provide.

Nick Owen

Does NPM 5 deprecate yarn?

Does npm 5 deprecate yarn? With promises of increased speed and consistent package versions yarn has a new competitor, but in this post I'll show the reasons for why, for the time being, I'll be sticking with yarn.