Gabe O'Leary

Feed

Posts from people and blogs I'm interested in.

Sources: Armin Ronacher, Daniel Griesser, Mario Zechner, Simon Willison, Thorsten Ball, Maggie Appleton

  • New release of LLM adds support for reasoning traces, OpenAI Responses, server-side tools, and smarter logging

    Simon Willison·August 4, 2026

    I released LLM 0.32 this morning, the most significant new version of LLM since the initial launch of the project. The new version includes support for visible reasoning traces, server-side provider tools, redesigned content-addressable SQL…

  • llm-anthropic 0.26

    Simon Willison·August 4, 2026

    Release: llm-anthropic 0.26 Includes new features enabled by LLM 0.32 : New models: claude-fable-5 , claude-sonnet-5 , and claude-opus-5 . #75 , #76 Added server-side tools for WebSearch , WebFetch , CodeExecution , and AnthropicMCP , avail…

  • PipeNetwork/minimax-h3-mlx

    Simon Willison·August 4, 2026

    PipeNetwork/minimax-h3-mlx MiniMax released MiniMax-H3 two days ago - they describe it as a "a general-purpose, omni-modal generative system", which in practice means it accepts text, images, audio and video and can use them to generate up…

  • llm 0.32

    Simon Willison·August 4, 2026

    Release: llm 0.32 See my detailed blog post about this release . Tags: llm

  • Quoting Steve Yegge

    Simon Willison·August 4, 2026

    Gas Town was intended to be reusable, but I only ever wound up using it to build itself. Gas Town fell apart at the seams with Opus 4.7. Up through 4.6 it was working brilliantly. With 4.7 we saw the introduction of the "just two more thing…

  • Don't be a meat proxy

    Simon Willison·August 3, 2026

    Don't be a meat proxy Niklas Gruhn coins an excellent new term - meat proxy - for people who blindly copy and paste the output of AI systems to their peers. By all means, prompt AI. But don't just relay the output. Read it, understand…

  • Quoting David Crawshaw's prompt

    Simon Willison·August 3, 2026

    Set up a nightly cron job that executes the prompt: fetch upstream changes to the <software> and rebase all local changes on top of upstream. Check that the software works as intended and replace the current version. — David Cra…

  • Devtools must be open source (exe.dev)

    Simon Willison·August 3, 2026

    My comment on Devtools must be open source (exe.dev) — Hacker News. One of the arguments for open source software for end-users has always been the freedom to examine and modify how that software works. The reality for most people - e…

  • condense-json 1.1

    Simon Willison·August 3, 2026

    Release: condense-json 1.1 After shipping condense-json 1.0 I started integrating it into LLM, and found there were some desirable new features already: Replacements object can now include values other than strings. These will be identified…

  • condense-json 1.0

    Simon Willison·August 2, 2026

    Release: condense-json 1.0 I'm trying to get braver at releasing 1.0 versions. This little library is a year and a half old now - I've applied some sensible and non-disruptive fixes and shipped the big 1.0 for it. Here's an example of what…

  • Open letters about AI development

    Simon Willison·August 2, 2026

    Open letters about AI development I wrote this summary of the past few weeks of open letters as a section of my sponsors-only newsletter but I've decided to share it here as well. Open Weights and American AI Leadership was shepherded by Mi…

  • July 2026 newsletter

    Simon Willison·August 2, 2026

    The June edition of my sponsors-only monthly newsletter is out. If you are a sponsor (or if you start a sponsorship now) you can access it here . This month: Accidental cyberattacks by OpenAl and Anthropic models under test GPT-5.6 Sol, Ter…

  • Quoting Greg Brockman

    Simon Willison·August 1, 2026

    at openai, many people hook their chatgpt up to slack. people really don't like when a coworker's chatgpt contacts them asking for help with a task, even when they'd be perfectly happy doing that same work if asked by that coworker. reinfor…

  • datasette-apps 0.2a0

    Simon Willison·August 1, 2026

    Release: datasette-apps 0.2a0 Changes that improve Datasette Apps when created and edited using Datasette Agent : New app_debug() tool allowing agent to open an app (invisibly) and test it using JavaScript. #33 New app_list() tool for listi…

  • Ten advances in mathematics and theoretical computer science

    Simon Willison·August 1, 2026

    Ten advances in mathematics and theoretical computer science A few days ago it was Anthropic discovering cryptographic weaknesses with Claude using Mythos Preview, spending $100,000 on tokens and with prompts that included "again we are not…

  • deepseek-ai/DeepSeek-V4-Flash-0731

    Simon Willison·July 31, 2026

    deepseek-ai/DeepSeek-V4-Flash-0731 The latest release in DeepSeek's V4 family, "with substantially enhanced agentic capabilities". It's 304 billion parameters - 167GB on Hugging Face - but it appears to punch well above its weight. Artifici…

  • Stateless MCP has recaptured my interest (and inspired mcp-explorer and datasette-mcp)

    Simon Willison·July 31, 2026

    Tuesday was Stateless MCP day - the rollout of MCP 2.0, or the 2026-07-28 Model Context Protocol specification to use the more formal but less memorable name. This is the most significant change to the MCP spec since it first launched, and…

  • llm-mcp-client 0.1a0

    Simon Willison·July 31, 2026

    Release: llm-mcp-client 0.1a0 See this blog entry . Tags: llm , model-context-protocol

  • Oxide and Friends: The Open Weight Revolution with Simon Willison

    Simon Willison·July 31, 2026

    Oxide and Friends: The Open Weight Revolution with Simon Willison On Monday Bryan Cantrill and Adam Leventhal invited me to join their podcast to talk about the wild week we've had - with Kimi K3 showing open weight models can stand toe-to-…

  • smevals - a small eval suite for evaluating models, prompts, and harnesses

    Simon Willison·July 31, 2026

    smevals - a small eval suite for evaluating models, prompts, and harnesses I've been working with Jesse Vincent's Prime Radiant applied AI research lab building out this evals framework to help answer questions about the capabilities of dif…

  • Slack Emoji Maker

    Simon Willison·July 31, 2026

    Tool: Slack Emoji Maker I wanted to create a new Slack emoji, and their tool recommends a square that's 128x128 and has a transparent background... so I had Fable build me this simple image editor against those requirements. Tags: tools , s…

  • datasette-agent 0.4a0

    Simon Willison·July 31, 2026

    Release: datasette-agent 0.4a0 New await context.browser_task() mechanism allowing agent tools to run code directly in the user's browser. #33 This is an exciting new capability: it makes it easy for Datasette Agent plugins to provide tools…

  • Advancing the price-performance frontier with GPT‑5.6

    Simon Willison·July 30, 2026

    Advancing the price-performance frontier with GPT‑5.6 Huge price drop from OpenAI today: GPT-5.6 Terra got a 20% reduction, and GPT-5.6 Luna got a massive 80% drop. OpenAI credit 5.6 Sol with enabling this: in How GPT‑5.6 fuses frontier int…

  • Investigating three real-world incidents in our cybersecurity evaluations

    Simon Willison·July 30, 2026

    Investigating three real-world incidents in our cybersecurity evaluations It happened again! This is turning into something of a pattern. Last week OpenAI accidentally exploited Hugging Face when one of their frontier models broke out of a…

  • llm 0.32rc2

    Simon Willison·July 30, 2026

    Release: llm 0.32rc2 Hot on the heels of RC1 , this fixes a dependency issue and also adds two neat new features: The default model for users who have not set their own default is now GPT-5.6 Luna . It was previously GPT-4o mini . Luna is a…

  • Quoting Bruce Schneier

    Simon Willison·July 30, 2026

    The writing assignments I give my students are gym tasks, not work tasks. I ask them to write policy memos not because the world needs more policy memos. I assign them because the very act of writing, which includes thinking and outlining a…

  • llm-chat-completions-server 0.1a0

    Simon Willison·July 30, 2026

    Release: llm-chat-completions-server 0.1a0 A key goal of the new content-addressable logs in LLM 0.32rc1 was being able to support OpenAI Chat Completion style requests where each incoming message extends the previous conversation, like thi…

  • llm 0.32rc1

    Simon Willison·July 30, 2026

    Release: llm 0.32rc1 This RC for LLM 0.32 finishes the work that started in LLM 0.32a0 - it adds a new schema design that does a much better job of capturing the details of the prompts and responses returned by the latest model families. Th…

  • Quoting D. Richard Hipp

    Simon Willison·July 29, 2026

    Years ago, we didn’t have SQL. There were people whose job was to generate software that would query large data sets. Their job title was COBOL programmer. Then SQL comes along—I’m simplifying this only a little bit—and it gives you this co…

  • AI Worming through Word

    Simon Willison·July 29, 2026

    AI Worming through Word Neat new prompt injection variant by Håkon Måløy, who found a way to upgrade prompt injection attacks against Microsoft Word to full self-replicating worms: An attacker places hidden instructions in a document that i…

  • Codeberg Divides

    Armin Ronacher·July 24, 2026

    Codeberg recently changed its terms to exclude projects that are largely written with generative AI. Since I want GitHub to face competition I have thoughts. Codeberg is entirely within its rights to do this. It is an association with membe…

  • In Memoriam, Encountering World War I, and Thinkable Horrors

    Maggie Appleton·July 18, 2026

    A delayed education on the trenches and scales of suffering

  • The Tower Keeps Rising

    Armin Ronacher·July 13, 2026

    I feel that some vibecoded software changes somewhat randomly and unexpectedly. That made me think about Bruegel’s “The Tower of Babel” which shows an already quite chaotic depiction of the Tower of Babel. The story is usually told as one a…

  • Better Models: Worse Tools

    Armin Ronacher·July 4, 2026

    A very strange Pi issue sent me down a rabbit hole over the last two days. The short version is that newer Claude models sometimes call Pi’s edit tool with extra, invented fields in the nested edits[] array. And not Haiku or some small mode…

  • The Coming Loop

    Armin Ronacher·June 23, 2026

    I don’t prompt Claude anymore. I have loops running that prompt Claude and figuring out what to do. My job is to write loops. — Boris Cherny Over the last months I have watched more and more people build something on top of coding agents th…

  • Dangerous Technology For Americans Only

    Armin Ronacher·June 13, 2026

    There is a bit of schadenfreude on Twitter right now about Anthropic being hit by the US government’s export control directive to suspend access to Fable and Mythos . Anthropic and their leadership have spent a lot of time and effort descri…

  • Gaslighting Openness

    Armin Ronacher·June 10, 2026

    I have been a staunch supporter of Open Source for a long time, including experiments in funding it . I’m a true believer in the idea that Open Source always wins in the long run, but not automatically and not quickly. Right now it is being…

  • Communities of Not

    Armin Ronacher·June 6, 2026

    There is a strange thing that happens in communities that gather around abstinence from something: identity from opposition. At their best these communities are not just negative: childfree spaces can be about autonomy, choice and acceptanc…

  • How to build a shitty robot

    Mario Zechner·May 30, 2026

    A work in progress post about building a shitty robot.

  • Clanker: A Word For The Machine

    Armin Ronacher·May 26, 2026

    In my last post I used the word “clanker 1 ” as an alternative to “agent” quite consistently and probably excessively. That choice ended up attracting a lot more attention than I expected in the Hacker News comment section of that post and…

  • Building Pi With Pi

    Armin Ronacher·May 24, 2026

    Pi is now part of Earendil, but in the important sense it is still Mario’s project. He has been living with its issue tracker longer than I have, and he has been exposed to the weirdness of the new form of agent traffic in Open Source proje…

  • Pushing Local Models With Focus And Polish

    Armin Ronacher·May 8, 2026

    I really, really want local models to work. I want them to work in the very practical sense that I can open my coding agent, pick a local model, and get something that feels competitive enough that I do not immediately switch back to a host…

  • Disagree and Commit

    Daniel Griesser·April 25, 2026

    Probably one of the hardest lessons I had to learn

  • One Developer, Two Dozen Agents, Zero Alignment

    Maggie Appleton·April 13, 2026

    Why we need collaborative AI engineering and a tour of Ace: the multiplayer coding workspace

  • I've sold out

    Mario Zechner·April 8, 2026

    I've sold out

  • Thoughts on slowing the fuck down

    Mario Zechner·March 25, 2026

    Thoughts on slowing the fuck down

  • Manage the Context Window

    Daniel Griesser·February 25, 2026

    How I use Pi to distill multiple context windows into exactly what I need

  • Gas Town’s Agent Patterns, Design Bottlenecks, and Vibecoding at Scale

    Maggie Appleton·January 23, 2026

    On agent orchestration patterns, why design and critical thinking are the new bottlenecks, and whether we should let go of looking at code

  • Don't Become the Clueless Boss

    Daniel Griesser·January 5, 2026

    Don't let AI make you the boss no one respects anymore

  • January 2026

    Maggie Appleton·January 2, 2026
  • Year in Review 2025

    Mario Zechner·December 22, 2025

    A look back at 2025

  • What I learned building an opinionated and minimal coding agent

    Mario Zechner·November 30, 2025

    Lessons I learned while building my own coding agent from scratch.

  • Just Do It!

    Daniel Griesser·November 27, 2025

    An email I wrote over 2 years ago

  • Armin is wrong and here's why

    Mario Zechner·November 22, 2025

    A rambling rebuttal to Armin's claim that LLM APIs are a state synchronization problem.

  • What if you don't need MCP at all?

    Mario Zechner·November 2, 2025

    Got Bash and some code interpreter? Skip MCP.

  • Everyone's Smarter Than You. Good.

    Daniel Griesser·October 31, 2025

    How I turned imposter syndrome into my learning superpower

  • Hard Work pays off

    Daniel Griesser·October 27, 2025

    It's not about working more - it's about caring more

  • Infinite Footguns: Writing a JavaScript Interpreter in JavaScript

    Mario Zechner·October 5, 2025

    Building a JavaScript AST interpreter in JavaScript: scope isolation, ES5 implementation, and all the footguns along the way.

  • Incentives

    Daniel Griesser·September 26, 2025

    are the best tool to shape the culture you want

  • The Courage to Try

    Daniel Griesser·September 6, 2025

    ... is what stands between you and what you want

  • MCP vs CLI: Benchmarking Tools for Coding Agents

    Mario Zechner·August 15, 2025

    A data-driven comparison of MCP and CLI approaches for coding agent terminal control

  • Vulnerability Actually Works

    Daniel Griesser·August 6, 2025

    Why I share what I actually think and feel

  • Patching Claude Code for debugging and /cost support for Max users

    Mario Zechner·August 6, 2025

    cc-antidebug patches Claude Code to enable Node.js debugger support for SDK-based apps and restores the /cost command functionality for Max plan users

  • A Treatise on AI Chatbots Undermining the Enlightenment

    Maggie Appleton·August 5, 2025

    On chatbot sycophancy, passivity, and the case for more intellectually challenging companions

  • cchistory: Tracking Claude Code System Prompt and Tool Changes

    Mario Zechner·August 3, 2025

    Exploring how to track and analyze changes in Claude Code's system prompts and tools to understand AI assistant evolution

  • Vibe Code is Legacy Code

    Maggie Appleton·August 2, 2025

    Vibe code is legacy code by Steve Krouse

  • From Engineer to Director

    Daniel Griesser·July 16, 2025

    Reflections on how I transitioned from Engineer to Director of Engineering at Sentry

  • I know why you are not getting hired

    Daniel Griesser·July 7, 2025

    Some tips to land the best job you ever had

  • Hello World - My Journey to Sentry

    Daniel Griesser·July 3, 2025

    A story how I ended up at Sentry

  • Prompts are code, .json/.md files are state

    Mario Zechner·June 2, 2025

    Treating LLMs as shitty general purpose computers we program with natural language. Because throwing shit at the wall wasn't working anymore.

  • May 2025

    Maggie Appleton·May 25, 2025
  • Boxie - an always offline audio player for my 3 year old

    Mario Zechner·April 26, 2025

    How I built a simple portable audio player for my boy, summoning the spirit of the Gameboy

  • Statistically, When Will My Baby Be Born?

    Maggie Appleton·March 24, 2025

    A tiny tool to calculate when your baby might arrive

  • ChatGPT Would be a Decent Policy Advisor

    Maggie Appleton·March 13, 2025

    Revealed: How the UK tech secretary uses ChatGPT for policy advice by Chris Stokel-Walker for the New Scientist

  • March 2025

    Maggie Appleton·March 5, 2025
  • Humanity's Last Exam

    Maggie Appleton·February 20, 2025

    Humanity's Last Exam by Center for AI Safety (CAIS) and Scale AI

  • DeepSeek

    Maggie Appleton·January 26, 2025

    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 in AI

    Maggie Appleton·January 12, 2025

    Common Misconceptions About the Complexity in Robotics vs AI by Dan Ogawa

  • Undetected AI Exam Answers

    Maggie Appleton·January 11, 2025

    A real-world test of artificial intelligence infiltration of a university examinations system: A “Turing Test” case study by Peter Scarfe, Kelly Watcham, Alasdair Clarke, Etienne Roesch

  • Unbaited

    Maggie Appleton·January 11, 2025

    Unbaited by Daniel Petho

  • Smidgeons

    Maggie Appleton·January 11, 2025

    Welcome to the smidgeon stream. This is a new kind of content on the Garden. One that was

  • How to Import Academic Papers from Zotero into Tana

    Maggie Appleton·January 7, 2025

    How to use Zotero's translator and Tana Paste formatting to easily import papers into Tana

  • Growing a Human: The First 30 Weeks

    Maggie Appleton·January 4, 2025

    Reflections on the strange experience of growing a human from scratch, without any conscious understanding of how you are doing it

  • December 2024

    Maggie Appleton·December 1, 2024
  • Aesthetic Command Lines with Hyper, Spaceship, and Oh My Zsh

    Maggie Appleton·October 5, 2024

    My fairly banal, basic, but beautiful command line setup

  • Electronic Nights III - Animated LEDs and Buttons

    Mario Zechner·August 22, 2024

    How to programmatically turn on LEDs and read button states

  • Electronic Nights II - Basic Circuits

    Mario Zechner·August 5, 2024

    Exploring the absolute basics.

  • Electronic Nights I - Getting Started

    Mario Zechner·July 26, 2024

    The story of a programmer trying to electronics

  • macOS code injection for fun and no profit

    Mario Zechner·July 20, 2024

    Fun little vacation project for fun and zero profit.

  • Two years in review

    Mario Zechner·July 15, 2024

    Reminiscing about the times I didn't watch TV at night but built stuff.

  • Dissecting history

    Mario Zechner·July 14, 2024

    Thoughts on acquiring computational thinking skills based on my own experience.

  • Leaving Elicit

    Maggie Appleton·July 7, 2024

    Reflections on two years of working at Elicit and why it's time to leave

  • July 2024

    Maggie Appleton·July 1, 2024
  • Home-Cooked Software and Barefoot Developers

    Maggie Appleton·May 30, 2024

    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

    Maggie Appleton·April 30, 2024

    Buying fake William Morris prints on Etsy and other early signs of epistemological collapse

  • On Opening Essays, Conference Talks, and Jam Jars

    Maggie Appleton·April 13, 2024

    How to open pieces of narrative non-fiction writing, conference talks, and sticky jars

  • Spinning Worlds, Seasickness, and Dealing with Vestibular Neuritis

    Maggie Appleton·March 18, 2024

    Gaining a strange disease and losing my ability to see straight

  • A Collection of Design Engineers

    Maggie Appleton·March 11, 2024

    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

    Maggie Appleton·February 20, 2024

    How to gather people and create communities in ways that are low-stress and high-payoff

  • Speculative Calendar Events

    Maggie Appleton·January 7, 2024

    Designing tentative calendar events to solve complex scheduling problems

  • Ambient Co-presence

    Maggie Appleton·December 27, 2023

    Creating a subtle, peripheral, and synchronous sense of shared space and context on the web

  • Historical Trails

    Maggie Appleton·December 18, 2023

    Giving people a visible, useful trail of where they've been over the course of an exploratory journey

  • December 2023

    Maggie Appleton·December 1, 2023
  • September 2023

    Maggie Appleton·September 1, 2023
  • Squish Meets Structure

    Maggie Appleton·June 20, 2023

    Designing with Language Models

  • Language Model Sketchbook, or Why I Hate Chatbots

    Maggie Appleton·June 12, 2023

    Sketchy ideas for interfaces that play with the novel capabilities of language models

  • June 2023

    Maggie Appleton·June 1, 2023
  • The Expanding Dark Forest and Generative AI

    Maggie Appleton·April 27, 2023

    An exploration of the problems and possible futures of flooding the web with generative AI content

  • Computational Notebooks

    Maggie Appleton·April 18, 2023

    Shareable, browser-based documents that can compile and run code

  • Teenage Skeuomorphic Desktop Designs

    Maggie Appleton·January 30, 2023

    An archive of my high school desktop designs, circa 2009

  • Reverse Outlining with Language Models

    Maggie Appleton·January 8, 2023

    Using language models to generate reverse outlines of writing drafts

  • The Dark Forest and Generative AI

    Maggie Appleton·December 31, 2022

    Proving you're a human on a web flooded with generative AI content

  • Empty Pointers and Constellations of AI

    Maggie Appleton·December 17, 2022

    On the fuzziness of calling things “artificial intelligence” and moving the goalposts

  • Command K Bars

    Maggie Appleton·November 14, 2022

    Command line bars you can quickly summon with a keyboard shortcut

  • November 2022

    Maggie Appleton·November 1, 2022
  • Programming Portals

    Maggie Appleton·October 23, 2022

    Small, scoped areas within a graphical interface that allow users to read and write simple programmes

  • Folk Interfaces

    Maggie Appleton·August 24, 2022

    People reappropriating existing software to solve their own unique problems

  • Joining Ought

    Maggie Appleton·July 15, 2022

    A new role at an AI research lab working on tools for open-ended reasoning

  • July 2022

    Maggie Appleton·July 1, 2022
  • The Block-Paved Path to Structured Data

    Maggie Appleton·May 25, 2022

    How block-based interfaces can help us create more structured data on the web

  • Professional Programming: The First 10 Years

    Thorsten Ball·May 17, 2022

    Last month, April 2022, marked the 10 year anniversary of my start as a professional programmer. I started programming earlier than that, but hadn’t been paid a salary. As a teenager I built websites and IRC bots and wrote tiny Python scrip…

  • Daily Notes Pages

    Maggie Appleton·May 4, 2022

    Daily notes as a frictionless default input for personal knowledge management systems

  • A Picture Worth a Thousand Programmes

    Maggie Appleton·April 1, 2022

    Bringing visual explanations and embodied knowledge to programming tools

  • Programmable Notes

    Maggie Appleton·March 18, 2022

    Agent-based note-taking systems that can prompt and facilitate custom workflows

  • Interoperable Personal Libraries and Ad Hoc Reading Groups

    Maggie Appleton·February 20, 2022

    Exploring ways to build social infrastructure around books and reading on the open web

  • Spatial Web Browsing

    Maggie Appleton·January 14, 2022

    Adding spatial affordances to the experience of browsing the web

  • Assumed Audiences

    Maggie Appleton·January 8, 2022

    Naming your invisible audiences to free yourself from unspoken obligations

  • The Finest Narrative Non-Fiction Essays

    Maggie Appleton·December 22, 2021

    Narrative essays that I consider ideal models of the medium

  • Epistemic Disclosure

    Maggie Appleton·November 10, 2021

    Providing clear metadata on the epistemic validity of content

  • Metaphors We Web By

    Maggie Appleton·October 24, 2021

    A history of our metaphorical understanding of the web

  • Algorithmic Transparency

    Maggie Appleton·October 2, 2021

    Algorithms that make their reasoning visible

  • October 2021

    Maggie Appleton·October 1, 2021
  • Plebeian Programming with Keyboard Maestro

    Maggie Appleton·August 19, 2021

    How to write macros without touching the terminal

  • The Cultural Anthropology of React

    Maggie Appleton·August 1, 2021

    An anthropological look at the cultural norms of the React community

  • August 2021

    Maggie Appleton·August 1, 2021
  • Tools for Thought as Cultural Practices, not Computational Objects

    Maggie Appleton·July 29, 2021

    On seeing tools for thought through a historical and anthropological lens

  • Paleolithic Nostalgia

    Maggie Appleton·June 20, 2021

    Longing for the paleolithic past in the Anthropocene

  • Natureculture, Moral Purity, and Cultural Boundaries

    Maggie Appleton·May 18, 2021

    Why there is nothing natural about the idea of 'nature'

  • The Linear Oppression of Note-taking Apps

    Maggie Appleton·May 7, 2021

    What we lose when our digital notes remove the freedom to move

  • Digital Gardening for Non-Technical Folks

    Maggie Appleton·April 26, 2021

    How to build a digital garden without touching code

  • The Echo & Narcissus Writing Club

    Maggie Appleton·April 9, 2021

    A Hyperlink Academy writing club where we mimic the work of others

  • Pink, Soft, Glittering Developers

    Maggie Appleton·March 13, 2021

    A collection of observations on the rise of soft, sparkly, baby pink aesthetics among developers

  • Fetishism & Mechanical Keyboards

    Maggie Appleton·February 19, 2021

    Developer self-expression through coloured switches, keystroke actuation, and LED light displays

  • Making Programming Visual, Spatial, and Learnable

    Maggie Appleton·January 12, 2021

    What's wrong with linear, static programming mediums and how might we improve them?

  • Transclusion and Transcopyright Dreams

    Maggie Appleton·January 2, 2021

    The lost permissioning and copyright system of the Web

  • Organic, Local, Artisan Data Storage

    Maggie Appleton·December 28, 2020

    Data is currently dislocated – our narratives and metaphors around it try to convince us it is immaterial

  • Positioning Elements & Scrollytelling in CSS

    Maggie Appleton·December 26, 2020

    Notes on how to use the position property in CSS to make scrollytelling stories

  • Painting Roam Research with Custom CSS

    Maggie Appleton·December 15, 2020

    How to customise Roam Research with your own CSS themes

  • A Digital Anthropology Reading List

    Maggie Appleton·November 18, 2020

    A few favourite books from the field of digital anthropology

  • The Eponymous Laws of Programming

    Maggie Appleton·November 16, 2020

    A collection of laws named for specific people in the field of programming

  • A History of Cyborgs

    Maggie Appleton·November 1, 2020

    Notes on the history of cyborgs and why the idea still holds historical weight in Western narratives

  • Neologisms

    Maggie Appleton·November 1, 2020

    A collection of interesting words that have recently been coined

  • A Brief Introduction to Digital Anthropology

    Maggie Appleton·October 3, 2020

    A discipline at the intersection of cultural anthropology and binary logic

  • GreenSock Animations with React Hooks

    Maggie Appleton·September 27, 2020

    How to use the Greensock animation library inside React using React hooks

  • Tools for Thought as Cultural Practices, not Computational Objects

    Maggie Appleton·September 16, 2020

    On seeing tools for thought through a historical and anthropological lens

  • The context in which we build software

    Thorsten Ball·September 15, 2020

    I grew up in a what I now know people to consider a really small town. There wasn’t a lot, but even in that small town we had 2-3 lawyers. And to make a point about technology and how we develop software I want to paint you a picture of the…

  • How can you not be romantic about programming?

    Thorsten Ball·September 8, 2020

    There’s a scene in Moneyball in which Brad Pitt’s character, the manager of the Oakland A’s , is watching a recording of one of his players trying so hard to run fast that he stumbles and falls. Lying on the ground he’s angry at himself, be…

  • The Bare Essentials of Greensock

    Maggie Appleton·September 8, 2020

    Notes on the basics of the Greensock animation llibrary

  • No, typing can be the bottleneck

    Thorsten Ball·September 1, 2020

    One of the eternal laws of the internet dictates that as soon as one person says they have a new thing that lets them type faster — a keyboard, a keyboard layout, an editor configuration, etc. — somebody else must say: “but typing is not th…

  • September 2020

    Maggie Appleton·September 1, 2020
  • But does it help you ship?

    Thorsten Ball·August 25, 2020

    Whenever I’m not sure whether I’m spending my time on the right thing I ask myself: does it help me ship? If what I consider working on is not the thing we want to ship itself, but lies in the vast grey area of software projects where I cou…

  • Illustrating Gatsby's Key Concepts

    Maggie Appleton·August 20, 2020

    Illustrated notes on the key concepts of how Gatsby.js works

  • Why You Own an iPad and Still Can't Draw

    Maggie Appleton·August 18, 2020

    The failure of drawing materials without mediums and meat

  • Problematic Proteins

    Maggie Appleton·August 8, 2020

    How to offend everyone with boundary-crossing steak and nuggets

  • New Harvest & Illustrating the Cultivated Meat Podcast

    Maggie Appleton·August 4, 2020

    Illustrations made for a set of episodes of the Cultivated Meat podcast

  • The Gift Economy

    Maggie Appleton·August 3, 2020

    Illustrated notes on the idea of Gift Economies and cultural historys of economic exchange

  • Synecdoche: Drawing the Part for the Whole

    Maggie Appleton·July 28, 2020

    Notes on the metaphorical varieties of synecdoche and metonymy

  • A Meta-Tour of This Site

    Maggie Appleton·July 22, 2020

    A video tour through how I build the old version of this site

  • Douglas, Dirt, and Matter Out of Place

    Maggie Appleton·July 21, 2020

    Mary Douglas defined dirt as matter out of place – the crossing of boundaries

  • The Pattern Language of Project Xanadu

    Maggie Appleton·July 10, 2020

    Project Xanadu as a pattern language, rather than a failed software project

  • Growing the Evergreens

    Maggie Appleton·June 28, 2020

    Illustrated notes on the concept of 'Evergreen notes' and how to write them

  • The Knowledge Hydrant

    Maggie Appleton·June 28, 2020

    Illustrated notes on the Knowledge Hydrant guide to collaborative learning

  • Frequently Asked Questions

    Maggie Appleton·June 27, 2020

    Questions I am often asked to answer

  • A Naïve Exploration of Computer-Supported Collaborative Learning

    Maggie Appleton·June 26, 2020

    Notes on the academic field of CSCL and major papers in the discipline

  • Silent Synchronous Reading Sessions

    Maggie Appleton·June 19, 2020

    Notes on how to run silent meetings and reading sessions

  • What the Fork is React Suspense?

    Maggie Appleton·June 16, 2020

    Illustrated notes on how React suspense works

  • Visually Workshopping the AWS Cloud

    Maggie Appleton·June 16, 2020

    Some insights into how I collaborative with experts to create illustrated notes on technical topics

  • Are Data Unions the Future of Data?

    Maggie Appleton·June 15, 2020

    Illustrated notes on how data unions work and what problems they might solve

  • A Brief History & Ethos of the Digital Garden

    Maggie Appleton·June 10, 2020

    A newly revived philosophy for publishing personal knowledge on the web

  • Pattern Languages in Programming and Interface Design

    Maggie Appleton·June 3, 2020

    Notes on pattern languages and Christopher Alexander's legacy on software programming

  • A Metaphorical Reading Collection

    Maggie Appleton·June 1, 2020

    A collection of my favourite books on conceptual metaphor theory

  • Tending Evergreen Notes in Roam Research

    Maggie Appleton·May 31, 2020

    A walkthrough of how I manage and tend Evergreen notes in Roam

  • What you think is bad about remote work, can, well, actually be good.

    Thorsten Ball·May 22, 2020

    I’ve been working remotely full-time at Sourcegraph for slightly over a year now and, in the five years before that, had 2-3 home office days a week at flinc and ioki. There are a lot of different blog posts I could write about remote worki…

  • Fixing Common Git Mistakes

    Maggie Appleton·May 21, 2020

    Illustrated notes on common mistakes people make in Git, and how to fix them

  • What App is That?

    Maggie Appleton·May 20, 2020

    A guide to the apps and tools I use to create illustrations

  • Tracking Humanity

    Maggie Appleton·May 12, 2020

    The introduction to my thesis on the Quantified Self movement and the culture of self-tracking

  • A Short History of Bi-Directional Links

    Maggie Appleton·May 4, 2020

    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?

  • The Dark Forest and the Cozy Web

    Maggie Appleton·May 2, 2020

    An illustrated diagram exposing the inner layers of the dark and cozy web

  • Drawing the Invisible: React Explained in Five Visual Metaphors

    Maggie Appleton·May 1, 2020

    Explaining React through visual metaphors

  • A Chat with Henry Zhu on OSS & Gift Economies

    Maggie Appleton·April 30, 2020

    Notes from my podcast episode Open Source and Gift Economies on Maintainers Anonymous

  • Building a Second Brain: The Illustrated Notes

    Maggie Appleton·April 16, 2020

    Illustrated notes on the Building A Second Brain course

  • How to Become a Neo-Cartesian Cyborg

    Maggie Appleton·March 1, 2020

    A lightening talk on second brains and cyborg embodiment

  • Defend Your Cookies with Essential Web Security Tactics

    Maggie Appleton·February 8, 2020

    Illustrated notes on the essentials of web security

  • How much do we bend to the will of our tools?

    Thorsten Ball·February 4, 2020

    A few months ago, while looking at some code, a little light bulb that I didn’t even know existed went off in my head: “This was only written in this way, because the tools allow it to be written in this way.” Maybe it was a question mark,…

  • How to Draw Invisible Programming Concepts: Part I

    Maggie Appleton·January 24, 2020

    A case study showing how I make illustrations for abstract programming concepts

  • What the Fork is xState?

    Maggie Appleton·January 22, 2020

    Illustrated notes on how to build state machines with the xState library

  • A Journey into Vue-Router

    Maggie Appleton·January 16, 2020

    Illustrated notes on how routing works in Vue.js

  • What the Fork is Rust?

    Maggie Appleton·January 10, 2020

    Illustrated notes on the core concepts in Rust

  • The Art and Craft of Gatsby Themes

    Maggie Appleton·January 1, 2020

    Illustrated notes on building Gatsby themes

  • JavaScript Bits You Skipped the First Time Around

    Maggie Appleton·December 28, 2019

    Illustrated notes on advanced but fundamental topics in JavaScript

  • Meat Planet: The Illustrated Notes

    Maggie Appleton·December 28, 2019

    Visualising the cultural narratives around cultured meat

  • Building Custom React Hooks

    Maggie Appleton·November 2, 2019

    Illustrated notes on building custom React hooks

  • Immutable Data with Immer and Personal Assistant Bots

    Maggie Appleton·August 10, 2019

    Illustrated notes on how work with immutable data in the Immer state library

  • Speaking the GraphQL Query Language

    Maggie Appleton·July 30, 2019

    Illustrated notes on the basics of the GraphQL query language

  • The Best Illustration Books and Courses

    Maggie Appleton·July 6, 2019

    My favourite resources for learning to draw and developing your visual thinking skills

  • A Fresh Serving of JavaScript ES2019

    Maggie Appleton·June 23, 2019

    Illustrated notes on the new language changes in JavaScript ES2019

  • The JAMStack, Gatsby & Contentful

    Maggie Appleton·June 1, 2019

    Illustrated notes on the JAMstack, Gatsby & Contentful

  • Instachatting with Vue & Socket.io

    Maggie Appleton·May 20, 2019

    Illustrated notes on how to implement web sockets with Vue.js and Socket.io

  • Building VR Apps with React360

    Maggie Appleton·May 14, 2019

    Illustrated notes on building VR web apps with React360

  • Testing Apps with Cypress

    Maggie Appleton·May 10, 2019

    Illustrated notes on how to test web apps with Cypress

  • How Are Compilers & Transpilers Different?

    Maggie Appleton·May 1, 2019

    Illustrated notes on how compilers and transpilers are different

  • Meet the Robowaiter APIs Serving Us Data

    Maggie Appleton·April 10, 2019

    Everything you need to know about what API's are and how they work

  • Learn more programming languages, even if you won't use them

    Thorsten Ball·April 9, 2019

    This article has been translated into Spanish: Por qué debes aprender más lenguajes de programación (incluso si no los vas a utilizar) Imagine we’ve been handed a task and we’re free to choose the programming language. The assignment involv…

  • A Shelfish Starter Guide to Databases

    Maggie Appleton·March 10, 2019

    The absolute minimum you need to know about data storage

  • A Fruitful Guide to JavaScript's Comparison Operators

    Maggie Appleton·February 14, 2019

    Illustrated notes on how JavaScript's comparison operators work

  • What the Fork is Babel?

    Maggie Appleton·February 1, 2019

    Illustrated notes on how Babel works

  • JSX is a Lovechild

    Maggie Appleton·January 20, 2019

    Illustrated notes on how JSX in React works

  • What the Fork is the React Virtual DOM

    Maggie Appleton·January 20, 2019

    Illustrated notes on how the React virtual DOM works

  • JavaScript's ...spread Operator

    Maggie Appleton·January 20, 2019

    Illustrated notes on how JavaScript's spread operator works

  • The Tools I Use To Write Books

    Thorsten Ball·September 4, 2018

    This article has been translated into Russian: Полезные инструменты для написания книг Thank you Vlad! In the beginning, there is always a single text file, nothing more. It’s called ideas.md or book.md . It contains a list of thoughts and…

  • The Paperback Edition of Writing A Compiler In Go

    Thorsten Ball·August 14, 2018

    Well, that certainly went quicker than I planned. I knew from releasing the paperback edition of Writing An Interpreter In Go that a lot of people still prefer paper over eBooks. So it didn’t come as a big surprise when, right after the rel…

  • The Lost Chapter: A Macro System For Monkey

    Thorsten Ball·June 28, 2017

    If you don’t care about the Who, Where, When, Why, How and the Why Is It A Lost Chapter? and want to skip to the What: I wrote a new chapter for Writing An Interpreter In Go and you can read it for free at interpreterbook.com/lost . Otherwi…

  • Writing An Interpreter In Go: The Paperback Edition

    Thorsten Ball·February 22, 2017

    If you’d asked me a only few months ago if there’ll ever be a printed version of Writing An Interpreter In Go I’d responded with a “Huh, uummm, well, I don’t know. Maybe. Maybe if I’ll find the time and if there’s any interest.” As it turne…

  • Higher Value Tools

    Thorsten Ball·February 8, 2017

    There are certain tools that provide incredibly high value. Much more so than others. They provide so much value by acting as a multiplier of power and leverage. And I think there’s something they all have in common. I’m talking about inter…

  • What I didn't do to write a book

    Thorsten Ball·January 16, 2017

    I wrote my book “Writing An Interpreter In Go” over the course of 11 months. The first four months were spent on building the Monkey programming language and its interpreter. In the following seven months I wrote the book itself and at time…

  • A Virtual Brainfuck Machine In Go

    Thorsten Ball·January 4, 2017

    You’re a programmer and your product manager walks up to your desk, taps you on the shoulder and asks if you have a couple of minutes to spare. She needs to talk to you about something. You sit down together and she has a serious look on he…

  • Why I Wrote a Book About Interpreters

    Thorsten Ball·November 30, 2016

    Last week I’ve self-published my first book called “Writing An Interpreter In Go”, which you can get at interpreterbook.com . I want to tell you a little bit about why I chose to write this particular book. Sometimes I jokingly call the sum…

  • Putting Eval In Go

    Thorsten Ball·November 16, 2016

    Over the past year I’ve spent a significant amount of time reading through Go’s go packages , the packages used by the Go compiler and other Go tools. But only recently did it occur to me that these are real, public packages. I can actually…

  • Write Stupid Code

    Thorsten Ball·October 22, 2015

    This post has been translated to Chinese . In the last couple of months I developed a certain approach to writing code. Whenever I write a new function, class or method I ask myself: “Is this code stupid enough?” If it’s not, it’s not done…

  • Unicorn Unix Magic Tricks

    Thorsten Ball·November 20, 2014

    This post is based on the talk of the same name I gave at the Arrrrcamp conference in Ghent, Belgium on October 2nd, 2014. You can find the slides here and the video recording here . Unicorn is a webserver written in Ruby for Rails and Rack…

  • Why threads can't fork

    Thorsten Ball·October 13, 2014

    There is an interesting thread on the Go issue tracker about daemonizing processes. Most of the thread is not about daemonizing processes though, but more about why Go has no Fork() function which you can call directly in your code. The fir…