Notes
Loose, unopinionated notes on things I don’t entirely understand yet.
Aesthetic Command Lines with Hyper, Spaceship, and Oh My Zsh
My fairly banal, basic, but beautiful command line setup
Leaving Elicit
Reflections on two years of working at Elicit and why it's time to leave
Home-Cooked Software and Barefoot Developers
The emerging golden age of home-cooked software, barefoot developers, and why the local-first community should help build it
Faking William Morris, Generative Forgery, and the Erosion of Art History
Buying fake William Morris prints on Etsy and other early signs of epistemological collapse
On Opening Essays, Conference Talks, and Jam Jars
How to open pieces of narrative non-fiction writing, conference talks, and sticky jars
The Finest Narrative Non-Fiction Essays
Narrative essays that I consider ideal models of the medium
Spinning Worlds, Seasickness, and Dealing with Vestibular Neuritis
Gaining a strange disease and losing my ability to see straight
A Collection of Design Engineers
Collecting people I know who work at the intersection of design and engineering, in an attempt to figure out what a design engineer is
Gathering Structures
How to gather people and create communities in ways that are low-stress and high-payoff
Speculative Calendar Events
Designing tentative calendar events to solve complex scheduling problems
Language Model Sketchbook, or Why I Hate Chatbots
Sketchy ideas for interfaces that play with the novel capabilities of language models
Neologisms
A collection of interesting words that have recently been coined
Teenage Skeuomorphic Desktop Designs
An archive of my high school desktop designs, circa 2009
Reverse Outlining with Language Models
Using language models to generate reverse outlines of writing drafts
Empty Pointers and Constellations of AI
On the fuzziness of calling things “artificial intelligence” and moving the goalposts
The Dark Forest and the Cozy Web
An illustrated diagram exposing the inner layers of the dark and cozy web
A Digital Anthropology Reading List
A few favourite books from the field of digital anthropology
Joining Ought
A new role at an AI research lab working on tools for open-ended reasoning
Positioning Elements & Scrollytelling in CSS
Notes on how to use the position property in CSS to make scrollytelling stories
Building a Second Brain: The Illustrated Notes
Illustrated notes on the Building A Second Brain course
Interoperable Personal Libraries and Ad Hoc Reading Groups
Exploring ways to build social infrastructure around books and reading on the open web
The Eponymous Laws of Programming
A collection of laws named for specific people in the field of programming
Frequently Asked Questions
Questions I am often asked to answer
Pink, Soft, Glittering Developers
A collection of observations on the rise of soft, sparkly, baby pink aesthetics among developers
The Best Illustration Books and Courses
My favourite resources for learning to draw and developing your visual thinking skills
Pattern Languages in Programming and Interface Design
Notes on pattern languages and Christopher Alexander's legacy on software programming
A Meta-Tour of This Site
A video tour through how I build the old version of this site
Tracking Humanity
The introduction to my thesis on the Quantified Self movement and the culture of self-tracking
A Metaphorical Reading Collection
A collection of my favourite books on conceptual metaphor theory
Illustrating Gatsby's Key Concepts
Illustrated notes on the key concepts of how Gatsby.js works
New Harvest & Illustrating the Cultivated Meat Podcast
Illustrations made for a set of episodes of the Cultivated Meat podcast
Making Programming Visual, Spatial, and Learnable
What's wrong with linear, static programming mediums and how might we improve them?
Plebeian Programming with Keyboard Maestro
How to write macros without touching the terminal
Natureculture, Moral Purity, and Cultural Boundaries
Why there is nothing natural about the idea of 'nature'
Tending Evergreen Notes in Roam Research
A walkthrough of how I manage and tend Evergreen notes in Roam
The Echo & Narcissus Writing Club
A Hyperlink Academy writing club where we mimic the work of others
What App is That?
A guide to the apps and tools I use to create illustrations
The Linear Oppression of Note-taking Apps
What we lose when our digital notes remove the freedom to move
Douglas, Dirt, and Matter Out of Place
Mary Douglas defined dirt as matter out of place – the crossing of boundaries
Problematic Proteins
How to offend everyone with boundary-crossing steak and nuggets
Fetishism & Mechanical Keyboards
Developer self-expression through coloured switches, keystroke actuation, and LED light displays
Painting Roam Research with Custom CSS
How to customise Roam Research with your own CSS themes
Are Data Unions the Future of Data?
Illustrated notes on how data unions work and what problems they might solve
A History of Cyborgs
Notes on the history of cyborgs and why the idea still holds historical weight in Western narratives
GreenSock Animations with React Hooks
How to use the Greensock animation library inside React using React hooks
The Bare Essentials of Greensock
Notes on the basics of the Greensock animation llibrary
The Gift Economy
Illustrated notes on the idea of Gift Economies and cultural historys of economic exchange
Synecdoche: Drawing the Part for the Whole
Notes on the metaphorical varieties of synecdoche and metonymy
Growing the Evergreens
Illustrated notes on the concept of 'Evergreen notes' and how to write them
The Knowledge Hydrant
Illustrated notes on the Knowledge Hydrant guide to collaborative learning
A Naive Exploration of Computer-Supported Collaborative Learning
Notes on the academic field of CSCL and major papers in the discipline
Silent Synchronous Reading Sessions
Notes on how to run silent meetings and reading sessions
What the Fork is React Suspense?
Illustrated notes on how React suspense works
Visually Workshopping the AWS Cloud
Some insights into how I collaborative with experts to create illustrated notes on technical topics
Fixing Common Git Mistakes
Illustrated notes on common mistakes people make in Git, and how to fix them
A Chat with Henry Zhu on OSS & Gift Economies
Notes from my podcast episode Open Source and Gift Economies on Maintainers Anonymous
Defend Your Cookies with Essential Web Security Tactics
Illustrated notes on the essentials of web security
What the Fork is xState?
Illustrated notes on how to build state machines with the xState library
A Journey into Vue-Router
Illustrated notes on how routing works in Vue.js
What the Fork is Rust?
Illustrated notes on the core concepts in Rust
The Art and Craft of Gatsby Themes
Illustrated notes on building Gatsby themes
JavaScript Bits You Skipped the First Time Around
Illustrated notes on advanced but fundamental topics in JavaScript
Building Custom React Hooks
Illustrated notes on building custom React hooks
Immutable Data with Immer and Personal Assistant Bots
Illustrated notes on how work with immutable data in the Immer state library
Speaking the GraphQL Query Language
Illustrated notes on the basics of the GraphQL query language
A Fresh Serving of JavaScript ES2019
Illustrated notes on the new language changes in JavaScript ES2019
The JAMStack, Gatsby & Contentful
Illustrated notes on the JAMstack, Gatsby & Contentful
Instachatting with Vue & Socket.io
Illustrated notes on how to implement web sockets with Vue.js and Socket.io
Building VR Apps with React360
Illustrated notes on building VR web apps with React360
Testing Apps with Cypress
Illustrated notes on how to test web apps with Cypress
How Are Compilers & Transpilers Different?
Illustrated notes on how compilers and transpilers are different
A Fruitful Guide to JavaScript's Comparison Operators
Illustrated notes on how JavaScript's comparison operators work
What the Fork is Babel?
Illustrated notes on how Babel works
JSX is a Lovechild
Illustrated notes on how JSX in React works
What the Fork is the React Virtual DOM
Illustrated notes on how the React virtual DOM works
JavaScript's ...spread Operator
Illustrated notes on how JavaScript's spread operator works