How to use Zotero's translator and Tana Paste formatting to easily import papers into Tana
My fairly banal, basic, but beautiful command line setup
Reflections on two years of working at Elicit and why it's time to leave
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
Narrative essays that I consider ideal models of the medium
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
Sketchy ideas for interfaces that play with the novel capabilities of language models
A collection of interesting words that have recently been coined
An archive of my high school desktop designs, circa 2009
Using language models to generate reverse outlines of writing drafts
On the fuzziness of calling things “artificial intelligence” and moving the goalposts
An illustrated diagram exposing the inner layers of the dark and cozy web
A few favourite books from the field of digital anthropology
A new role at an AI research lab working on tools for open-ended reasoning
Notes on how to use the position property in CSS to make scrollytelling stories
Illustrated notes on the Building A Second Brain course
Exploring ways to build social infrastructure around books and reading on the open web
A collection of laws named for specific people in the field of programming
Questions I am often asked to answer
A collection of observations on the rise of soft, sparkly, baby pink aesthetics among developers
My favourite resources for learning to draw and developing your visual thinking skills
Notes on pattern languages and Christopher Alexander's legacy on software programming
A video tour through how I build the old version of this site
The introduction to my thesis on the Quantified Self movement and the culture of self-tracking
A collection of my favourite books on conceptual metaphor theory
Illustrated notes on the key concepts of how Gatsby.js works
Illustrations made for a set of episodes of the Cultivated Meat podcast
What's wrong with linear, static programming mediums and how might we improve them?
How to write macros without touching the terminal
Why there is nothing natural about the idea of 'nature'
A walkthrough of how I manage and tend Evergreen notes in Roam
A Hyperlink Academy writing club where we mimic the work of others
A guide to the apps and tools I use to create illustrations
What we lose when our digital notes remove the freedom to move
Mary Douglas defined dirt as matter out of place – the crossing of boundaries
How to offend everyone with boundary-crossing steak and nuggets
Developer self-expression through coloured switches, keystroke actuation, and LED light displays
How to customise Roam Research with your own CSS themes
Illustrated notes on how data unions work and what problems they might solve
Notes on the history of cyborgs and why the idea still holds historical weight in Western narratives
How to use the Greensock animation library inside React using React hooks
Notes on the basics of the Greensock animation llibrary
Illustrated notes on the idea of Gift Economies and cultural historys of economic exchange
Notes on the metaphorical varieties of synecdoche and metonymy
Illustrated notes on the concept of 'Evergreen notes' and how to write them
Illustrated notes on the Knowledge Hydrant guide to collaborative learning
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 common mistakes people make in Git, and how to fix them
Notes from my podcast episode Open Source and Gift Economies on Maintainers Anonymous
Illustrated notes on the essentials of web security
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
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
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
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