August 2026 π
I'm writing this from a homely Jacobean-manor-turned-hotel in the West Country, covered in layers of green vines and circled by centenarian trees, on [...]
a collection of dev rss feeds - blogroll
Posts
I'm writing this from a homely Jacobean-manor-turned-hotel in the West Country, covered in layers of green vines and circled by centenarian trees, on [...]
A delayed education on the trenches and scales of suffering [...]
Why we need collaborative AI engineering and a tour of Ace: the multiplayer coding workspace [...]
On agent orchestration patterns, why design and critical thinking are the new bottlenecks, and whether we should let go of looking at code [...]
I entered the new year holding an inconsolable, shrieking baby while London set off an armageddon of fireworks around us. So goes parenthood. The baby [...]
On chatbot sycophancy, passivity, and the case for more intellectually challenging companions [...]
Vibe code is legacy code by Steve Krouse [...]
In a wonderfully dramatic change to my life, I became a mother two months ago. My son was born at the end of March via an unplanned but otherwise unco [...]
A tiny tool to calculate when your baby might arrive [...]
Revealed: How the UK tech secretary uses ChatGPT for policy advice by Chris Stokel-Walker for the New Scientist [...]
Well, I've had a dramatic start to the year. Normally, the design agency I joined a short eight months ago, unexpectedly closed down in January. Despi [...]
Humanity's Last Exam by Center for AI Safety (CAIS) and Scale AI [...]
If you're not distressingly embedded in the torrent of AI news on Twixxer like I reluctantly am, you might not know what DeepSeek is yet. Bless you. [...]
Common Misconceptions About the Complexity in Robotics vs AI by Dan Ogawa [...]
A real-world test of artificial intelligence infiltration of a university examinations system: A βTuring Testβ case study by Peter Scarfe, Kelly Watch [...]
Welcome to the smidgeon stream. This is a new kind of content on the Garden. One that was [...]
How to use Zotero's translator and Tana Paste formatting to easily import papers into Tana [...]
Reflections on the strange experience of growing a human from scratch, without any conscious understanding of how you are doing it [...]
We're back in that glorious post-Christmas, pre-New-Year's liminal period when the days blur together and I'm allowed to spend inordinate amounts of t [...]
My fairly banal, basic, but beautiful command line setup [...]
Reflections on two years of working at Elicit and why it's time to leave [...]
Despite the regular drizzle, this summer is looking splendid. The tories are out of power. London is out in force enjoying the warm weather. I'm tempo [...]
The emerging golden age of home-cooked software, barefoot developers, and why the local-first community should help build it [...]
Buying fake William Morris prints on Etsy and other early signs of epistemological collapse [...]
How to open pieces of narrative non-fiction writing, conference talks, and sticky jars [...]
Gaining a strange disease and losing my ability to see straight [...]
Collecting people I know who work at the intersection of design and engineering, in an attempt to figure out what a design engineer is [...]
How to gather people and create communities in ways that are low-stress and high-payoff [...]
Designing tentative calendar events to solve complex scheduling problems [...]
Creating a subtle, peripheral, and synchronous sense of shared space and context on the web [...]
Giving people a visible, useful trail of where they've been over the course of an exploratory journey [...]
The limbo-like lull in-between Christmas and News Years is my favourite period of the year. I never know what to do with myself. I arrive back from ch [...]
London flipped from sweltering summer back to drizzling grey yesterday. Autumn was overdue. Summer was a little too manic for my taste anyway. I spent [...]
Designing with Language Models [...]
Sketchy ideas for interfaces that play with the novel capabilities of language models [...]
The last six months have felt like a disorientating blur. While bouncing between overseas trips, writing conference talks, organising events, and keep [...]
An exploration of the problems and possible futures of flooding the web with generative AI content [...]
Shareable, browser-based documents that can compile and run code [...]
An archive of my high school desktop designs, circa 2009 [...]
Using language models to generate reverse outlines of writing drafts [...]
Proving you're a human on a web flooded with generative AI content [...]
On the fuzziness of calling things βartificial intelligenceβ and moving the goalposts [...]
Command line bars you can quickly summon with a keyboard shortcut [...]
It's a weird week. Twitter is (possibly) entering a slow death march and much of my community is reluctantly slouching over to Mastodon. I've started [...]
Small, scoped areas within a graphical interface that allow users to read and write simple programmes [...]
People reappropriating existing software to solve their own unique problems [...]
A new role at an AI research lab working on tools for open-ended reasoning [...]
I've decided to join Ought, a non-profit research lab. I wrote about the move here, but TLDR: Ought is exploring how machine learning techniques can s [...]
How block-based interfaces can help us create more structured data on the web [...]
Daily notes as a frictionless default input for personal knowledge management systems [...]
Bringing visual explanations and embodied knowledge to programming tools [...]
Agent-based note-taking systems that can prompt and facilitate custom workflows [...]
Exploring ways to build social infrastructure around books and reading on the open web [...]
Adding spatial affordances to the experience of browsing the web [...]
Naming your invisible audiences to free yourself from unspoken obligations [...]
Narrative essays that I consider ideal models of the medium [...]
Providing clear metadata on the epistemic validity of content [...]
A history of our metaphorical understanding of the web [...]
Algorithms that make their reasoning visible [...]
After five years of working with egghead, I decided it was time to move on. I started as an illustrator in early 2016. By 2018 I had moved into an art [...]
How to write macros without touching the terminal [...]
An anthropological look at the cultural norms of the React community [...]
With lockdown easing in London I've spent most of summer outside throwing tennis balls around in the park, rather than sitting in front of screens wri [...]
On seeing tools for thought through a historical and anthropological lens [...]
Longing for the paleolithic past in the Anthropocene [...]
Why there is nothing natural about the idea of 'nature' [...]
What we lose when our digital notes remove the freedom to move [...]
How to build a digital garden without touching code [...]
A Hyperlink Academy writing club where we mimic the work of others [...]
A collection of observations on the rise of soft, sparkly, baby pink aesthetics among developers [...]
Developer self-expression through coloured switches, keystroke actuation, and LED light displays [...]
What's wrong with linear, static programming mediums and how might we improve them? [...]
The lost permissioning and copyright system of the Web [...]
Data is currently dislocated β our narratives and metaphors around it try to convince us it is immaterial [...]
Notes on how to use the position property in CSS to make scrollytelling stories [...]
How to customise Roam Research with your own CSS themes [...]
A few favourite books from the field of digital anthropology [...]
A collection of laws named for specific people in the field of programming [...]
Notes on the history of cyborgs and why the idea still holds historical weight in Western narratives [...]
A collection of interesting words that have recently been coined [...]
A discipline at the intersection of cultural anthropology and binary logic [...]
How to use the Greensock animation library inside React using React hooks [...]
On seeing tools for thought through a historical and anthropological lens [...]
Notes on the basics of the Greensock animation llibrary [...]
Digging into the work of Barbara Tversky and reading the literature around embodied cognition. I've been a long time fan of George Lakoff so much of i [...]
Illustrated notes on the key concepts of how Gatsby.js works [...]
The failure of drawing materials without mediums and meat [...]
How to offend everyone with boundary-crossing steak and nuggets [...]
Illustrations made for a set of episodes of the Cultivated Meat podcast [...]
Illustrated notes on the idea of Gift Economies and cultural historys of economic exchange [...]
Notes on the metaphorical varieties of synecdoche and metonymy [...]
A video tour through how I build the old version of this site [...]
Mary Douglas defined dirt as matter out of place β the crossing of boundaries [...]
Project Xanadu as a pattern language, rather than a failed software project [...]
Illustrated notes on the concept of 'Evergreen notes' and how to write them [...]
Illustrated notes on the Knowledge Hydrant guide to collaborative learning [...]
Questions I am often asked to answer [...]
Notes on the academic field of CSCL and major papers in the discipline [...]
Notes on how to run silent meetings and reading sessions [...]
Illustrated notes on how React suspense works [...]
Some insights into how I collaborative with experts to create illustrated notes on technical topics [...]
Illustrated notes on how data unions work and what problems they might solve [...]
A newly revived philosophy for publishing personal knowledge on the web [...]
Notes on pattern languages and Christopher Alexander's legacy on software programming [...]
A collection of my favourite books on conceptual metaphor theory [...]
A walkthrough of how I manage and tend Evergreen notes in Roam [...]
Illustrated notes on common mistakes people make in Git, and how to fix them [...]
A guide to the apps and tools I use to create illustrations [...]
The introduction to my thesis on the Quantified Self movement and the culture of self-tracking [...]
Seventy years ago we dreamed up links that would allow us to create two-way, contextual conversations. Why don't we use them on the web? [...]
An illustrated diagram exposing the inner layers of the dark and cozy web [...]
Explaining React through visual metaphors [...]
Notes from my podcast episode Open Source and Gift Economies on Maintainers Anonymous [...]
Illustrated notes on the Building A Second Brain course [...]
A lightening talk on second brains and cyborg embodiment [...]
Illustrated notes on the essentials of web security [...]
A case study showing how I make illustrations for abstract programming concepts [...]
Illustrated notes on how to build state machines with the xState library [...]
Illustrated notes on how routing works in Vue.js [...]
Illustrated notes on the core concepts in Rust [...]
Illustrated notes on building Gatsby themes [...]
Illustrated notes on advanced but fundamental topics in JavaScript [...]
Visualising the cultural narratives around cultured meat [...]
Illustrated notes on building custom React hooks [...]
Illustrated notes on how work with immutable data in the Immer state library [...]
Illustrated notes on the basics of the GraphQL query language [...]
My favourite resources for learning to draw and developing your visual thinking skills [...]
Illustrated notes on the new language changes in JavaScript ES2019 [...]
Illustrated notes on the JAMstack, Gatsby & Contentful [...]
Illustrated notes on how to implement web sockets with Vue.js and Socket.io [...]
Illustrated notes on building VR web apps with React360 [...]
Illustrated notes on how to test web apps with Cypress [...]
Illustrated notes on how compilers and transpilers are different [...]
Everything you need to know about what API's are and how they work [...]
The absolute minimum you need to know about data storage [...]
Illustrated notes on how JavaScript's comparison operators work [...]
Illustrated notes on how Babel works [...]
Illustrated notes on how JSX in React works [...]
Illustrated notes on how the React virtual DOM works [...]
Illustrated notes on how JavaScript's spread operator works [...]