Bookmarks (RSS feed)

The web is for exploring, for surfing, so I collect web pages that I find interesting or handy here on my own web site. Have a browse and get lost in the World Wide Web.

Inside .git

A look inside the git folder we all normally ignore.

Obsidian day one starter pack

"Figure out ways to let notes “bump into” each other." I particularly like this tip about organising Obsidian notes in such a way that knowledge emerges rather than gets defined.

Value Study

Value Study is a free iOS app that I've made, aimed at people learning to draw or paint, for visualising where shadows and highlights appear within photo references or directly from your camera.

Efficiency is the Enemy

It's very common in product teams to be focussing on getting through the ever-increasing backlog. This article looks at why doing less is doing more.

Typescript Array.filter(Boolean)

A pattern I often use in my code is to use a map that produces a slightly different result, with nulls, and use filter(Boolean) to remove those nulls. It turns out TypeScript does not allow it. This blog post has a solution to that, it feels unnecessary but seems to work well.

Forestry CMS

This CMS uses your existing website repo as storage, so there are no databases involved.

The perfect unit test

In this blog post, Jack Franklin explains how to improve unit tests by keeping it all simple and clear.


"Day.js 2KB immutable date library alternative to Moment.js with the same modern API" This seems like a good step forward, Moment is brilliant it is quite large, this could be a good replacement.

Anatomy of an AI System

The Amazon Echo as an anatomical map of human labor, data and planetary resources. This shows just how one single product can affect pretty much everything.

Remove SVG Whitespace

Quite often I need a quick way to trim an SVG so it has no whitespace, I use this JS Fiddle I found as it makes it really simple to do. I'm not sure who wrote it but it basically modifies the viewbox to be the SVG's bounding box then returns the updated SVG. Nice and simple.

Who Can Use

This is a colour contrast checker with so much more information than the others, brilliant!

NHS 111 online live assessment

I began working on NHS 111 online around the stage of going into private beta. It was my first time on a government project and so I had not experienced or understood the stages required to get the Government Digital Services approval. This document explains all of the steps taken to meet the GDS requirements, it feels like a case-study in the work we've done over the past couple of years.

Watercolour World

This is a wonderful site full it watercolour paintings across the world.

[PDF] A Model for Reasoning About JavaScript Promises

This is an open access article written by Magnus Madsen, Ondřej Lhoták and Frank Tip, published by the ACM in 2017. I'm bookmarking it here to read later but it appears to provide a framework to better understand Promises in JavaScript. According to the abstract: "Based on λp, we introduce the promise graph, a program representation that can assist programmers with debugging of promise-based code."


This is a brilliant web app for turning black and white images to colour, works very well!

Fantastic Maps

This is a lovely blog full of brilliant fantasy-style maps and lots of expertise.

How To Add Images To A GitHub Wiki

After trying to drag and drop an image into a GitHub Wiki with no success, I found this article explaining how. Essentially after you've made the first page you can clone the wiki (it is a git repository with markdown files in it). From there you can add images to a folder and commit them like any other git repository.

Why Notre-Dame Was a Tinderbox - The New York Times

This article by the New York Times (about the awful fire at Notre-Dame) is a masterclass in web design. it uses a 3D model with impressive scrolling (a rare good example) and bitesize text to really help the reader quickly understand everything.

111 online: finding the right pathway

Mat Johnson is a designer I work alongside on 111 online, in this article he explains the trials and tribulations of trying to guide a user to the questions that are most appropriate to them. We are far from the holy grail, but I think acknowledging that is quite refreshing!

Cache-Control for Civilians

In this article Harry Roberts explains all the important headers for caching that most of us have likely seen and completely ignored!

Gary Barlow's Desert Island Discs

I thought these two quotes from Gary Barlow seemed quite relevant to how I feel about the process of learning. "Give me the rules of music, because once I knew the rules of music as a writer then I knew how to break them". "For me having those years of being in a bedroom and being able to make mistakes and not being judged, it was crucial for me"

New Adventures 2019 on Notist

New Adventures 2019 was an incredible conference and some of the slides are already up on Notist.


Usually I would use dd to write images to SD cards but I always worry I will mess it up. Today I used BalenaEtcher and it was dead simple and worked really well.

Werner’s Nomenclature of Colours

"A recreation of the original 1821 color guidebook with new cross references, photographic examples, and posters designed by Nicholas Rougeux" Quite simply a beautiful website.

A Question of Timing

I saw this blog post from Cloudflare via a tweet from Ilya Grigorik. It explains how to see timings (dns lookup etc) for every curl request.

I tested it myself and it works really well. You add the following to ~/.curlrc (you will probably need to make the file too).

-w "dnslookup: %{time_namelookup} | connect: %{time_connect} | appconnect: %{time_appconnect} | pretransfer: %{time_pretransfer} | starttransfer: %{time_starttransfer} | total: %{time_total} | size: %{size_download}\n"

Harry Potter and the Sacred Text

I've recently been listening to Harry Potter and the Sacred Text, it's a podcast that uses a chapter each week from Harry Potter to explore a theme (such as loyalty, grief, friendship) in quite a lot of depth from various viewpoints. They use religious and spiritual approaches, but in such a way that even as an atheist I enjoy all of the Jewish and Christian bible reading techniques that they use.

The div that looks different in every browser

This is a tweet Martijn Cuppens that I think sums up the challenge and beauty of working on the web. Every browser is different, and you can never be quite sure what to expect. But if you design fluidly, this can bring out the best in a website not the worst.

The Doctor's Kitchen Podcast

This podcast is a fascinating exploration of health, lifestyle and food from a very scientific and medical approach. Each episode has very qualified people talking about their area of expertise.

Uber Case Study

A really insightful case study from a product designer working at Uber.

How Not To Be Ignorant About The World

This is a TED talk by Hans and Ola Rosling, discussing how our intuition needs to be flipped in order to more correctly understand the state of the world.

Jen Simmons' Monopoly Board

Recently I tried to create a Monopoly board using Grid in CSS, I didn't manage it. I kept getting three quarters of the way and then getting stuck. I tweeted about it and Jen Simmons' very quickly responded with an example!

Play The Pain Away

An interesting article about research by the University of Washington on the use of virtual reality as being equal to a moderate dosage of opiates for controlling pain.

Crafting Data Driven Maps

This is a brilliant article about how Uber went about creating a design system for their various maps and data visualisations.

Introduction to Docker

This is a great intro to Docker, with a nice explanation of how it differs to Vagrant.

Explain Shell

This is a great little website for dissecting shell commands.

Redesigning Google Chrome

This appears to be a very interesting article about how they went about redesigning Google Chrome. It is in my read later pile at the moment but looks like a very detailed article.

3D Model of Brain Activity

This is an outstanding 3D model of brain activity measured using functional magnetic resonance imaging (fMRI) while listening to two hours of stories.

What Is Functional Programming?

This is a great article by Kris Jenkins. Where most article about functional programming are hard to follow, this one focuses on pure functions and just encourages everyone to stop hiding inputs and outputs. Worth reading.

Archiving websites with wget

I always forget which flags to use on wget to get the best archives, this seems to work well. Thanks to DArcy Norman for posting it.

wget --mirror -p --html-extension --convert-links -e robots=off -P . https://url-to-site


In my recent attempt to learn the craft of cocktails, I have discovered The Drink Blog. It is a nicely designed website with lots of cocktails. This one in particular interests me, as I already have all of the ingredients!

Web! What Is It Good For?

I really like this article by Jeremy Keith. As always, he has a special way with words that makes quite a controversial viewpoint seem trivially common sense.

Old Maps Online

This portal has a huge amount of old maps on, I could spend a long time looking through them all!

Kitchen Note: How to cook properly

I asked Twitter how I could best improve my cooking skills and John Oxton-King wrote a full length blog post reply. Definitely advice I plan to follow.

Halt All Vagrant Boxes

I always have ports already open on random virtual machines, so this helps to solve that.

for VM in `VBoxManage list runningvms | awk '{ print $2; }'`; do VBoxManage controlvm $VM poweroff; done

Fighting Spam

An interesting canonical question on server fault about fighting email spam.

7 Rules for Creating Gorgeous UI

This is a very good article aimed at developers and UX designers for learning UI and visual design.

Margaret Hamilton

I had never heard of Margaret Hamilton before, but she appears to be quite an incredible person.

Teleport Fix for Yosemite

Teleport on Yosemite requires copying the app to the desktop and adding to accessibility.


John Oxton King recommended me to make a Gremolata for dishes that need some contrast in flavours, I had never heard of it before but sounds good. Essentially chopped lemon rind, parsley and garlic.

Learn to speak vim verbs, nouns, and modifiers!

I find vim to be quite an essential tool, especially while working on servers. This handy little guide quickly shows the vim philosophy of combining verbs, nouns and modifiers.

A look at SpatiaLite indexes

We needed a way to search large spatial databases quickly, this provides a way to easily index the longitude and latitude of the data.