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