-
My first Mermaid contributions
-
Fixing bugs in Day.js (Part 2): a new helper function and reflections on readability and recursion
-
Fixing bugs in Day.js (Part 1)
-
Interconnected fields in Observable
-
Observable multi-line multi-series tooltip
-
My AlphaSmart Neo experience
-
Looking back on headless prototyping with GatherContent
-
Next and previous links for Jekyll blog posts
-
Stretch goals and moonshots
-
Setting small habits
-
Habit tracking
-
My first Observable notebook
-
My new Git editing workflow
-
Tufte’s data design principles and insights
-
Automatic Git patch generation at word diff level
-
Word-by-word commits with Git?
-
Rapid prototyping with GatherContent: reflections
-
Hacking the GatherContent-Sitecore connector
-
Slopegraph in D3 v4: UK general election results 2015-2017 (again)
-
UK General Election 2017 Transfer of Seats (Part 2)
-
UK General Election 2017 Transfer of Seats (Part 1)
-
Using Atom Todo Show Package to check Markdown files
-
D3 data visualisation and Browserify
-
GatherContent: the way we use it (or have been using it) and why
-
3 things I learned about blogging in 2016
-
From spreadsheet to website: doing DevOps on the N64 blog
-
Wrapping text: a Christmas gift spreadsheet
-
Rapid prototyping with Gathercontent – how and why we do it
-
Accessing files from the GatherContent API
-
Content delivery from GatherContent – with HitherContent, Heroku, and Handlebars
-
Creating HitherContent
-
Problems in the philosophers’ playpool
-
Ancient dates
-
Hygiene for your Node package: readme, versioning, and badges
-
Building a Node package: what, why, and how
-
Visualising EU referendum results (Part 4)
-
Creating a portfolio with Bl.ocks
-
Visualising EU referendum results (Part 3)
-
Skopje business trip
-
Visualising EU referendum results (Part 2)
-
Visualising EU referendum results
-
Playpool charts
-
Allowing date uncertainty
-
Awkward dates
-
From idea to published post: a workflow using Jekyll
-
Using GatherContent for web and print
-
D3 timescale visualisation
-
Journal visualisation ranged bar chart continued
-
Overcoming obstacles to user research
-
Visualising my journal writing
-
Writing user stories with subject-matter experts
-
From pair-programming to pair-writing
-
Creating through failing
-
Encoding the labyrinth
-
Walking through a labyrinth
-
Deferring criticism while reading
-
Relaunching my blog with Jekyll
-
Quick-fix for Google Sheets’ organisational chart
-
Apologies for a late June
-
Previewing Scriptogram: Vanilla vs `ahem`
-
Creating a Scriptogram template (Part 2): Building an offline previewer
-
Creating a Scriptogram template (Part 1)
-
Creating burndown charts for writing
-
Update: computer set-up problems
-
Restructuring my blogging workflow
-
Using Trello to reach consensus
-
Image-handling (Part 3): Reference and publish
-
Image-handling (Part 2): Exploring Picasa API
-
Picasa and OAuth 2.0
-
Image-handling (Part 1)
-
Making and breaking habits
-
Republishing blog posts
-
Tags vs. Categories
-
SEO-friendly slugs
-
Crosslinking blog posts
-
Tying Up The Publish
-
Archiving posts
-
Git writing flow
-
Automating the creation of new posts
-
Mustache vs. Handlebars scoping
-
Curling up with Scriptogram
-
Separating metadata from content
-
Writing user stories
-
Using Scriptogram