Blog

Our thoughts on technology and design

Cloud · Video
In this talk, I explore some of the foundations and common approaches for designing resilient systems in cloud environments. I also look into how experimenting with our systems, by deliberately introducing failures, can help us better understand their behaviour.
People · Video
In this talk, I present empathy as a skill that can be cultivated and explores ways of doing that. Anyone interested in building their empathy skills or cultivating empathy within their team or workplace can learn here about different types of empathy, the ways it can empower us and its practical application in our day-to-day jobs.
Artificial Intelligence
The OpenAI Codex JavaScript Sandbox and the API which backs it, have (rightly!) generated a lot of interest and comment in the development community. When faced with something so different to what we expect, it's easy to assume it's all magic. In this post I'll peel back some of the layers and try to describe what's going on.
People
Covid-19 has changed our lives in every possible way, but now that lockdowns are beginning to lift, it's important to take a moment to consider some changes that might have flown under the radar.
Tech
Timezones, and daylight saving - the practice of moving clocks forward by one hour once a year - are a pain. They make it hard to schedule international meetings, plan travel, or may simply cause you to be an hour late for work once a year. For a developer, they are even worse! This blog post takes a visual journey through the last 120 years of timezones, daylight saving and the ever changing world time.
Tech
Always wanted to write a custom linting rule for your JavaScript project, but never been sure where to start? This guide will introduce the key concepts you need to give it a go!
Artificial Intelligence
...or what I should have known before I jumped in and started playing around. In this post I cover few shot learning and fine-tuning.
Tech
...or what I should have known before I jumped in and started playing around. In this post I cover logprobs and the "creativity" controls.
Artificial Intelligence
...or what I should have known before I jumped in and started playing around. In this post I cover the basics of tokens, the model and prompt design.
Cloud
As Cloud deployments become more powerful with increased provider competition, where does High Performance Computing (HPC) fit into the equation? This blog post explores the considerations for using HPC in the Cloud.
Artificial Intelligence · Video
Last month GitHub released Copilot, an AI powered tool that provides surprising accurate suggestions ranging from a few lines of code to entire functions. Copilot uses a vast and powerful AI model that is trained on billions of lines of open source code from GitHub. This, combined with the context provided by your code and comments, allows it to provide amazingly accurate suggestions. This is no simple autocomplete, this is pair programming with a robot!
Tech
TypeScript can enhance the experience of developing React components. However to fully represent the types of some dynamic components, we need to harness the power of union types. This article examines an example where union types improves our component typing.
UX Design
In this article, I focus on the migration strategy for legacy applications from a UX perspective and highlight the elements that businesses should think about.
Artificial Intelligence
I've been lucky enough to be granted access to the preview of Copilot, GitHub's new 'AI pair programmer' that is causing quite a stir. This blog post shares my initial thoughts and experiences with this tool. In brief, I'm stunned by its capabilities. It has genuinely made me say 'wow' out loud a few times in the past few hours, not something you expect from your developer tooling.
Tech
When using TypeScript for many developers it is natural to compare to Object Oriented languages. However TypeScript is different. This article looks at one tool that does not exist in Object Oriented languages: Union Types, and how you can use it to improve your TypeScript.
Tech
When first using TypeScript you get presented with a choice, do I represent that with an interface or a type alias? In this article I explain the differences and why and when you should choose one over the other.
Tech
This blog post shares the results of the first State of WebAssembly Survey, with results from 250 respondents surveyed in June 2021. We find that Rust is the most frequently used and most desired WebAssembly language and many other interesting results
Tech
RTK Query is the latest addition to the Redux family, intended to make loading data from a server as easy as possible. In this post, we'll look at why I'm so excited for it, and answer the question "but why does redux care about data fetching?"
Tech · Video
In this panel discussion, Ash Smith (GDS), Cheryl Stevens (DWP) and Mike Crockart (The Scottish Government) discuss their approaches to identity assurance, including opportunities to improve the user experience and potential obstacles to overcome along the way.
Tech · Video
In this talk, I delve further into the proposed transition from Open Banking to Open Finance, discussing some of the possible opportunities and challenges on the journey.

Authors