-
2025 π
-
07 π
- vibe code is legacy code
- Thoughts on Motivation and my 40-year Career
- The Rise of Whatever
- The future is not self-hosted
- Safety Protocols
- range syntax
- pogocache
- Obervable notebooks 2.0
- LSM trees in postgres
- It's the people who are pushing it
- I Teach Creative Writing. This Is What A.I. Is Doing to Students.
- Fascism for First Time Founders
- faircamp
- A non-anthropomorphized view of LLMs
- a history of javascript runtimes
-
06 π
- Trading space for time
- The Web that Never Was
- The Unreasonable Effectiveness of Fuzzing for Porting Programs
- The Narrative Fallacy
- The history of web mapping
- The history of Lenacapavir
- The Gap Through Which We Praise the Machine
- technotes
- Reflections on Sudoku
- Quarkdown
- Managing passwords is so 2020
- Malleable Software
- How I Program with Agents
- Good Performance for Bad Days
- Everyone should copy thunderbird's donation model
- counting the yurts of Mongolia
-
01 π
- Writing a simple pool allocator in C
- Viewing images
- Tom MacWright's 2025 predictions
- The curious case of Quentell
- The communal plot
- Some programming language ideas
- sapf - sound as pure form
- on pie charts
- Mercator Extreme
- Literate Flatbush
- Island Peakscapes
- How to create a UK bivariate map
- How I program with LLMs
- How I AI
- Good, Fast, Cheap - pick 3 or none
- Download OSM data from overture maps
- Cartes, a free European alternative to Google Maps
- Can We Retain the Benefits of Transitive Dependencies Without Undermining Security?
- Build it Yourself
- Arroost - unblocking creation with friends
-
2024 π
-
11 π
- Way too many ways to wait on a child process with a timeout
- Sequin - debug ANSI escapes
- Playground Wisdom - Threads Beat Async Await
- On Typesetting Engines
- Oblique view of the Sagrada Familia
- Link to Text Fragment browser extension
- Institutional memory and reverse smuggling
- Complex for Whom?
- Color Experiments with OKLCH
- Building a code-writing robot and keeping it happy
- bit-twiddling hacks
- Against the Dark Forest
- A Practitioner's Guide to Wide Events
- A golden ratio for line charts with truncated y-axis
-
09 π
- The History of Web Performance
- Substrate Engineering
- Storage is a microservice
- Sanding
- Put the work where the data is
- Possibly all the ways to get loop-finding in graphs wrong
- LSP - the good, the bad and the ugly
- Kill your dependencies
- Five essential questions to ask about systems
- DOM-aware physics
- Children of the Magenta
- against react
- 1 Γ· 0 = 0
-
08 π
- The vindication of bubble sort
- The secret in one million checkboxes
- Text fragment links
- Tensort
- postgres.new
- Pipe Syntax in SQL
- Parsing Protobuf at 2GBs
- Parochialism in time and space
- mlx-whisper
- LossRider
- Language Server Protocol from Debug Symbols
- How I program in 2024
- go-geojson-show
- fontgenerator.dev
- Fixing the game
- CRDTs go brrrr
- Continuous reinvention - a brief history of block storage at AWS
- China as a model
- AutoAlbers
- 7 things I've learned building a modern TUI framework
-
07 π
- wllama
- Why do remote meetings suck
- We need visual programming. No, not like that.
- UUIDv7 in 33 languages
- The word "bug" doesn't come from Harvard
- The New Internet
- The Natural Number Game
- State of Text Rendering 2024
- Searching an aerial photo with text queries
- Rob Pike - Array Languages are Important
- Reverse engineering ticketmaster's rotating barcodes
- Reverse engineering a day's worth of websites
- pico
- Migrating from express to fastify
- Locally patching dependencies in Go
- Input fonts
- In praise of fc
- How many days out is the temperature forecast accurate?
- How malloc broke Serenity's JPGLoader
- How fast is javascript? Simulating 20,000,000 particles
- Hash-Based Bisect Debugging in Compilers and Runtimes
- German Strings
- Finding simple rewrite rules for the JIT with z3
- BusyBeaver(5) is 47,176,870
- Beating the compiler
- Automated test-case reduction
- A write-ahead log is not a universal part of durability
- A map of the world as segmented by tzdata
-
06 π
- zendo
- Towards post-modern programming
- Thoughts on my first machine learning project
- The unreasonable effectiveness of chaotic knowledge acquisition
- Not just scale
- libtree
- Kunstformen der Natur
- jgs ascii art font
- I've stopped using box plots and so should you
- huddling together on software stacks
- HTMD - convert HTML to Markdown
- gaby
- Electoral reform is possible
- don't delegate decisions to LLMs
- Classical Light - Ancient Greece to Maxwell
- BoVeX
- Applite
- AI is what a human can do, and a computer can't
-
05 π
- What factors explain the nature of software?
- Two-phase render
- The Web's Grain
- Terminal text effects
- symbl.cc unicode table
- Stripe's monorepo developer environment
- Queueing
- How to be obscene
- freetiler
- Feynmanβs garden
- Feeds are not fit for gardening
- externalities scale superlinearly
- Exploring the c4 compiler
- Coding my handwriting
- A distributed systems reading list
-
04 π
- What does a confidence interval mean?
- Try it and See
- tree-shaking
- The Onion Futures Act
- Recreating Historical Dataviz
- patterns
- In Praise of Blindspots
- How we built jsr
- Here I am
- Fuck Nuance
- f8 and be there
- Exploring Indra's Pearls
- eclipse forecast dashboard
- Debugging the doctor brain
- Cybernetics is the science of the polycrisis
- Color Jitter - using randomness to augment categorical visualizations
- Coding adventure - rendering text
- Civil War (the movie) is a blunt object
- borgo
- AI leaderboards are no longer useful
-
03 π
- What Liberal Arts Education is For
- view the dom in 3d
- The One Billion Row Challenge in Go
- The Hunt for the Missing Data Type
- The first published photo of Earth from space
- The Basics
- SerenityOS Emoji Font
- require(esm) in node.js
- Redis renamed to redict
- Prints
- Performance engineering, profilers, and seeing the invisible
- Pallene
- Optimizing the particle life - from 400 to 4 million particles
- On Tech Debt - my rust library is now a CDO
- Monte-Carlo Graph Search from First Principles
- molten.nvim
- How web 2.0 killed the internet
- How ReadMe migrated from Heroku to Render with 90 seconds of downtime
- Fixing a bug in pypy's incremental gc
- Everything I know about the xz backdoor
- event.preventDefault()
- Eloquent JavaScript
- eBPF documentary
- Earth at a cute angle
- duckdb as the new jq
- Downpour
- Cooking With DuckDB
- Building an LSP from scratch
- BIMI and well-known avatar
- Beyond efficiency
- Backpressure explained - the flow of data through software
- ActivityPub server in a single PHP file
-
02 π
- Scott Chacon on git commit messages
- Pike on dependencies, Knuth on software
- Paying people to work on open source is good actually
- Observable Framework
- Maybe everything is a coroutine
- Learn CSS the Pedantic way
- Is Something Bugging You
- In defense of simple architectures
- How to make self-hosted maps that work everywhere and cost next to nothing
- How I write HTTP services in Go after 13 years
- EffVer
- A bipartisan solution to gerrymandering
-
01 π
- Writing a TrueType font renderer
- work is work
- What we got right, what we got wrong (Rob Pike)
- Using zig to commit toolchains to VCS
- Towards modern development of cloud systems
- The duty to document
- SIMD in pure python
- resiliency is not efficient
- naming command line arguments
- My grandpa was a nazi
- marimo - reactive notebook for python
- Macaroons escalated quickly
- mac shortcut to OCR text
- LLMs and Programming in the first days of 2024
- htmx is composable??
- grex
- durdraw
- Building a baseline JIT for Lua automatically
- -37F Winter in Yellowstone National Park
-
2023 π
-
12 π
- What We Need Instead of βWeb Componentsβ
- Watch electricity hit a fork in the road at half a billion frames per second
- TimeViz Browser
- standard ebooks
- Schneier on AI
- MastoFeed
- Luxury of Simplicity
- Let's learn how modern javascript frameworks work by building one
- I made JSX for Lua (because I hate static sites)
- Four pitfalls of spatiotemporal data analysis and how to avoid them
- earth.nullschool.net
- Database Fundamentals
- Code is not technical debt
-
11 π
- You want my password or a dead patient?
- Was this October really warmer than most Octobers
- rustlings
- Playful Programming
- Open Source loading components
- Numbat - a programming language with physical unit types
- Life-critical side projects
- KDL - a config language
- jq by example
- How Humans see data
- Early experiments with X-rays
- Designing a Programming Language to Speedrun Advent of Code
- cursorless is alien magic
- Bathymetry of the Atlantic
- automerge-repo
- antirez' tiny JSON selector library
- 1001 albums generator
-
10 π
- Why async Rust
- Unless Explicitly Specified Otherwise, Open Source Software With Users Carries Moral Obligations
- The Rhetoric of Condemnation
- The nuances of base64 encoding strings in JavaScript
- The Great Ptolemaic Smackdown
- The Absolute Minimum Every Software Developer Must Know About Unicode in 2023
- Stein's Law
- python 3.12 adds `itertools.batched`
- paclear
- No one actually wants simplicity
- Nakatomi Space
- My personal C coding style as of late 2023
- modern unix tools
- Meta in Myanmar, Part III - The Inside View
- Matchstick igniting
- lonboard
- Itβs Not Wrong that "π€¦πΌββοΈ".length == 7
- How we're opening up access to gov.uk forms
- Fragile
- Error Budgets and the Legacy of Herbert Heinrich
- Embeddings - what they are and why they matter
- EBCDIC is incompatible with GDPR
-
09 π
- Why didn't we get a malaria vaccine sooner
- When the Sea Saved Humanity
- Wavacity
- Understanding WASM Part 3 - you are here
- skip the API
- No Ghosts!
- Most UI Applications are Broken Real-time Applications
- Mask
- jq is alive again
- Invariants - A Better Debugger
- Introduction to CORS for go programmers
- I built Excel for Uber and they Ditched it
- Horizontal and Vertical Complexity
- GitHub Actions could be so much better
- Exploring Linux command-line space time
- Everything I wish I knew before moving 50,000 lines of code to React Server Components
- emoj
- Develop with cocoa for apple devices without using Objective-C
- CORS debugging trick
- boats' wakes have the same shape no matter their speed
- A year's OSM tile traffic
-
08 π
- Youtube2Webpage
- wtf-8
- Why Kundera never went home
- Why htmx Does Not Have a Build Step
- TypeScript is surprisingly OK for compilers
- Thoughts about what worked in math circles
- The TTY demystified
- The OpenTF manifesto
- Special use domains
- So You Want to Learn Physics...
- Search text on historical maps
- RFC 3339 vs ISO 8601
- Rewriting wipEout
- Putting the "you" in CPU
- Paste without style on the mac
- Open charter companies and relicensing
- No One Actually Wants Simplicity
- Netscape meteors
- micro
- How they bypass YouTube video download throttling
- Hofstadter on LLMs
- gonew - go language template app from the core team
- Game of Life in APL
- ESM modernization lessons
- C and C++ Prioritize Performance over Correctness
- Astro content islands
- Andreas Kling on the cost of patterns
- A friendly abstraction over io_uring and kqueue
-
07 π
- Why Match School And Student Rank?
- Unsafe Rust vs Zig
- unicode is harder than you think
- Ungrammar in Go and resilient parsing
- Unfancy Blocks
- Understanding WASM
- The Messaging Layer Security (MLS) protocol
- The controller pattern is awful
- Shakespeare Serif - an experimental font based on the First Folio
- Reaction-diffusion playground
- NASA eyes
- GCC 14 draws memory diagrams on failure
- Early computer art of the 50s and 60s
- Demystifying Tupper's formula
- Catastrophic Failure
- bilithification
- Banished to a Remote Idaho Valley, Beavers Created a Lush Wetland
- Announcing Jupyter Notebook 7
- Announcing Clipper - TLS-transparent HTTP debugging for native apps
-
06 π
- We're all doing metrics wrong
- the two camps of mastodon
- The rust I wanted had no future
- The Merganthaler Diagrammer
- tech debt maximalism
- Superpermutation
- Rewriting the Ruby Parser
- poop
- NVD Damage (continue)
- Modern software quality, or why I think using language models for programming is a bad idea
- in which b0rk is wise
- I hate almost all software
- How to build an air quality map quickly
- How I Build a Large Technical Project
- bubblewrap
- Apple Maps vs Google Maps
-
05 π
- warms
- Using computers more freely and safely
- the Aaronson Oracle
- sqlite has json5 support
- Red Canary Mac Monitor
- pytrees
- More Ted Chiang on LLMs
- mmm.page
- I want to talk about WebGPU
- How figma draws inspiration from the gaming world
- enforcing bounds safety in C
- canvas-sketch
- add .ΚβΟβΚ as an alternate spelling of .go in file names
- ada URL parser
- A Terminal Case of Linux
-
04 π
- writing a user-space USB driver for a 1999 webcam
- will AI obliterate the rule of law?
- Why is sea level rise worse in some places?
- unicode text analyzer
- The History of the Joy Division visualization
- Supabase open sources edge functions server
- Shar's Algorithm for Branchless Binary Search
- safari releases are development hell
- new doc site for observable plot
- mmap is (mostly) not magic
- Mermaid Gantt charts for traces
- Langchain demo
- Improving bug triage with user pain
- If AI scaling is to be shut down, let it be for a coherent reason
- here is my list of weird coding influences
- Grid world
- GPT makes false sexual harrasment allegations
- Good Enough File System
- Determinants
- Customizing an LLM on friends chat
- CoScreen
- coping strategies for the serial project hoarder
- bitwise
- apenwarr on insight, engineering, and how an LLM might relate to them
- annoy - approximate nearest neighbors oh yeah
- A Number System Invented by Inuit Schoochildren
- a guide to prompt engineering
-
03 π
- Writing an Engineering Strategy
- what happened to Digg?
- Something Pretty Right - The History and Legacy of Visual Basic
- Play - a free map editor from Placemark
- MRSK
- Malleable software in the age of LLMs
- Janet for Mortals
- Infinite aperiodic monotile
- How big should a programming language be?
- Enabling low-latency, syntax-aware editing using tree sitter
- drizzle ORM
- Crowdsourcing contested Nigerian elections
- crawling every page and running lighthouse on it
- Breaking Up with Heroku - moving to Kubernetes
-