Writing
Technical writing and essays, going back to 2017.
Are you listening?
The difference between hearing music and actually listening to it, and what to do when your attention inevitably drifts mid-song.
Science-Backed Goal Setting and Pursuit
Notes from Andrew Huberman's Goals Toolkit: pick one goal, break it into 12-week cycles, and use negative visualisation when motivation runs out.
My goals for 2022
Why I swapped concrete annual goals for three broad themes, Give, Create and Experience, after a year that included professional burnout.
Why I quit WhatsApp
Why I left WhatsApp after the January 2021 privacy policy change, and honest answers to every objection my friends kept raising.
Functional Programming Patterns: A Cookbook
Practical algebraic data types in JavaScript with crocks: Maybe, Async, monoids, applicatives and traverse, for people graduating from Ramda.
JavaScript Async/Await Gotchas
Three things that tripped me up with async/await: every async function returns a Promise, callbacks stay confusing, and loops run sequentially.
Rock solid end-to-end continuous integration with Nightwatch.js
A 2017 setup for stable Nightwatch.js end-to-end tests on CircleCI: bundled Selenium, Magellan for flaky-test retries, and a nightly build.