Probably one of the most powerful questions we can ask ourselves and one another. 3 letters, or one syllable is all it takes to unlock enlightenment, understanding, empathy, sorrow, love.

It seems to be human nature to react or respond to things we don’t understand or care for with our…


Amplify+AppSync with a Custom DynamoDB Resource

Amplify makes building apps easy, annotate your GraphQL schema with @model and Amplify will happily generate you a DynamoDB table you can Query/Mutate/Subscribe too…

What about when you have a DynamoDB Table created outside of Amplify? Maybe through CDK or CloudFormation (or just the console)? …


An iPad running Playtime Island being used by a child.

For the past five years BBC Children’s & Education have been building interactive games and experiences with JavaScript and HTML5. This enables us to ship games to any platform with a modern web runtime. …


Newsround is one of the key propositions within BBC Children’s as a go-to news service for children.

Over the past 6 months we’ve transitioned Newsround away from a legacy, on-premise technical stack over to a serverless, cloud based infrastructure.

In this post I’m going to talk about the technical strategy…


Asymptotic notation is a set of languages which allow us to express the performance of our algorithms in relation to their input.

There are three main notations for expressing the performance of algorithms, put simply they are:

  • Big-O — The worst case (upper bound).
  • Big Omega — The best case…


Let’s talk about some of the internals of git and how it stores and tracks objects within the .git directory.

If you’re unaware of what the .git directory is, it’s simply a space that git uses to store your repositories data, the directory is created when you run git init…


Web optimisation is important; it’s how we make our websites fast — which in turn keeps our users happy and helps us to maintain a good SEO profile.

The way in which we build and optimise websites is driven by the foundation of data communication across the web: HTTP —…


Let’s take a crash course on how we can build HTTP/2 ready applications in Node.js.

Firstly, many clients and browsers are not planning on implementing the ability to use HTTP/2 over plain-text, even though this is in the protocols specification. …


Web servers supporting HTTP/2 can take advantage of a couple new features introduced as part of the new specification designed to improve how we deliver content over HTTP, and as a result, significantly improve the end user experience of our applications!

This article is based of H2O, a modern and…


Moving directories is easy, on any command line flavour, it’s hardly the most complex command. The real trick is remembering where that all important directory is you need to get back to when you’ve moved up, down and sideways in your file system!

Have no fear, pushd and popd are…

Jacob Clark

Head of Platforms @ UK Home Office

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store