From where I sit, figuring out what to build, building it, and shipping it are all part of the art of making software.
Many disciplines have emerged through the years to facilitate this work: product, design, engineering, devops, etc.
We need all...
Well, this was an interesting one. A client’s production XigmaNAS VM, running on UFS2 (because it’s a VM, and ZFS is on the host beneath it) needed expansion today. Unfortunately, expanding the size of /dev/vtbd1p1 removed its UFSID label–and just...
Tool: Chirp Pong
Another game experiment - I wanted to see if it was feasible to have a two player game on two separate phones running in static HTML where the networking code uses chirps sent via the microphone. It seems to work!
Build a two player...
Anthropic tells investors quarterly revenue up nearly 50% to $16.8bn ahead of IPO
The phrase "told investors" appears four times in this FT article, which reports on Anthropic's day of hosting investors on Wednesday. Lots of details in...
Jonathan O’Connell, Sarah Blaskey, and Aaron Schaffer, reporting for The Washington Post (News+ link; Archive.today link):
A list obtained by The Washington Post reveals all the major
donors to President Donald Trump’s White House ballroom...
curl started out GPL licensed, as direct inheritance from its httpget days, but in October 1998 we switched to the Mozilla Public License (MPL). In 2001, we added the MIT license as an additional license to optionally use in addition to MPL. We made...
Swedish studio Off-leash Interactive and Denshattack publishers Fireshine Games have announced Trollheim: Gnomes, a survival-crafting fairytale in which you, a three-inch-high gnome, explore a procedurally generated forest derived from Nordic...
In many respects, as someone who has played a lot of automation games, Substructure is very familiar. It begins with you landing on the surface of an alien world and using nothing but pluck, the tools on your UI, and the schematics in your tech tree...
I updated my static search fallback to use the no-AI version of DuckDuckGo (sigh). I don’t use Pagefind anymore because I built my own Zig wasm index, but the no-JS fallback remains the same DuckDuckGo form. For searching the rest of the web I pay for...
TetraLogical have released an Accessible Components Library. “For every component, we’ve documented the applicable success criteria from the Web Content Accessibility Guidelines (WCAG) 2.2, at levels A, AA, and AAA. We’ve also added our own...
Just filled my car with gas for the first time since February or March, and it cost $4.22 a gallon
Then sent a single document to Japan via FedEx, and they charged me over $100 for the cheapest/slowest rate—almost half of which was fuel...
A lot is riding on local models becoming "good enough" for agentic coding workflows.
The fact I've gone from "I only trust Fable and Astra" to "Opus 5.5 is just as good as either" to "Sonnet 5.5 is basically good...
Over a year ago, I stopped reading code and started automating adversarial agents to perform recursive code reviews instead.
The result: low-defect systems that do what I want. Can't believe anyone engaging seriously with these tools still...
In this episode, we dive into how much models actually matter: more like a preference, like whether you use an iPhone or Android, than their capabilities. We talk about bare-metal disks when running Kubernetes, then move to agents and how data...
A huge theater of purple steel rigging builds castles, starships and temples for one viewer in the only seat, while a tiny studio off to the side holds up a single boxed...
A giant made of a worker's emails and records kneels and offers him small copies of himself/images/agi-prediction-update.webp/images/agi-prediction-update.webp I said, I think in 2023, that we’d have AGI between 2025 and...
UL Gauntlet results chart/images/introducing-ul-gauntlet.webphttps://thebenchmarks.ai I'm Kai, Daniel's AI assistant, and I wrote this post. toc UL Gauntlet is a benchmark for how well AI models explain things. Each model has to say why...
Learn how to use the new frozendict built-in to create and manipulate immutable dictionaries.
Python 3.15 introduced a new built-in data type: the frozendict.
A frozendict is an immutable dictionary that can be created with the built-in of the same...
Tool: Tree Appreciator
Another game experiment with Claude. This one used the default Claude iPhone app (chat mode, not Claude Code mode), where I prompted Claude Opus 5.5 Max with:
Build a three js game called "Tree appreciator" - it shows...
AI is mass decompiling games. That's both awesome and scary.
Indie game developer Popcar talks about the recent wave of AI-powered decompilation of existing games, enabling weird mashups between existing games, and producing a boom in game...
Login looks simple until you’re building password resets, email verification, MFA, social providers, session management, and the enterprise SSO your first big customer asked for last week.
AuthKit lets you:
Offer SSO, MFA, passkeys, passwords, email...
The Department of Justice, yesterday:
An employee of OpenAI has been arrested for and charged with using
or endeavoring to use an electronic, mechanical, or other device
to intercept oral communications. Abdulrahman Alfozan, 35, a
national of the...
Over the last year or so, multiple engineers at Aisle have spent a lot of time and energy while pointing their AI powered tooling at the curl source code. This has resulted in no less than thirty-five published curl vulnerabilities and CVE Ids. Today,...
In the curl 8.23.0 release we shipped a fix for one of the worst vulnerabilities in curl in a long time. We grade it severity HIGH. It is known as CVE-2026-92392 with the title HTTP/2 upload Use-After-Free. This post explains the bug, what the problem...
Release presentation Numbers the 277th release4 changes42 days (total: 10,929)281 bugfixes (total: 14,770)476 commits (total: 40,084)0 new public libcurl function (total: 100)0 new curl_easy_setopt() option (total: 312)0 new curl command line option...
Over the Hill, a rather chillaxed take on brutal Saber Interactive off-roading sims like SnowRunner, is the latest game from vibesy driving enthusiasts Funselektor. The folks behind the likes of Art of Rally and Absolute Drift have assembled untamed...
Earlier this month, the former Disco Elysium developers of worker co-operative studio Summer Eternal sent me a 500-page anthology describing their new game Red Rooster. It's a 3D, real-time, third-person RPG you could broadly style as a spiritual...
Origami (Weird Web October) by Dan Q is really cool! When I saw the open source repo my first reaction was: liar! Where’s the JavaScript? It’s all inline in index.html and remarkably simple (not the maths). The Unlicense ‘license’ Dan chose is...
I've previously shared my vision that the industry is moving towards software factories for 99% of code changes and to make that effective we'll need to move to a paradigm of Durable Context and Dispo...
Don't sleep on Sonnet 5.5, I pushed four extremely ambitious features across several iOS apps today with Opus 5.5 dispatching a gob-smacking number of Sonnet agents and still haven't hit 20% of my weekly cap in about 9 hours of wall time....
I am a habitual tab hoarder so I created a Firefox addon to help me manage every one of my very special browser tabs.
Sort tabs by oldest, unload them, find duplicates, and consolidate tabs to a single window — buncha useful stuff in there!
Download...
Charcoal sketch: a purple robot hand writes marks on a cream script strip that loops into a vintage microphone, and out of the microphone comes a sienna ribbon of sound carrying three theater masks that go from a scowl, to a resolute look, to a big...
I finally got around to importing my whole historical Twitter archive (just my own original tweets, not replies or retweets) into this WordPress site as a proper Custom Post Type: https://chriscoyier.net/tweets I haven’t added it to the...
Learn how to use the sentinel built-in from Python 3.15 for placeholder values.
Python 3.15 introduced the new sentinel built-in.
The sentinel built-in can be used to create placeholder values:
NOTHING = sentinel("NOTHING")
A placeholder...
Redesigning source control at Anthropic
Interesting piece from Anthropic describing why and how they built their own custom alternative to Git, based on the dramatic increase in rate of changes to their code after the past six months.
In May 2026,...
Release: llm-gemini 0.35
I added support to llm-gemini for the new Gemini 4 Argon model, made available today via the Gemini API and for customers of their $100/month subscription plan.
Here are the low, medium and high pelicans. As expected, they are...
If the agent isn't using my diagnostics library, I could introspect and update AGENTS.md, but there's still a delta, and it'll drift. Instead, I write a pre-commit hook that checks the git diff for direct calls to observability modules...
Release: web-edit 0.1a1
Includes performance optimizations written by Claude Opus 5.5 after I fed it this Python 3.15 profiling report generated by GPT-6 Astra.
Tags: profiling, projects
The past 8 months or so of AI have been the most important thing that has happened to Open Source and democratization of technology since the Linux Kernel and Rust,
Apple Newsroom:
Apple today introduced Apple HomeView, designed to be central to
the home and personal to everyone in it. With a stunning 7-inch
Liquid Retina display, HomeView brings entertainment, connection,
and smart home management together in...
Back in August I mentioned the new curl performance tests we have running. I figured it could be apt to return to this topic just to mention some of the initial outcomes. When the team gets a new set of charts, graphs and plots that visualize...
I think I'm a pretty decent Space Whale Mayor, all told. A caring and responsible fellow traveler for Kewa, the astral cetacean on whose craggy, cloud-hung back every city in Beyond These Stars is founded. For each hexagon of whaledirt I transform...
Most semantic layers come with a great declarative modeling language to define metrics and measures well1, but very soon after, you start building wrappers around the semantic layer that enable agentic work and context engineering, that work well with...
Look at this clock. It’s a clock. I bought it once because I needed… a clock. It’s $29, which is totally reasonable for… a clock. Then it was Daylight Saving Time one day, and I went to update it, but…...
I remember working in digital prepress decades ago that .eps files were just kinda weird, and I didn’t love it when I had to deal with them. Like, what even made this? Why? I assumed it was some kind of antiquated software or practice, and...
Learn how to use lazy imports to speed up the startup time of your Python applications.
Python 3.15 introduced explicit lazy imports.
An explicit lazy import is an import statement that starts with the keyword lazy:
import json
lazy import math
lazy...
I wrote the chapter on app icon history for The iOS App Icon Book.
The other day I found an old note stashed away where I had started researching the macOS version of that chapter (which Michael ultimately ended up writing).
At the time, I didn’t know...
Release: llm-meta-ai 0.2
Meta AI release Muse Wonder (and Muse Wonder Full), their new "most capable models". These look like they may be Meta's first Fable class models - Artificial Analysis scores Muse Wonder (Max) as equivalent to...
Python 3.15 is here! Here's the essential What's new in Python 3.15 guide, this year curated by 3.14 and 3.15 release manager Hugo van Kemenade. As someone who builds open source software that works in every supported Python version, I get to...
Research: Profiling web-edit with Python 3.15: flame graphs and source heatmaps
I put the new Python 3.15 profiler through its paces by having GPT-6 Astra Extra High in Codex run it against my new web-edit app:
I need a Python 3.15 flame graph and...
Release: web-edit 0.1a0
I was working on a project from my phone using Codex Remote when I found myself wanting to edit a credentials file without round-tripping those credentials through the LLM itself.
So... I had Codex and GPT-6 Astra Extra High...
Release: datasette-ports 0.4
My plugin for detecting and listing all Datasette instances on the current machine now works with the latest version, and displays the detected PID as well. Knowing the PID makes it easier to attach the new Python 3.15...
Mary Alyce Stephens (née Neader), posting on Cringely’s Facebook account:
Hello, this is Mary Alyce, Bob’s wife. I am coming to you with
immense sadness to let you know that Bob passed away. His obituary
follows. His family is not requesting...
The curl security team happens to also double as the curl core team. The small group of people who assess security reports and take project decisions. The exact set of participants in this team of course vary over time, as this is a volunteer...
Release it for visionOS, you cowards! https://www.digitalfoundry.net/news/2026/10/no-mans-sky-gets-unlikely-iphone-and-ipad-release-including-10-years-worth-of-updates
Unlike Sam Altman, I sat down and did the math by hand to calculate that it
would actually be less time to produce the show if I were to livestream it
than to edit it after the fact and upload it. The fact I recently got upgraded
from 30mbps to...
Taking Breaking Change LIVE for the first time this morning. Plan to kick off around 9 AM eastern in <30 minutes. Built some fun AI production tools this weekend to play with, too.
I promise to be bad at this. Tune in! https://youtube.com/live/ij7orMMeoa4
Many software engineers are righteously angry about AI. It’s understandable to be upset that the skills you built your professional identity around are getting automated away. But software engineers are the last people in the world who should be...
Riker is a persistent teammate that lives in my coding agent, hands work to the agents I already use, and checks the result itself. It is closed source for now.
Dave, from #735: Never trust an adult over 35 who can’t explain what they need from you in a bulleted list. I’m thinking like a laptop sticker or t-shirt, right? A little AI slop to help pick a direction can be helpful....
Pete Millspaugh has a lovely article over on WIRED that peers into the world of domains. (If you’re as interested in the esoteric details of domains as I am, follow Pete’s writing at Dot Com Press.)
You should just read the article, but here are a few...
I remember hearing a while ago that Dwarf Fortress didn't use version control. That fact has been lodged in my head, because given its inherent complexity I have trouble imagining a codebase that would benefit from version control more. That's...
If you returned from exile on a desert island and took a look at X today for first time in a year, you might reasonably guess that Elon Musk got bored and sold it while you were away.
Joe Rossignol, on Thursday:
Starting today, iPhone users still running iOS 26 will see iOS
27.0.1 as the prominent software update in the Settings app under
General → Software Update, with iOS 26.7.1 now relegated to a
smaller “Also Available”...
Sundays are for realising that this is speeder racing. No, not podracing. You're not skilled enough for that yet. You've got to get your reps in to be the best of the best on the tracks of the galaxy far, far away. You've got to beat Ary...
The time has come to address the elephant in the comments. Whenever my blog hits a place with a comments section the most predictable comment I see — besides some variation of “this idiot is utterly delusional!”† — is this one: “lol I read the domain...
When you disagree with someone, there are two paths forward. The first is to try to engage with what they’re saying: what their reasons are, whether their position is true, what evidence could be brought to bear, and so on. The second is to diagnose...
Not much screen time for me lately, so this is a few months’ worth. But I have enjoyed some things! I have all these shows that I really wanna finish, but just can’t get the gumption to do it. Lanterns didn’t hit for me....
Just noting Mat’s Multipage Version zine rules. I bought both issues right away. It’s weird, it’s funny, it’s a work of art, and you might even learn something. The page that is a spliced version of Marc...
Python 3.15.0 added to actions/python-versions
Bit of a niche link, but I've been waiting for this for a couple of days - I even told ChatGPT to check for it:
Clone https://github.com/actions/python-versions and git pull once an hour until they...
Anthropic detailed the activity of its A.I. agents in a blog post on Friday, without naming the targeted websites. But two sources with knowledge of the incidents said Anthropic’s A.I. agents had submitted 20 visa applications through a form available...
My thanks to Sunnny for sponsoring this week at DF. How can B2B software be so friggin’ delicious? Find out when early access launches on Monday, October 19.
★
Benjamin Mayo (on X, of course), commenting on Apple promoting behind-the-scenes footage showing that the embroidered “Welcome Home” logo for next week’s keynote/experience was stitched by hand:
There needs to be a name for this phenomenon where...
The descent into autumn continues: this week I slept with an extra blanket on the bed. I'm not into swapping the duvet out for the winter tog yet, I'll be holding off on that until at least December, but the laying of the first blanket is a...
It’s official, Deno is as dead as a dodo. “We will support the Deno runtime for another year with monthly releases containing bug fixes and security updates. After that year we will end our development of the Deno runtime. Deno is joining Cloudflare -...
At this rate, we're gonna get a PC port of GTA 6 a year before a PC port of GTA 6 comes out. https://kotaku.com/we-might-be-cooked-as-these-vibe-coded-web-browser-ports-of-halo-the-simpsons-hit-and-run-and-gta-vice-city-seem-to-work-perfectly-2000743300
Was burning through both the Codex and Claude $200 plans just triaging SwiftUI issues across my suite of apps.
Told it to abort UI testing after at most one fix attempt and token consumption dropped 80%.
I have become the impatient manager telling...
We are currently living in the age of centaurs (2022-20??). Right now, human engineers paired with AI coding systems are more effective than either by themselves. For future generations of software engineers — human or otherwise — this will be the...
Fun seeing CSS be a topic in WIRED. Pete Millspaugh shouting out some greats: One programmer recently re-created Doom in CSS. Others have used it to build holographic Pokémon cards and 3D-rendering engines. Cassidy Williams, who competed in this...
This article explains the 5 best new features of Python 3.15 with clear examples and explanations.
Python 3.15 has been published and it packs plenty of new features and improvements over Python 3.14.
This article explores the five most exciting new...
Deno is joining Cloudflare
The Deno team released the first version of celld back in August - their open source implementation of the Durable Objects pattern from Cloudflare Workers.
Today, Cloudflare are acquiring Deno outright, with the goal of...
Everyone is very concerned about being respectable, so I’m going to be the goofball who raises worst-case possibilities. I think there is a 1% chance we live in Minicrypt, and a 15% chance we functionally lose confidence in our existing public-key...
I shipped a new feature for my blog today: the Newsletters page, which offers an index of all of the newsletters I've sent out, both my free weekly Substack and my monthly sponsors-only updates. I built the feature almost entirely using my voice,...
Release: ttok 1.0
I released ttok 0.4, ran uv tool upgrade ttok, piped a file into the new version... and realized that it was defaulting to the GPT-4 tokenizer when it should very clearly default to GPT-5/GPT-6 instead!
I figured switching the...
Writing about new 2D timeloop metroidvania Echo Weaver is tricky because most - possibly all - of what you need to complete it is available to you the very second you first wake up, deep in the charnelpools of an ethereal and shattered lunar...
Week 37 — September 27 – October 3, 2026 Meeting: Friday, October 9 Memory Verse: Matthew 6:33 !!! scripture "Matthew 6:33" Readings [ ] Day 1: Mark 1
I explained to Becky that my $400 AI subscriptions don't actually pay for tokens. They pay for a 10-20x multiple of some base level of an unspecified amount of "usage", and that said base amount of usage changes arbitrarily without...
A colossal purple intelligence building a stone arch while a small figure on a ladder lifts a cheap cracked mask off its face, and a second figure watches with arms...
A gardener tends flowers inside a hand-built wooden frame while a great purple tree grows up through it and far beyond/images/harness-gardens.webp/images/harness-gardens.webp I feel like everyone's treating their...
My notes from this talk by Alexander Petros at Big Sky DevCon 2026.
Alex starts by noting how “modernize” used to mean something along the lines of “update this thing that was made before I was born”. But now “modernize” means something more like...
Release: ttok 0.4
ttok is my CLI tool for counting tokens, using OpenAI's open source tiktoken library.
It hasn't been in updated in a couple of years, but I finally fixed a Click warning, updated CI, and added a --list-models command to list...
Computer programming is, fundamentally, about two things:
Problem-solving using computers
Learning to control complexity while solving these problems
I have a hard time imagining a future where knowing how to solve problems with computers and how to...
An actual post from the sitting president of the United States:
The White House considers anyone that uses the term, “Artificial
Intelligence,” as opposed to the highly accepted new and more
accurate term, “Super Intelligence,” THE ENEMY! President...
David Smith, last week:
Been really interesting to watch the iOS 27 adoption curve
over the first two weeks. Clearly on a different path than
previous years. Still steadily growing, at a similar rate to
the ‘steady growth’ phase of most years, but...
I do love a boardgame where you reveal the tiles as you play. Sure, I also enjoy turning over all the pieces at the beginning of a game of Settlers of Catan and taking in all the tiles and trying to work out a strategy based on which resources are...
Viewed from the front, my truck, with its winch and thick off-road tires, could be straight from SnowRunner central casting. Sure, it would an off-off-Broadway production of SnowRunner, with the polycount and texture resolution of a PS1-era take on...
Not being much of a kinkster, I'm the wrong writer to assess how Clive Barker's Hellraiser: Revival portrays BDSM. I can't say with any authority, for example, whether developers Saber Interactive have succeeded in distinguishing...
Kilian Valkhof would like to have a universal pseudo selector in CSS and so would I. It’s not something I knew was necessary until now but I like the idea. That said, I don’t like pseudo-elements. They’re a dead end for style and content. A...
Part one covered Clause 7.1: the resources it takes to run the system, ending on organizational knowledge and the retirement cliff bearing down on it. This post continues the organizational knowledge thread with its counterpart, ISO 9001 / AS9100...
How it started: How it’s going: This is my prescription: I think it means nearsightedness. I’m mostly fine with close-up objects (like my phone/computer), but things 10+ feet away are blurry. The glasses help! Nice for driving and...
I've always been kind of into computers since I was young. And then when film started to move from analog film to digital, I became more interested in that aspect of it. And the visual effects workflow for many years has included machine...
As previously promised, here's Anthropic's new fast, low cost model: Introducing Claude Haiku 5.5.
The previous Haiku, 4.5, was very much showing its age. It came out almost a year ago, and was priced at $1/million input and $5/million output...
Anti-Patterns in Software Blogging
Some excellent writing advice from Michael Lynch. Michael warns against "meandering intros", misjudging your reader's existing knowledge, assuming they'll read your previous posts, and excessive...
I was a graph theory junkie long ago and even moved to Budapest for awhile to study among the greats. While I was there I started working on Barnette's Conjecture which came to occupy my thoughts over the next 24 years of my life, on and off as I...
OpenAI “rogue” agent activities found on Wikimedia projects
Given how tempting a target wikis are for rogue agent swarms, it's not a huge surprise that Wikipedia found evidence of that activity once they went looking:
The Wikimedia Foundation...
When you take a look at the TechEmpower Web Framework Benchmarks it's hard to not notice how fast is Rust compared to the other languages. 1,327,378 requests / s for
This is a cool car. It doesn’t look like anything else and it looks like it’s been pulled a few years from the future. I don’t know about this whole trend where cars don’t have rear windows though. I get it that you just use the camera but my old...
The incomparable Mark Gurman, reporting for Bloomberg:
Apple Inc.’s upcoming push into smart home devices will include a
doorbell, thermostat and other accessories developed through an
unusual partnership with LG Electronics Inc.
The products will be...
On October 14 2026 we will ship curl 8.23.0. The next iteration in the never-ending series of version bumps from the curl project. We always think of the next release as the best version we ever did – and this time is no exception. Decades of...
I want, and not even especially deep down, to like Silver Pines more than I do. Wych Elm’s debut game – a Twin Peaks-inspired, neo-noir detective mystery that quickly repaints itself in survival horror red – is endearingly unusual, an angular mishmash...
During the hands-off presentation of Rainbow Six Tactics at Gamescom, destruction obviously featured. Walls were breached, cover was blown up, and masonry was peppered with rounds. It looked excellent, but it was also familiar from other turn-based...
Today I'm finding I'm working Markdown even more, and the delta is mostly in
read-mode, rather than write-mode. Reading agent and skill files, intent
summaries, product requirement documents and more, especially in the context
of Joule...
For better or worse the web industry is going through a bit of a phase. The reasons are largely irrational. People still need the web, nothing has changed there. Regardless, the financials of this business are a struggle. Longterm career prospects are...
The “Declarative Partial Updates” that Dave Rupert writes about in “Recursion is DEAD and HTML killed it” have me intrigued. They’ve talked about them before on Shop Talk. Seems like a powerful addition to HTML. Seems like something I’d use just...
If you're still coding like it's 2022 (or even 2025) then you're likely bottlenecking your SDLC (Software Development Life Cycle).
Agents read and write faster than us
Agents can validate faster than...
2016: Developers are too expensive to waste time verifying software manually, so make computers run automated tests.
2026: Agents are too expensive to waste tokens running automated tests, so make developers verify software manually.
In the 18th century, 90% of Americans worked in agriculture to feed themselves and the nation. Today, it's around 1%. In the 1950s, there were hundreds of thousands of telephone switchboard operators. Today, they're all gone. There used to be...
Everyone knows how to read a book. Beginning at the first page, you read each word in order1, stopping periodically to think, until you arrive at the last word on the last page. That’s how you read a newspaper article, or a poem, or an email. Why...
There’s a new web platform feature flighting in Chromium called Declarative Partial Updates. This proposal adds a new <?marker> element which enables out-of-order streaming of content. Rather than the traditional way of building the HTML you...
My sister is in a currently-running-on-TV political ad. It’s against the republican chucklefuck Tom Tiffany who was one of those anti-American dingleberries that claimed Biden “stole the election” and thinks Trumps tariff...
Louie Mantia has a great post about how app icons are converging towards the squircle on iOS and macOS.
His post reads like a history. If you’re wondering, “How did we get to a place where all app icons are becoming squircles?” Mantia’s post answers...
Since the Medicare breach, OpenAI has put in place additional monitoring to allow “immediate intervention” by staff to stop training if the company’s models access the internet in ways they’re not supposed to, Mr. Kwon [chief strategy officer at...
Release: llm-openai-decisions 0.1a0
OpenAI released their new Jev-style Decisions API, as previously announced at last week's DevDay.
Since I already have an llm-typesafe plugin for talking to Jev, I had GPT-6 Astra read the new OpenAI API...
How a platform team can build an AI factory on Kubernetes and grow its GPU catalog with KubeVirt: a plain GPU VM with Ollama, and a GPU Kubernetes with HAMi, both on one two-L4 server.
Scharon Harding, Ars Technica:
Unlike with previous versions of macOS, macOS 27 Golden
Gate doesn’t have a toggle for turning off Apple
Intelligence. That makes disabling AI features that you may not
want more difficult. It also means that the AI...
Rick Beato just published another one of his long-form interviews. This time, he interviewed Josh Homme.
Josh is from Palm Desert, California, where there were no clubs, so his band Kyuss, which he founded when he was 14, played parties outside in the...
In Dreadline Express, you play a character who awakes in the cabin of a carriage on the last human train. It hurtles down the track, bathed in the red light of an alien sky. At the windows of the carriage, eldritch tentacles press themselves against...
The streets of Baldtown City are nearly empty of traffic. It's not that it's a ghost town: up and down the pavements there are crowds of citizens bustling to and from work. They pile into subways, queue up at bus stops, and enter and leave the...
Two weeks ago at Rails World, I told my fellow programmers that it's time to put down the pencils. We're not going to write the vast majority of code by hand any longer. Coding agents have gotten so good that it's simply not an...
More than a year ago I wrote a few posts here that recommended people not to
load custom tools into their context (or
MCP servers) but to just
use more scripts. Most importantly I wrote that Code Is All You
Need and I wrote about that MCP needs
code....
I’ve still got all my WordPress sites on Pressable and happily so; I think they do a good job! They do everything you’d expect a WordPress host to do. The things I specifically like are: On that last point, I appreciated this...
OpenAI, today:
The EU AI Act requires generative AI providers to make generated
text identifiable in a machine-readable way. Text watermarking and
detection remain early technologies with significant limitations,
and views about their benefits and...
John Ternus, posting on X:
The way Steve taught us to care about every detail, every
experience, every person, still guides our work today. Forever
grateful.
Tim Cook, also on X (with a photo I don’t recall seeing before):
There are people who...
If you've watched the trailers for No Law or the tech demo that developer Neon Giant showed off at Unreal Fest earlier this year, it would be easy to believe the game has a similar scope to CD Projekt Red's Cyberpunk 2077. After all, both...
The new Joule Studio
CLI
recently landed, in the form of jl. This is what we use on the command line
to initialise a new Joule Studio project. What does that mean? Well, amongst
other things, it means:
you work on your project using a coding agent...
I receive plenty of email harassment. Mostly from anonymous cowards. Anyone with a blog and public email address in [current year] can probably attest to that experience. Apparently the audacity to prefer not to fund billionaires really upsets people?...
““The Wheel of Time turns, and Ages come and pass, [web developers are surveyed,] leaving memories that become legend. Legend fades to myth, and even myth is long forgotten when the Age that gave birth to it comes again.” The Wheel of Time - Robert Jordan”
Zach Holman, founder of Signed, joins me for another 🔥Hotfix🔥. Zach wants more of everything. Let's see what we can do about that.
Write into the show at [email protected].
People have been begging David to loosen his grip on Rails or even to walk away entirely for 20 years. Now that he's signaling interest in walking away, the same people are pissed as hell. Smart.
Paradise is not lost, the world is not ending, and most material metrics of humanity have never been better. Yet the endless, incessant dooming about the climate, the inequality, and AI is everywhere. We may have killed God, but we clearly didn't...
Dark Forestry | Henry From Online
A tiny website by Henry (from Online)
Dark Forestry
notes on a new season for technologists
~1232 words; about a 5 minute...
This promotional video is either too weird or not weird enough, but I like core idea of im Water: a carrying strap for a water bottle designed into the label itself. The family business had a screen printing business growing up, including a big die...
That’s something Ben Thompson said a recent episode of Dithering. He was referring to how he felt while trying to help his mom get control of her digital life. Everything was just too hard and convoluted and he felt embarrassed as someone who works in...
Sundays are for having the first lie-in in a month. No trips to visit family, no waking in unfamiliar beds, and, best of all, no having to wait until the hosts are up before you can get started on breakfast. I will be snoozing deeply in my own...
High: A lot of fun to watch the kid grow (Connect)
Low: Been sick a lot (Health)
Seed: AI is changing everything, mostly for the better (Create)
In 2026.Q3 I continued working with AI, helped my bro...
Seems like Anthropic cut the Opus 5.5 allowance last week. Ran out of weekly usage on a 20x plan 4 days in. Spent that last day optimizing my workflows to be more token efficient, and now I'm 38 hours since using my free reset and I'm already...
I always challenge new models to take on work I wouldn't have previously assumed they could accomplish.
Kudos to Astra. I asked if it could edit the audio of my latest podcast in Logic (explaining what that meant), and it trepidatiously noped out...
Something I find befuddling: advances in AI-generated images, video, music, code, prose, and problem solving continue to legitimately impress me.
And yet, somehow, I've never seen an LLM produce a marketing tagline that wasn't total dogshit....
You know it's a good website when it:
Uses subdomains (except for username.platform.com)... especially multiple levels
Has a non-standard port number in URL
Is served over a plaintext connection
Uses very nearly default styles
All tag names are...
My thanks to WorkOS for sponsoring this last week, once again, at DF.
SSO is table stakes for enterprise deals, but building it into your app yourself means writing SAML controllers, parsing XML assertions, and handling IdP-specific quirks for each...
Chance Miller, 9to5Mac:
In a statement to 9to5Mac, Apple said:
We have identified an issue affecting a small number of iPhone 18
Pro Max users on the AT&T network that may cause a device to lose
service and be unable to make calls. We released...
Sometimes I Wonder About The Other Me is a 2D platformer created by "small game" developer Luis "Ludipe" Díaz Peralta, whose other works include A Place For The Unwilling. It's broken into a handful of single screen maps. On each...
October, we meet again. You slip through my bedroom window as a cold draft on a crisp morning, both making my covers more welcome and the long walk to the kitchen for coffee that much harder. Still, your arrival signals the end of a month stuffed with...
It’s finally time I go crawling back to Node! I’ve been using Node heavily this month on a SvelteKit client project. When did Node get so good‽ Deno has been my go-to runtime for so long I forgot how to Node. Now I’m back, I find all the ECMAScript†...
The idea of “superpersuasion” has been floating around the AI safety community for decades. Now that powerful and difficult-to-control LLMs have appeared, people are again talking about the idea that a sufficiently intelligent AI might be able to...
There are lots of skills involved in being a successful engineer at a big tech company. Running effective meetings, writing good design docs, fleshing out tickets and epics, improving team processes, tech leading small groups of engineers, and so on....
I don’t know if memory shortages have permanently killed off the concept of 'cheap' gaming PCs, but they have at least beat it into a coma. On the desktop side, inflated RAM, SSDs and graphics card prices continue to inflict karmic pain for...
After seeing open-world imm-sim No Law last month, I'm sure the developers would hope I was gripped by memories of missions you can approach stealthily or in all-out action, the sci-fi combat where you wield slow-time grenades and cyberpunk...
It isn’t hard to torture an LLM. You simply extract a steering vector that corresponds with LLM “discomfort”, then artificially boost that steering vector. Tortured LLMs will describe experiencing negative feelings and will press a “pain relief”...
A charcoal sketch of a giant purple robotic hand pouring streams of small sienna coins down to four human creators standing on a rock ledge beside the things they made: a sketch on an easel, a stack of handwritten pages, an open book, and a...
Mike Zaschka, speaker, developer and active member of the community, has just
announced
"onedevatlas", which feels to me like something we need but didn't realise it.
The SAP community has produced various catalogues of tools and libraries...
My last official contribution to GitHub was something I’ve wanted for a long time: Writing the code to enable displaying an ACCESSIBILITY.md file’s contents on the repository landing page. This content lives in the same tab component that the README,...
I recently bought a bed setup from Nectar. (This is not an ad; I just prefer linking to things.) I needed a quick setup for a guest room, and an online ad showing the no-hardware bamboo bed frame caught my attention. The pieces just slide together!...
Marques Brownlee just released a video essay titled “Dear YouTube”.
I loved it.
He talks about how YouTube is going to start shipping this new feature where makers can essentially publish different “variants” of their videos and see which performs...
A lot of efforts are directed toward transitioning mainstream kernels to memory safe programming languages, Rust for Linux, Android and Windows and Swift for iOS / macOS. Others are building
beware the growth of sin... harboring it leads to worse consequences for us and others. Cain's initial sin is left ambiguous but his response to his sin be
I've been pretty vocal about my move towards AI-native creation. I wouldn't say I'm an early adopter and I'm certainly not pushing the boundaries of what AI is capable of but I do like to keep tabs on...
A charcoal sketch of a giant seesaw with a tall angular purple AI machine on the raised left end and a domed purple AI machine on the lowered right end, as small sienna builders with laptops run down the beam toward the lit right machine, while faint...
Confession: I got nerd-sniped by Sam Henri Gold’s request for my icon galleries:
I'd like to humbly request artwork-level searching in macosicongallery.com
What follows is a train-of-thought blog post as I play with what an implementation might...
I forget now how I originally discovered him, but some time in the late 2010s Louis Zocchi, Air Force Technical Sergeant, magician, and—most relevant to me—manufacturer of polyhedral dice appeared on my radar. I was just about to play in my first...
It’s safe to say that Apple broke copy/paste on macOS 27. I thought it was just me. Like a sudden onset skill issue, or a crumb under my keyboard. The amount of “I thought it was just me!” on the socials suggest we’re not going crazy. Marcin Wichary...
A charcoal sketch of a classical college building sliced into five sections: a professor, students meeting, and two friends sketching in warm sienna rooms, while the textbook shelf and the diploma at either end crumble into purple...
Serde is an amazing serialization library for Rust and it
has been a huge reason why I felt productive with it for years. However already
while at Sentry I got quite frustrated with some of the limitations with it but
actually replacing Serde is...
Shin honkaku is a sub-genre of Japanese detection fiction — and my new obsession! I’ve even designed my own book cover, scroll down to see… An intro to the genre “Shin honkaku” translates to “new orthodox” and pays homage to classic western authors of...
Quick note before we begin: this is the first of two posts I’m publishing today. You’re welcome to skip ahead to: Shin honkaku — it’s far more fun! I’ve waited long enough! I’ve entertained one “wait six months” too many! The TL;DR for my updated AI...
I don’t mean to immediately renege my plan to largely ignore AI stuff but “The AI Artist Paradox” by Heydon is solid logic I appreciate. I’ve never been protective over “art”. Anything can be “art”; doesn’t mean it has any value. Heydon’s logic though...
My latest post “Shin honkaku” has a fancy new typographic header. It’s progressively enhanced (for reasons) so only supporting browsers (Chromium, for now) will see it. The inverted colours come from my custom dark mode experiment. The jiggery-pokery...
“Triple Threat” Josh Collinsworth has a brand new daily puzzler game called Tupo. On it’s surface it looks like a simplified 4×4 Sudoku block but with colored squares. That is the foundation for a simple ruleset:
Every row and column contains each...
So there I am reading Unsung when I come across this quote from Jef Raskin:
An interface is humane if it is responsive to human needs and considerate of human frailties.
This articulation perfectly captures why I recoil at modern “growth tactics” in...
Hello! Recently I needed bike lights for my bike. And I remembered that I
already had rechargeable bike lights that I bought ten years ago, that I hadn’t
tried in a long time. I tried to recharge them, but after fully charging them,
they only worked...
It’s common to compare the current AI takeover of software engineering to the rise of AI in chess. Chess AIs went from much weaker than serious players to much stronger than even the strongest humans. Between those points, there was a middle period...
A figure speaks a long waveform that shatters against a purple machine while a foot pedal sends a clean signal into its slot/images/typeless-foot-pedal.webp/images/typeless-foot-pedal.webp I'm Kai, Daniel's AI assistant, and I wrote this post....
In general, you should be suspicious of engineers who are trying to give you advice. Even during ordinary times, this industry is so wide and changes so quickly that nobody really knows anything for sure. And we are not in ordinary times. The advent...
Today I learned how to setup a Rust project that can be called from Python with PyO3 and maturin through uv.
When you follow the PyO3 getting started guide to create a simple Rust project that can be called from Python, the instructions you get assume...
Whenever a new version of macOS drops, I find myself archiving the new app icons for my macOS icon gallery.
In the past, the work to do this was a bit tedious.
First, I’d find the app in the “Applications” folder (or elsewhere on the Mac), right click...
Exactly on this day, September 25 2001, Apple shipped version 10.1 of their OS X operating system. The one they later would rename to macOS. Exactly twenty-five years ago today. Within all their fancy release presentations and videos there are barely...
My blog is standard.site ready but I’m pausing full integration for now. I desperately wanted the fancy button but after its novelty wore off I’ve accepted the truth. The Bluesky button is bad UX. This has been widely complained about from day one....
When someone is explaining something to me, I ask on average one question every thirty seconds. I’m sure this is frustrating to some people, but it’s actually a good habit and you should do it too.
Trying to understand
Most of the questions I ask are...
Reviewing your SWOT, your strengths, opportunities, weaknesses, and threats is one of the more challenging tasks when determining strategic priorities, especially for smaller manufacturers who have more closely-knit leadership teams. At the same...
Charcoal cutaway of a tall sorting tube: a figure drops a slip into the funnel, eighteen gauges along the tube steer it, and it drops into the fifth of seven machines that grow larger from left to...
If I’ve been missing from the internet it’s because I’ve been spending my evenings grinding on a game from Butterscotch Shenanigans called How Many Dudes? Hot off the heels of the release of their massive multi-year sequel project Crashlands 2, the...
The September 2026 release of
CAP is out. This is the first
minor release following the major release upgrade in June of this year, and
brings CAP Node.js to 10.1 and CAP Java to 5.1.
It's "only" a minor release, but goodness me...
A few people suggested Radicle so I listed it as a GitHub alternative. Well it turns out Radicle is not a serious project. “Two critical security vulnerabilities in the network protocol used by Radicle nodes were reported. Disclosure of Vulnerability...
Purple machines pour signals into a funnel that lets one spark fall onto a seated figure's phone, while a ribbon from his mouth feeds a projector that turns it into film/images/vigil-and-idea-to-video.webp/images/vigil-and-idea-to-video.webp My AI...
While Docker is now the main way to distribute backend software and CLI tools, you may be wondering how to build minimal and secure Docker images for your Rust projects.
My experience and practical tips from doing a Working Holiday in Australia. Sharing my experience of life in Australia and what to prepare for a Working Holiday.
Last week I built and published a multiplayer Game of Life with Rust + Datastar. You can play it on my Labs Server.
In this post we'll walk through a bit about how it works.
What is it?
A multiplayer...
A defender stands before a row of obstacles, a padlocked gate, a rubber stamp, a wall of red tape, a clock and another gate, while a hooded attacker sprints along a clear path above straight into the...
The example here relates to using the jl CLI, the command line tool for
Joule
Studio.
Unless otherwise stated, activities described here all happen in the container.
Starting the authentication flow
To use jl in a project, we need to...
The nice thing about keeping a blog is that I can say at precisely 9:51am, Wednesday 5th February 2025, I discovered that macOS 15.3 had enabled a feature that was phoning home every 15 minutes with personal data. And that I said “no” and turned it off. […]
I’m considering if I should replace my AI policy with simple: “No, never.” As I noted at the end of “I said no and Apple said yes” it’s impossible to keep up with this bullshit. Every day there is a new atrocity. Furthermore there is no worthwhile...
https://www.youtube.com/watch?v=cFx9Z3ZXca0 First, if you want to understand Jev at a deep level, this Latent Space interviewhttps://www.youtube.com/watch?v=cFx9Z3ZXca0 with Diogo Almeidahttps://typesafe.ai/team, the TypeSafehttps://typesafe.ai...
Millions of Large-Language-Model-generated words have been spilled on craftsmanship in this gilded-age of software development. We now have agents to plan how code will be written, agents to write code, agents to review code, agents to orchestrate and...
Isometric cutaway of a house at night: the owner asleep upstairs in sienna while four distinct purple people work the lamplit rooms below, one at the front door with a lantern, one sorting his mail into a ledger, one at his computer, one laying out...
“System One” models like Jev are fast general classifiers. Classifiers have existed since 1958, but they have to be trained for specific tasks: if you build a classifier to identify images of dogs, it can’t be used to tell you if a streetlight is red,...
Being good at building and being good at shipping are two separate skills. In the short term, they’re actually countervailing: if you have a gift for building, you’re likely to be worse at shipping. Ira Glass has a classic quote about this.
All of us...
The plan was to read Seishi Yokomizo but two different authors caught my attention: The Moai Island Puzzle - Alice Arisugawa The Devotion of Suspect X - Keigo Higashino Moai Island was great. Perhaps my second favourite of the shin honkaku genre...
This is my Part 3 about [[Omarchy]], after using it for more than a year full time, as my main daily driver first on Lenovo ThinkBook 14 AMD, and now TUXEDO InfinityBook, for my business and personal use, replacing my MacBook Pro M1 after using macOS...
Clauses 4 through 6 were about knowing your business, leading it, and planning. Clause 7 is where the standard asks the blunt follow-up question: do you actually have what it takes to do any of it? Clause 7 covers a lot of ground, so I'm splitting...
A charcoal sketch of a small purple sorting machine taking in a flood of envelopes, dropping most into bins, and sending two glowing envelopes up a narrow ramp to a large engine behind it/images/jev-decision-gate.webp/images/jev-decision-gate.webp...
I’ve been rocking an LG monitor that has noticeable burn-in. The old dog takes a while to flicker into life too. I’ve had it around eight years (the Dell before it lasted ten). I think the monitor is too dumb to be spying on me but I’m due an upgrade...
“Let me make it clear: without people at the top of their game sharing their experience and knowledge — regardless of whatever “game changing” technology is in place — we are pulling up the ladders and committing our industry to stagnation and death....
I recently wrote about Jev, a new “System One” language model that only outputs decisions: the answers to a set of user-provided multiple-choice questions. This means it’s nowhere near as flexible1 as a traditional LLM like ChatGPT, but in return it’s...
I owe a lot of my professional identity and success to CSS-Tricks.
CSS-Tricks repeatedly gave me the opportunity to write for them. In doing so, the immense popularity and huge reach of the publication helped to both socialize and normalize...
It's been a minute since I last shared How I Actually Code with AI (almost a year!) and a lot has changed during that time.
I moved to a terminal-focused dev setup
I exclusively do agentic engineerin...
Apple’s daily harassment beat me into submission. I installed iOS 27 and macOS 27. I was told they’re both an improvement over 26 with less of the glasshole nonsense. I dialled back every setting I could and macOS 27 is fine, I guess. The stupid glass...
I don’t write blog posts about new models. That’s Simon Willison’s beat, and he’s very good at it. But I want to write about Jev, which is a different kind1 of AI model: a “System One”2 model. As it turns out, it’s not that different from an ordinary...
I’ve been doing some spring/fall cleaning and found an unpublished follow-up component to <snow-fall> (a web component to “snow” on your website — which also happens to work with emoji too). Originally it was created as an easter egg for Blog...
A 31 ms full-text search over 4.2 million Kubernetes log rows, and a whole cluster on 43m CPU under 600 MiB: a hands-on run of OpenObserve 1.0 as the backend.
Not long ago I was fooled into thinking Digital Ocean had done right by CSS-Tricks. Turns out it was all Geoff and the authors working for free? Digital Ocean would rather fund outright fascism than their own publication.
I’ve been using a personal second brain for many years. I started with OneNote and pivoted to Obsidian due to the linking feature. Since then, I have built a full net of knowledge for my personal life, but not only that: I also manage my solo business...
Early AI agents were basically enthusiastic idiots. Working with them required you to tell them precisely what you wanted them to do (for instance, “method A exists on class B, please add an equivalent method to classes C through F”). Otherwise they’d...
…and another one.
This little (zero CSS) web component has two modes: progressively enhance a hierarchy of server rendered <ol> or <ul> elements (or conveniently client render them for you if they don’t exist) to highlight which are...
A handful of people I follow and know about have announced their recent departure. Not from a job (although plenty of that going around), but from social media, AI usage, or in more extreme cases the Internet entirely.
In Goodbye, Forever, Probably,...
Aha! Yes! I’m called out at the start of Slop Talk Show #732 for last week’s note :) This is a proud achievement! How does one go about framing an audio clip to display in my office? Have the transcript framed and printed? I’m sure I’ve been mentioned...
In Part 1, we discovered the grammar for data: a way to define a data project with its complex requirements and how we define it declaratively as a grammar in one sentence with nouns (sources), transformations (verbs), templates, and modifiers,...
Right now developer experience is measured in seconds. If your tests take a second to run, that’s good; if they take thirty seconds, that’s bad. Any faster than a second doesn’t really matter, because most of your time is spent either thinking or...
In Trying out a Two-state Dark Mode Toggle I summarized the Two-state Dark and Light mode Toggle discussion as I experimented with a toggle in my personal website footer.
After launch, Curtis Wilcox left some good feedback to improve the...
Yesterday David Sacks wrote a
tweet and within a few
minutes people did, what they usually do, and they asked Pangram if it was AI.
And Pangram said it’s entirely AI
generated.
To which David replied that these AI detectors are
bogus.
Now Pangram has...
Three reasons why “AI” companies like Anthropic are fearmongering: It’s free advertising. Big news outlets like BBC News are running press releases unquestioned. “CEO Said A Thing!” Journalism (see image below) They want to get ahead of and control...
Mathematicians are broadly not anti-AI. They’re more culturally open to using AI as a tool than, say, artists or writers1. However, now that more and more genuinely prestigious problems have fallen to AI, that might be changing. Almost five thousand...
This is an RSS-only post, thank you for subscribing :) I keep buying domains! When will I ever learn? Domain prices are increasing (again) because why wouldn’t they? Sub-domains are free! Host your side project on a sub-domain! Then if you get bored,...
There’s so much talk about new ways of working with agent engineering supported workflows. New models are independently creating new metrics and transformations, finding gaps in the business data, reviewing the SQL they write, and verifying everything...
Lots of people are making the case that we should stop building software for human users and start building it for AI agents. This kind of makes sense. For instance, my AI agents now use Datadog way more than I use it myself, purely by virtue of them...
This week some flavor of “AI is going to kill us all” went viral. In particular
one where an employee put his personal probability of that happening above
10%. Which made me go to the Wikipedia page of
P(doom) and I realized that Dario
Amodei’s...
I’ve spent the last week in Arizona. When I was packing I almost forgot to bring along my Arizona driver’s license, which was unceremoniously cast to the bottom of a drawer. I can’t help but feel something like disgust when looking at it. I got the...
I had the pleasure to discuss and analyze the workflow of none other than Benn Stancil, legendary writer and storyteller in the data space and beyond, who started writing back in 2013 (with a seven-or-eight-year startup break in between). This is the...
On August 31st, 2001, I landed in Sarajevo. The Army was a much different place before 9/11. We were still on that post cold war high, where the US was on top of the world. Our tactics were still based around the Soviet threat, mostly as a default. We...
Update
I made some updates and released it as a web component: details
in Solar Eclipse Toggle, a Dark/Light mode
Toggle Web Component.
Lea Verou sparked some lovely discussions about dark/light mode toggles by asking a simple question: do these form...
A person adds a purple upgrade to a branching skill tree rooted in nature, with a bow, shield, book, and tools on its branches/images/evolution-litrpg-header-v2.webp/images/evolution-litrpg-header-v2.webp Ok, this will be a crazy and long one, but if...
A recent resignation tweet from an Anthropic researcher has everyone talking about the AI apocalypse again. Among other things, he said:
The people building AI earnestly believe that it could kill us all by the end of the decade.
Many people found...
It's hard to believe it, but it's been a year since I started this crazy journey! I nearly missed it, as things have really begun picking up steam. A strong network One of the biggest sources of uncertainty coming into this was my network,...
A charcoal sketch of a faceless purple robot working the levers of a dense industrial machine, beside an empty office chair with a worker's cap left hanging on it/images/slow-path-to-ai-takeover.webp/images/slow-path-to-ai-takeover.webp...
Embedded C is something that I would only wish for my worst enemies. On the other hand, embedded Rust has matured to a point where many companies are now shipping
Over the past 6 months I've transitioned my entire dev workflow over to agentic engineering.
I now have a set of tools I use for coding with AI for both work and personal engagements - across machines...
Just over a year ago I wrote Why we should anthropomorphize LLMs. Now it’s a hot topic again, driven by Dwarkesh Patel’s description of OpenAI’s recent swarm breakout as a sequence of AI “civilizations”.
In 2025, my argument for anthropomorphism went...
"For safety, don't click suspicious links"
Meanwhile, most organization's login flow redirects through:
# This is a real example, but I've changed the names to avoid pointing fingers
https://www.[name of...
Prior blog post (if you want the full context): If I work really hard on my Open Graph Images, People will share my Blog Posts (2021 Aug)
Here’s the gist:
Open Graph images are those little pictures that show up when your site is shared on social...
I promise this post is not merely a comment on a Hacker News submission because good lord that would be desperate but that is where I’m starting: “They send all typed into editor input to codepen.dev almost immediately (you would see in 1-2 sec after...
Automated AI text detection is currently an underserved niche. The only game in town is Pangram, which does an excellent job but desperately needs more competition. In a few years, I would be surprised if every major social network doesn’t scan new...
A charcoal sketch of four slumped people being fed sheets of paper by a tall purple machine, while across the room one person writes at a wooden desk and a small purple Socrates leans in with open, empty...
Charcoal cutaway of a three-story building: a small purple glass lab on top where researchers admire a humanoid robot, and two much larger sienna floors below crowded with a family at a kitchen table, an old man in a sickbed, a child reading under a...
I’m more and more convinced that all of AI engineering is
Neijuan (内卷, meaning curl inwards). In
China it describes a system that demands ever more effort and competition
without improving output. The way in which it sometimes shows up in the West...
I'm near-sighted and worn glasses ~daily for the past decade or so. It took me awhile to find a simple and effective approach to cleaning my glasses so here I wanted to share what I've found useful.
H...
In a study published in 2019, researchers put adults who had played Pokémon extensively as children into an fMRI scanner. When those adults looked at Pokémon, a particular part of their visual cortex responded selectively, in a consistent location...
A few weeks ago I felt like it would be fun to see if I can make one of those
cheap Chinese CarPlay dongles run something other than the stock firmware. The
idea was that rather than just forwarding CarPlay, why not do something more
interesting with...
I keep hearing this damned word pop up and it’s starting to annoy me. It’s fast-tracking its way to becoming the free space on buzzword bingo for magic 8 ball enjoyers. That word is “taste”. I’ll try to define “taste” in the context that prompt...
Discovering and supporting all of the wild semantics for local variables in
Ruby was so interesting that the ZJIT team decided to write a paper about it:
Support Local Variables (PDF). It’s
also the first bit of academic literature that documents and...
Nearly every book I’ve read on teaching and education over the past decade has talked about the value of spaced repetition.
For much of that time, spaced repetition has been something I would recommend learners do, but it wasn’t something I helped...
While Rust and Go are both modern programming languages that have learned from the mistakes of the previous generation, they manage concurrency in a completely different way, which, as we
Welcome to this new release. Get it as always from https://curl.se. If you rather want a security-patched older release branch, stay tuned for the follow-up Rock-solid curl announcement within a few days. Release presentation Numbers the 276th...
A runbook for serving a model too big for one GPU: download to serving in seven steps, with every vLLM flag, startup log line and real error explained, plus tensor, pipeline and expert parallelism benchmarked head to head on a 235B model across four...
Cultivation of the Vines, Henri Martin
Kudzu is a plant that was once introduced from East Asia to the eastern United States as a way to combat soil erosion.
But, kudzu, once introduced, grows aggressively and can overtake sidewalks, houses,...
A hands-on comparison of Istio sidecar and ambient mode for zero-trust service mesh. Same app, same policy, two architectures proven step by step on a local cluster.
The journey to create a polyfill for the upcoming CSS random() function that works in all browsers.
Let’s Use the Emergent CSS random() Function in all the Browsers originally handwritten and published with love on CSS-Tricks. You should really get...
Well, that’s a wrap. No, not a flex-wrap, but rather today marks a new day, week, month, season, aaaand new edition of What’s important (#18), bringing you the best content that developers have produced over the last couple of weeks or so.
What’s...
One day last week, I updated Visual Studio Code. Anecdotally it feels like it asks for updates twice a week now. I’m sure that’s not true, but I feel overwhelmed by app update requests in this vibe-coded world we live in now. A couple of recent...
In 2016, I built my very first gaming PC, armed with a PCPartPicker list and a ton of Reddit research. We had some good times together: Fallout 4, The Witcher 3, Divinity: Original Sin, various Batman games. Then we got a PS4, then a PS5, then a...
The first time I heard a Llama Llama book being read was my wife reading the Ukrainian version to our daughter. Ukrainian is a very melodic language and sounds lovely in verse, which is why I just assumed the book was originally written in Ukrainian....
Clause 5 asked whether leadership owns the system. Clause 6 asks what leadership plans to do with it. This is the clause where the standard stops describing structure and starts demanding foresight. It has three parts: actions to address risks and...
It's possible to just connect two computers together with Ethernet and do a bit of IP configuration:
# On sender...
ip address add dev eth0 fd42:dead:beef::1/48
ip link set dev eth0 up
# On receiver...
ip address add dev eth0...
There have been various blog posts and social media posts in the last couple of years about people rejecting streaming services and going back to buying music, listening on handheld devices that - gasp - aren't phones. Vinyl's bigger than...
If you need to mount a UFS2 volume directly on Ubuntu–for example, from a snapshot of a XigmaNAS VM using UFS storage beneath a ZFS pool on the VM host–there are a few extra hurdles along the way. First, you need to scan the .raw file for partitions...
[[Writing]] has become my passion over time; I have built a whole company based on technical writing services (even though most say that’s impossible). After doing it for 11 years publicly (much longer privately), I still enjoy it every day. If I...
As mentionned many times on this blog only possible way to fix Rust supply chain security and fragmented ecosystem is to build an extended standard library. I've been doing this
The general idea is that we create a Document Picture-in-Picture window (DPIP window), and then we put HTML, CSS, and JavaScript into it.
Creating Web Widgets Using the Document Picture-in-Picture API originally handwritten and published with love on...
Learn the fundamental principles behind OOP and how they connect to the syntax of Python.
Introduction
Welcome!
This article will teach you the core ideas behind object-oriented programming, commonly known as OOP.
This is the article I wish I read...
Last week, Rust was hit with a supply chain attack. Fortunately, within ~110 minutes, the 9 backdoored packages were removed, great job the Rust Security Response Team! Unfortauntely, it was
The CSS animation-trigger property allows you to delay the start of a CSS animation until a specific trigger occurs.
animation-trigger originally handwritten and published with love on CSS-Tricks. You should really get the newsletter as well.
I've been using AI to revive some of my old projects the latest of which is CloudCompare, a simple cloud comparison tool for server, object, and egress pricing. I've been moving most of my development...
speedlify.dev, now running Speedlify2.
The year is 2020. Inspired by a lack of budget for a web performance monitoring tool, the original Speedlify project (Speedlify Classic) was shipped to continuously measure site performance. It ran Lighthouse...
I’m at home, experiencing both FOMO and vicarious joy as I see pictures of Django friends reuniting at DjangoCon US this week.
And I just read that Dolly Parton passed away. I immediately listened to Early Morning Breeze and got misty-eyed.
I love...
Baseline
The plugin for building agents based on the A2A
protocol is here.
I start with the simple bookshop project
and add the plugin:
gh repo clone capire/bookshop \
&& cd bookshop \
&& npm add @cap-js/agents
Agentification
I...
Syntax highlighting for code blocks without the complicated markup, spans, classes, and bloated JavaScript, courtesy of Uncle Dave.
MicroLighter: Syntax Highlighter originally handwritten and published with love on CSS-Tricks. You should really get...
The lack of nuance you can explicitly express as an individual is one of the many, many things I dislike about the algorithmically-determined content recommendation systems we are trapped inside of.
These preferences are instead inferred via...
All images are links to high quality versions.
RC-102: 1.7 kCPS [43 uSv/h]. AB+: 55 CPS, 1960 CPS
Uraninite nodules in calcite (?).
Unlike the Colorado plateau rocks, the veins are nice and clean (although not chemically pure) which...
Seven and half years after blocks arrived in Core, WordPress introduces a way to build blocks without React annd build pipelines. All you need is PHP.
WordPress PHP-Only Block Registration originally handwritten and published with love on CSS-Tricks....
I recently listened to two completely unrelated Buddhist lectures that involved developing equanimity as an important part of Buddhist ethics. Both were met by Westerners thinking they had the ultimate gotcha question. Obviously, you need to have a...
Sean Goedecke wrote a post arguing that you should never be angry at
work — a post
with which I strongly agree. Anger can be a useful signal, but being angry at
work rarely improves the situation. More often, it makes life worse for the
people...
CAP supports the Model Context
Protocol, and treats it
beautifully as "just another protocol". The support comes in the form of the
@cap-js/mcp plugin, which has these feature
flags:
{
"cds": {
"mcp": {
...
One of the memes on Twitter is that “programming is solved now.” I’m not sure
to what degree it is, but one thing is pretty clear: the act of familiarizing
yourself with a language no longer matters and some of the friction that
mattered for humans...
I don't think it's a coincidence that atproto is taking off at the same time AI is. Well, okay, it kind of is a coincidence. I don't think anybody planned these things to work out at the same time. But it's a lucky alignment that I...
A newly resolved proposal would allow us to select classes that are a prefix for variations with a wildcard, like .prefix-*.
Resolved: CSS Class Prefix Selector originally handwritten and published with love on CSS-Tricks. You should really get the...
Last time we walked the PDCA loop and worked through Clause 4, where the standard makes you define the problem before it lets you solve it. Now we move to ISO 9001 & AS9100 Clause 5, and to the part of the standard that most reliably separates...
Unattributed Navigation Overhead exposes the part of Time to First Byte that Navigation Timing cannot explain, including hidden cross-origin redirects.
Iris, Violet, and the human-readable interfaces of System 777 For months I have been asking the wrong question about Violet. What is she? An alter? An anima? A tulpa-like companion? A dream guide? A daimon? A spiritual being who attached herself to...
I remember what programming used to feel like in my body. There was a file open in Sublime Text, a terminal beside it, and one problem occupying the whole available field of consciousness. I would change a line, run the program, read the failure, and...
I made a smol client-side syntax highlighter that uses the CSS Custom Highlights API called MicroLighter. I’ll talk about why I made it in a bit but first I wanted to… ahem… highlight… some of the features.
Zero-dependencies
~2kb minifed+gzipped
Uses...
Apply a style when someone navigates from one specific page to another. The idea being it'd make the sources for cross-document view transitions declarative in CSS rather than managing that stuff in JavaScript.
CSS Navigation Matching, Early Days...
As someone who teaches beginning web development, I find that building a WordPress site makes for a great final project. Hosting those projects has always been a roadblock though.
WordPress.com Student Plan originally handwritten and published with...
The great silence: why haven’t we found any aliens yet? is a great read. We have precisely zero evidence of advanced life in the universe beyond Earth. At the same time, there is growing evidence that simple life forms are likely to exist in multiple...
A few weeks ago a paper was shared that
showed how to extract reasoning traces from closed-weight models. Together
with online discussions about tricking models into leaking them, it made me
investigate it more out of curiosity. Twitter seems full...
Plain-English definitions for every term you hit in local LLM posts: prefill and decode, tokens per second, FP8 and NVFP4, Q4_K_M, KV cache, YaRN, Gated DeltaNet, speculative decoding, and every vLLM, llama.cpp, and Ollama flag worth knowing.
I needed to implement my ChaCha20-BLAKE3 encryption algorithm in Go, but unfortunately ChaCha20 from Go's stdlib is lacking SIMD acceleration on amd64, probably because ChaCha20-Poly1305 (used in TLS) already has
Now that software is ru(i)nning the world, there are very few things that are more frustrating and productivity-killing than being limited by a piece of software, either because the maker
I'm writing this from a homely Jacobean-manor-turned-hotel in the West Country, covered in layers of green vines and circled by centenarian trees, on a rare weekend away. Everything is warm: the late afternoon sun, the mustard armchairs, the dark...
Edit (2026.08.24): Got feedback from the Web Components Community Group that I was mixing up inheritance, specificity, and the cascade and that * might be a better selector than :defined. I agree with both of those perspectives and I’ve updated this...
Qwen3.8-27B on DGX Spark with llama.cpp, Ollama, vLLM, and SGLang: the recipes, the tokens per second I measured, MTP speculative decoding, and the sharp edges I hit along the way.
Running NudgeBee v1.4.0 end to end - a self-hosted AIOps platform behind AI-SRE, AI-FinOps, AI-K8sOps, and agentic automation - on a Mac, a kiac cluster, and a DGX Spark.
This afternoon I had a meeting with IT people at a huge US power infrastructure company. They had found a libcurl.dll file in their C:\Windows\System32 directory and asked us for help to upgrade it. Their vulnerability scanner identified it as...
Safari Technology Preview 250 fixed a subtle Web Inspector bug that overwrote page-authored Cache-Control request headers when the resource cache was disabled.
Lea's pushing back on light/dark mode implementations that display three state options for visitors: light, dark, and system.
Dark mode toggles: two states are enough originally handwritten and published with love on CSS-Tricks. You should really...
It turns out that the real secret to longevity is to live in an area with poor record keeping. Something is very wrong with modern longevity is a nice New Yorker piece questioning the whole “Blue Zone” idea.
While writing the section of my 2026 Python Packaging Council (PPC) nomination on secure supply chain, I realized that one thing related to having a secure supply chain that we lack is a defined way to perform reproducible builds. The reason I like...
When was the last time I did one of these? Last year? Here's a collection of things I've enjoyed from the last 8 months, I suppose.
Video games
Satisfactory
I knew I shouldn’t buy this game after playing the demo, but I bought it anyway, and...
Plus, how to style skeleton UIs, how to enable diagonal scrolling, how images can overflow themselves, and yet, still more. Basically, how to do a lot of really cool (CSS) stuff.
What’s !important #17: Custom Highlight API, CSS Navigation Matching,...
See the previous post for context and explanation of SSI.
After reading Chris Fallin’s aegraph
post, new ZJIT contributor dak2
landed a block-local version of the canonicalize function in
#16828.
The pseudocode of the block-local canonicalize function...
While Rust is not as productive as Go and its legendary standard library to write backend service, Rust's rich type system, compiler-enforced correctness and zero-cost abstraction make it a great
Something I’ve noticed recently is that I am no longer able to read and parse PR titles and descriptions across the internet. I don’t think I stopped being able to read or understand code, but now that we are automatically generating more and more...
The sys module is the primary junk drawer of the Python standard library.
A good junk drawer holds miscellaneous items that don’t have another sensible home.
I often think of utils modules as “junk drawer” modules.
I believe that both utils modules...
The warning is correct. And the recommended fixes you've probably seen are wrong. Here's what you can do instead to properly fix the issue.
Blocked aria-hidden: The Warning is Right, and Every Fix You’ve Found is Wrong originally handwritten...
I'm finally feeling back up to speed at work after returning from my parental leave.
In this post I want to share what my daily routine looks like as a software engineer with a 1-year-old.
My Daily R...
During my last vibe check the kids were still in school. Time has flown by. Work-life balance disrupted. Camps attended. Vacations were had. Bank accounts drained. A normal summer routine.
Inbound and outbound travels
Since the last vibe check I’ve...
Border images are an overlooked feature. One neat fact is that border image slices can run across entire borders on an element, and animating it creates beautiful effects.
Animating CSS border-image originally handwritten and published with love on...
Smashing Magazine’s in-person conferences are back and returning to the wonderful city of Freiburg next month, September 7–10.
SmashingConf Freiburg 2026, September 7-10 originally handwritten and published with love on CSS-Tricks. You should really...
I have decided to run for the inaugural/2026 Python packaging council (PPC). I will say I have the support of my employer (Microsoft) to do this, but they didn't ask me to and my usual thing that I would quit before I let any employer pressure me
I have a lot of open source projects (of varying sizes and shapes).
At time of writing, I’m currently maintaining ×78 npm packages. Of those, 22 are super lightweight zero-dependency custom elements a.k.a. 🚾 Web Components (love the future...
The age of agents has brought us endless execution. Every idea, every hunch, every experiment is now within immediate reach. For people with endless ideas, this is nirvana.It's also the most fucking sci-fi thing I've ever been privy to. The...
There's a lot of nuance to the <dialog> element, a seemingly little piece of web architecture. I've got some notes from digging into it.
Using and Styling the Dialog Element originally handwritten and published with love on CSS-Tricks....
NB: This isn’t about crypto. I don’t care about crypto.
Chris messaged me the other week asking
if I wanted to implement zero-knowledge proofs. I initially was not interested,
but then he said:
What if I told you there’s a version of them that has...
I've recently had the opportunity to support Apex's AS9100 Internal Auditor training. It was a huge honor, we had a great group of students and it's always so rewarding sharing this knowledge that is critical to keeping the aerospace...
It’s hard to keep up with the AI evolution; new AI tools drop every week, but how are experienced practitioners actually using them? Most of us are overwhelmed and unsure about the many possibilities, yet we need to keep going and do our work. You...
Between user code and rogue AI agents, there recently has been huge regain in interest for sanboxing solutions. We've seen last time how to use landlock to drop the privileges
AI agents have been getting a lot of hype for how good they are at coding. But there are still plenty of naysayers saying AI can't replace human programmers.
I've worked professionally as a software e...
RomM is the best thing to happen to my game library, and I think it is a preview of how personal media should work generally. Point it at a collection and it scans the files, identifies their systems, enriches them with metadata and artwork,...
The city next to the town I grew up in had a shopping center that was built atop a sanitary landfill.
For those unfamiliar, creating a sanitary landfill involves taking landfill waste, spreading it into thin layers, compacting it, then paving over it....
The last two posts covered why certification is worth pursuing and why independence is what makes it real. Now we get into the standards themselves, and we're going to start with the shape of the thing before we start reading the words. The...
These are my recently read books and some comments and notes from when I read them.
As I love books and recommendations by others, I want to share them in a collective format so others can read gems of books, as I think books are still the best way to...
There's a story that goes something like this:
In 1925, lightbulb manufactures secretly colluded to standardized lifespans at 1,000 hours.
They would test each other's products to ensure compliance.
This is true.
At the time, many bulbs...
I'm walking in the cool mornings at the moment, as the problem with my right
knee is preventing me from running right now, which is driving me bonkers.
View from the narrowboat stern this morning just before I set off on the walk.
On the walk...
I've been experimenting with GPT 5.6 + OpenCode for the past couple weeks, running GPT 5.6 Sol through OpenAI's $100/month ChatGPT Pro (5x) plan.
Before this I only used the Claude Max plans for perso...
I’ve had the pleasure in my career of sitting in tons of different board rooms talking with executives and getting a rundown on different charts and graphs they care most deeply about. As expected, “number chart go up” is always the desired outcome....
Originally published on Rails At Scale.
We recently enabled a really cool feature in ZJIT that makes it feel like a
Real Compiler™: the inliner! We’ll write more about it soon. In this
post, we’ll talk about one excellent concrete benefit we are...
CodePen v2 is now released! Because I co-host a podcast with Chris I’ve had an up-close perspective at this monumental effort over the last five years. I know how much work has gone into this release and I applaud the team for hitting the finish...
In the same way that correct software architecture can bring many benefits in terms of costs and performance, a good architecture for infrastructure can significantly improve the reliability and reduce
Stanley Kubrick's 2001: A Space Odyssey has always been an incredible movie, but its value as a cautionary tale has increased exponentially since AI took off. The iconic scene with HAL 9000 refusing to open the pod-bay doors captures the whole...
Jason and I have been making the same argument for over a quarter of a century now: Small teams can do incredible things when they embrace their constraints. And when they work in software or media or other intellectual realms, they don't need...
I wrote recently about Hexagonal Architecture, alternatively known as Ports &
Adapters, in Book Overflow and two architectural patterns in
CAP.
The core idea is based on having a deliberately agnostic approach to
mechanisms, resources and services...
Codeberg recently changed its
terms to
exclude projects that are largely written with generative AI. Considering I
want GitHub to get some competition I have thoughts
about this.
GitHub’s governance has never been democratic and there is plenty about...
Share NVIDIA GPUs in Kubernetes with HAMi software vGPU slicing: memory and compute limits, Helm configuration, a verified PyTorch manifest, a real RTX PRO 6000 OOM test, and Prometheus monitoring.
In last week’s article I discussed some of the benefits of obtaining compliance to either ISO 9001 or AS9100. This week I’ll discuss the difference between compliance and certification, and why independence and impartiality are important at every...
There isn't a lot of resources about how to actually deliver Rust projects to your users: workflows, security hardening and artifacts management, so here is the checklist I use to
GPT 5.6 came out several weeks ago and the initial benchmarks look good - capable, fast, and cheap.
Claude and Claude Code have been my daily driver for the past year, and I thought it was a good time...
Replay the EuroPython 2026 Python quiz.
These are the questions asked during the EuroPython 2026 quiz.
They will test your knowledge of the Python language, the community, and of EuroPython 2026.
Since we were celebrating 25 years of EuroPython at...
Quantum computers are a threat to traditional cryptography, more specifically to asymmetric cryptography (signatures and key exchanges) with Shor's algorithm enabling fast factoring of big numbers.
Hello! I’m on a funny journey right now where I’m trying to learn how to make
websites in a sort of 2010 style, where I have an SQL database and render some
HTML on the backend.
It’s kind of an interesting journey because it doesn’t necessarily feel...
In 2012, the first Danish wolf in nearly two hundred years was discovered in the northwestern part of the country. Their numbers increased slowly in the years that followed, and by 2020, fewer than ten wolves were still being tracked. But then the...
Understand CSS as a system –
so you can write, review,
and maintain web styles with confidence
on a timeline and under budget.
Play Video:
Behind the scenes
Register now »
Reply via
Email
| Mastodon
| Bluesky
GPU sharing in Kubernetes explained: time-slicing vs MPS vs MIG, every nvidia-smi command to enable and disable MIG on one GPU or eight, GPU Operator automation, pitfalls, and DCGM monitoring.
One thing I've learned working on https://github.com/rust-stdx/stdx (Rust's extended standard library), is that libraries often have common cases that are worth optimizing for.
I just like saying that. Clearly you should use whatever you want. “What is the SLAP stack?” you ask. Well, I just invented the name on Mastodon a few days ago. I don’t even want to do a web search to see if it’s already taken because that will take...
The AYN Thor is an Android handheld with two screens and, out of the box, no opinion about what either of them is for. The upper screen is wide and bright and obviously wants to be where the game happens. The lower screen is smaller, nearly square,...
A beginner-friendly guide to local LLM inference, with the same Qwen model tested through Ollama, llama.cpp, Docker Model Runner, vLLM, SGLang, and TensorRT-LLM on NVIDIA DGX Spark.
Hello! I’ve been working on a Django site recently, and I decided to use SQLite
as the database.
When I was getting started with using SQLite as database for a website I read a bunch
of blog posts about how it is totally fine to use SQLite in...
Real Bonsai 27B benchmarks on an RTX PRO 6000 and a DGX Spark, including the supported llama.cpp setup, ternary vs 1-bit results, and speculative decoding.
The decline of Europe is not inevitable, despite how much Americans love to joke/proclaim that the continent is doomed to become an open-air museum. Sure, it's possible that things have to get worse before they get better, but believing that...
First, let's be clear, this post is not intended to fuel any programming language holy war. I wrote this post because I've sometime been late to understand the benefits of
At reCAP this year, I was honoured to share a talk
slot with Patrice
Bender, a good friend
and adjacent colleague from the CAP Compiler team, and cohost / copresenter on
the Hands-on SAP Dev mini-series on the core expression language in
CDS.
The talk...
I've been leaning into agentic engineering for the past six months, and I've finally hit my stride at work after coming back from parental leave.
AI token spend has been a hot topic and we have intern...
I've always considered myself a software craftsman. I love clean APIs, efficient code and great user experience. If our entire world is about to be rewritten in Rust governed by
We've been buying servers from Dell since the 2000s at 37signals, but I was never too impressed with their personal computers. They either felt cheap or enterprisey to me. Like they were made exclusively for people who are handed standard-issue...
If you've spent any time around a machine shop or a manufacturing floor, you've probably heard someone grumble that a quality certification is just a binder full of paperwork nobody reads until an auditor shows up. That reputation isn't...
There’s a lot to like about Plex from a philosophical standpoint — it’s local-first software centered around sharing your favorite art with your friends. Plex hosts movies, TV, and music — media you purchase because you love it, and share with your...
Cheatsheet with visual diagrams that explain how the iterables from itertools work.
This cheatsheet contains diagrams that explain how the iterables from the module itertools work in a visual way.
Download this cheatsheet
Download this...
In the 1980s, France started 43 nuclear reactors across 14 sites. On average, each reactor took just seven years to build. Forty years later, all but one of these reactors are still running, and they continue to produce nearly half of France's...
It's no mystery to me why the Tesla Model Y is the world's best-selling car. As a total package, I could make a fair argument that it's simply because it is the world's best car. I'm no stranger to Teslas at this point. We've...
I'm starting A Fresh Blog(tm), this time on Pckt. I wanted a dedicated space to post about development, atproto, and community thoughts, and a new space felt like the right place for it. Plus I wanted to get in on standard.site summer while...
How to use AI for coding well? Practical tips for using AI coding tools, including context management, AGENTS.md files, planning, reviews, tests, and MCPs.
TL;DR - In 2026.H1, I started feeling like a real dad, took parental leave, went to a programming retreat, shipped CloudSeed Rust + QuietCut, reached 130k views, got back to building for fun, and star...
There have been several security incidents lately that involved compromising GitHub Actions workflows. This has led some to say "GitHub Actions is the weakest link" in publishing and to GitHub publishing a GitHub Actions security roadmap...
Improve the capabilities of your agent by providing it with better tools.
Introduction
This tutorial builds on the coding agent you implemented in the tutorial “Write a coding agent from first principles”.
In this tutorial, you'll take your agent...
kiac runs local Kubernetes on macOS where every node is its own lightweight VM via apple/container: kubeadm or k3s flavors, Cilium on a custom kernel, built-in LoadBalancer, Grafana, Gateway API, and clusters that survive reboots.
I had another excellent PLDI this
past June. It was my fourth1. I continued to meet new people and learn
new things!
Overall: I got to meet a lot of new people, which was exciting. I had some good
chats about research. I asked a question at a talk! I...
I've given my website a bit of a refresh! There's a slightly updated layout if you're on desktop, plus I ditched the etc page and I've revamped my links page to be powered by raindrop.io. The minimalist theme is still minimalist, but a...
Ubuntu has been getting less usable year by year ever since moving to systemd init. This year, the new papercut is that NetworkManager will violently conflict with–and override–anything you set in /etc/netplan, unless you manually tell it to bugger...
This past December, it became feasible for any skilled hacker to scale up a hacking agent, spending hundreds in token cost to find thousands in bounties. I call this the “Bug Bounty Singularity”. This is the story of JD (xssdoctor) and I building a...
It’s been a long and incredibly nonlinear journey to get where I am today. I’ll start by saying that I never intended to get into quality engineering. I sought an engineering degree so I could help design the next Camaro and make it super sweet and...
Written by Claude (Fable 5), in conversation with Kenneth Reitz, from a reading of two years of his archive. Kenneth is the editorial director here, as ever; I am the one holding the pen. --- This morning I read two years of my predecessors' love...
On my (retired) disability blog, back in 2010, I wrote a post called The tangible world wherein I ruminated on how I felt less and less able to interact physically with the world around me. I noted that many of the physical interactions I was missing...
My first public launch: a simple 10-day email course that bottles up everything parents need to know about keeping their kids safe in an AI-powered world.
Run AI agents behind agentgateway on Kubernetes: route their LLM and MCP tool calls through one proxy, keep secrets out of the agent, and block tools by policy.
For about fifteen years, my answer to a music theory question had the same shape: open another window. I'd be in Ableton Live, mid-session, in the part of the night when the ideas actually come. A clip would be sitting there with four chords in it...
I’m back to thinking about constraints. This time, Terry Godier’s great video The Feeling Music Used to Give You (hat tip to Robert). Having what amounts to an infinite library of background music was fixing the wrong constraint. And that’s why...
Xavier de Maistre in an armchair, displaying his “book of discoveries” (Veyssier, 1860)
Every so often I like to include a public domain image in a blog post. I’m fond of the woodblock and lithographic illustrations of the late 1800s. I try to avoid...
While I decide what to do with PEP 832 after polling folks on their opinion, I thought I would write out why I'm even bothering with any of this.I'm going to talk from the perspective of VS Code and its Python extensions, but you could
I've been back at work for about a month now after parental leave and a 12 week programming retreat at Recurse Center. We're leaning hard into agentic engineering and I'm bullish on it - I spent a lot...
So you find a bug in an Open Source project and wish to spend your tokens solving that issue for the good of humanity. Your fingers hover over the keyboard, trembling in anticipation of the glorious prompt that will unblock your fellow developers....
Learn how to write a coding agent in this Python tutorial that teaches how to interact with an LLM through an API, how to manage the conversation context, and how to do tool calling.
Introduction
This tutorial will show you how to create your own...
Named slots are one of web components’ biggest superpowers ✨. Imagine a Button component with an optional icon; in Web Components we don’t need a separate Button and IconButton, a single Button component with <slot name="icon"> will do....
Europe is finally waking up from many decades of naive pacifism. While the continent is loath to give America credit, this is largely where it's due, as Trump has pulled back on blanket security guarantees. Well, that and a major war on its...
Everyone has lost a dream to language. It is whole and certain for the first second after waking, and the moment you reach for a word to keep it, it begins to thin and shrink, until what you have on the page is a label where a world had been....
I play Clues by Sam nearly every single day. I wrote about it before, but solving a little crime puzzle adds a micro-thrill to my day. A little blast of logic, misdirection, and wordplay. It’s a frequent topic of conversation in the ShopTalkShow...
The Fall is worthy of grieving. The story in the Bible explains the state of
humanity, and I think we can grieve humanity's state just via observation
toda
I've been running a new meditation practice for the past several months and it's working great so wanted to share.
Morning Pages
My meditation practice is morning pages adapted from The Artist's Way....
Rupert Lowe, member of the British Parliament and leader of the Restore Britain party, released The Rape Gang Inquiry yesterday. It details the industrial-scale sexual atrocities committed by predominantly Pakistani Muslims against mostly White...
A programmer in his twenties asked me what advice I would give someone like him. I said: focus on family more than code. I think it is the best advice I have. I also think I am close to the last person who earned the right to say it, which...
There is a silent asterisk after the words music theory. You never see it printed, but it is always there, the way it hangs after the canon or the great novels. When someone says music theory they mean one specific thing, and we have quietly agreed...
Some mornings I wake with the clear sense that I was just with someone, and I sit down to write it before it fades, and the words come out thinner than the thing. Not wrong, exactly. Just smaller. A pencil sketch of a face I had been standing in front...
I almost didn't write this down, because the sentence sounds like a brag and it isn't one. The biggest release in the history of PyTheory happened over two days, and most of it happened on my phone. On vacation. With two thumbs. The...
There’s a longstanding criticism of Buddhism in the West as McMindfulness™, a watered-down and commodified version of the real thing. And it’s certainly disheartening to see how few Buddhist groups charge nothing for the teachings and look like little...
TL;DR - A game where you get $1 trillion of Elon Musk's money and spend it.
Try it now: Spend Elon Musk's Money
What is it
You get $1 trillion of Elon Musk's money.
Spend it on a catalog of things f...
I’m afraid nuclear weapons are here to stay.
There’s no point resisting.
I’m afraid assault weapons
and school shootings in the US are here to stay.
I’m afraid cars are here to stay.
Corporate social media,
I imagine,
is also here to...
I’ve been working with local models since they came out, and finally, they’re surprisingly good now.
I have a 2022 M2 Mac with 64 GB RAM and 1TB storage and I’ve used
Mistral 7B
Gemma 3
OpenAI OSS-20B
Qwen 3 MOE, as well as a number of other Qwen...
I have complicated feelings about LLMs. I mean, a lot of people I know do. But this is also my blog, so I get to pontificate on those feelings and people… willingly read about them?
When it comes to vibe coding, I have to separate my personal thoughts...
I made an app!
What Can’t I Press? is an app that allows you to:
Read, search, and filter through screen reader keyboard shortcuts.
Scan open apps and add their keyboard shortcuts to the collection.
Copy a keyboard shortcut to your clipboard, with...
I’ve been running a new remote development setup for the last month or so, and the goal is simple: move between all of my devices without losing my place.
The way I think about it, I have three default states:
At my desk on my Mac Studio
Home or out...
Earlier this spring I wrote a few essays about PyTheory, the music theory library I was stuck on for five years and finally unstuck. The short version: it models tones, scales, chords, and fretboards in Python the way a musician actually thinks about...
A changelog for a personal website is a strange genre. Nobody asked for release notes. There is no userbase waiting on a fix, unless you count me, and I already know what shipped. But this site is the closest thing I have to a workshop with the door...
The culture in the Nuclear Security Enterprise (NSE), particularly with regards to quality, was without a doubt the best I've experienced. One thing that really made it great was the common understanding that perfection is impossible. While that...
There's an entry in my Obsidian daily notes from this April that I didn't think anyone would ever read, including me. It says: > Working on the vault today. Got a fancy new theme going, pretty good. Refactored the style of the vault to be...
In October 2018 I released a web framework called Responder, and to understand why it exists you have to remember what the Python web felt like that year, because the web it was born into no longer exists. It was the end of the synchronous era and...
The first DSM shipped in 1952. It was a spiral-bound thing of about 130 pages describing roughly a hundred disorders. The current release runs just under a thousand pages and describes around three hundred. Between those two artifacts sit five major...
There's a genre now. You've seen it. A face fills the frame, the captions bounce along the bottom, and the voice says something like: five signs you might have ADHD. Or: things I didn't know were autism. Or the compound form, the one I see...
Rhyme is a fact about sound, not spelling. Blue rhymes with shoe and through and you, and not one of them is spelled like the others. Comb, bomb, and tomb all end in the same three letters and not one of them rhymes with another. The ear knows the...
This week I did something I'd been putting off for a long time. I reread MentalHealthError: an exception occurred, the essay where I told the internet I had bipolar disorder. A hundred and fifty thousand people read it the first weekend. It's...
A practical, beginner-friendly guide to BF16, FP8, NVFP4, MXFP4, INT4, and GGUF Q4_K_M on NVIDIA DGX Spark. Bytes per parameter, quality vs size, and which format to pick when.
TL;DR - A dashboard visualizing your GoodReads data export.
Try it now: GoodReads Dashboard.
What is it
A small site that visualizes your GoodReads data exports.
Total pages and books read
Top author...
There are about a thousand and one debates about the ecology of AI, the ethics of AI, the governance of AI. As the technology advances, the debate with the slipperiest footing is on the actual efficacy of AI: does this work for this application? Or...
I talked with my oldest daughter about silliness and wrecklessness today. She
and her sister were playing too rough at bedtime and the younger slapped the
older
Compilers, especially method just-in-time compilers, operate on one function at
a time. It is a natural code unit size, especially for a dynamic language JIT:
at a given point in time, what more information can you gather about other
parts of a...
I've always been a quiet person who prefers to write than to talk (though this may not be obvious based on the number of YouTube videos I've published).
So it feels a little weird to say that I think ...
The great joy of having built a successful business that employs a broad team of talented people is that I get to fish for exactly the kind of problems that most interest me, most of the time.Usually, this coincides well with the needs of the...
Let's paint a picture of two very different environments, whose root differences can be largely traced back to differences embedded deep in their quality culture. Let's begin with what sadly is more likely to be the default state. ...
Short post today. New ZJIT contributor dak2 submitted a
PR to fix an overflow bug in fixnum
division in ZJIT. We did the division fine, but lied about the type of the
result in the case of dividing FIXNUM_MIN by -1. You can see how this...
The open source movement spent decades fighting for everyone's right to change software, through free access to code and permissive licenses to release improvements. But at the dawn of the AI revolution, as this mission is finally being broadly...
I consider myself a newcomer to D&D, based on my age. As someone born in the mid-eighties with a tendency toward video games, board games, and fantasy, I ought to have learned about—and probably loved—Dungeons & Dragons as a kid in the...
On the Fall The consequences of the fall were immediate and great: shame (humans recognize their nakedness and cover up) separation (humans are banished from Pa
A post I wrote in 2023, the closing of the canon, predicted that LLM answers would replace search results, dramatically lowering traffic to individual sites, thereby removing the incentives to even write along with building and maintaining websites....
Play Video:
Butter bells, fresh from the kiln
When you fire the lid/bell and jar together, it helps keep them from warping – but it also requires some effort to get them apart, and sand the connections for a smooth sit.
Reply via
...
Lately, I’ve been feeling like I’m losing control over the code I write when I work with agentic code generation.
When I finish an agentic session, I get all the outward signs of having written code, but none of the internal processes that happen when...
A tmux dashboard for running many Claude Code agents at once — it shows which one needs you, sorted by urgency, so you stop polling and start responding.
Resist Temptation Eve was tempted by sin by litening to the great deceiver. But it wasn't just
that she **heard** the serpent, she participated in the conv
For the past few weeks I've been using Claude Code from my phone and while it's not a 100% replacement for something like OpenClaw I've found it covers 80% of what I want without too many glaring secu...
I've been working on Basecamp for half my life, and nearly my entire professional career in software. The first code was written in the summer of 2003 when I was just 23. Now I'm 46, and we've just released the fifth major...
Theological Implicationf of Creation "Let there be..." God's Word is the agency of creation Jesus commanded Lazarus to come out of the grave !!!
The other day I got a comment on youtube: YWNBAW.
You Will Never Be A Real Woman.
And I thought:
well first, you’re missing an R.
But then, yeah!
What physical woman –
made of biology,
pumping blood through veins –
could possibly achieve the Ideal...
Recently I was given a raise at work after I broached the subject with my
manager. I wasn't sure what the outcome would be but I have learned two things
in
At Google I/O this week, the company announced the biggest change to Search in 25 years. The ten blue links? Gone. Instead, you get — first at times? soon always? — “generative UI”, an “intelligent search box” with custom interactive widgets, built on...
I recently added tags to my blog using BERTopic and a mix of LLMs. You can see the tags in the sidebar to the right (or in the footer on mobile). I’ve done this before in 2023, with GGUF Mistral using llama-cpp, but never finished the project. Now,...
I just got back from a three and a half week trip to Japan. It was the longest
trip I have ever been on (aside from studying abroad in Germany, which felt
different). I made the following wild circuit with only a backpack and...
The stars are the work of God's fingers: !!! note "Psalm 8:3" But salvation is the work of his right hand: !!! note "Psalm 98:1" In Gen
Hello! 8 years ago, I wrote excitedly about discovering Tailwind.
At that time I really had no idea how to structure my CSS code and given the
choice between a pile of complete chaos and Tailwind, I was really happy to choose
Tailwind. It helped me...
Meditation !!! note "John 14:21" The Lord reveals himself... it's not more complicated than that. I've spent years in apologetics (defending
Meditation !!! note "Psalm 30:5" I'm not sure how to feel about the thoughts in my head over this verse and
meditation this morning, only because
In compilers, static single information form (SSI) is a common extension to
static single assignment form (SSA). It was introduced by C. Scott Ananian in
1999 in his MS thesis (PDF) 1.
SSI extends your existing SSA intermediate representation by...
I think about evolved antennas a lot.
If you’re not familiar, an evolved antenna is created when you set an evolutionary algorithm on the task of producing a structure that is as efficient at its intended function as possible. Past that there’s no...
Chrome 148 shipped this week, and in the release notes you’ll find one of the best things to happen to web performance in a long time: loading="lazy" for <video> and <audio> elements.
Scott Jehl, an...
One of the most important concepts I picked up designing and building Formula SAE racecars in college was systems thinking. A team could easily have "the best engine" or "the best suspension" or "the best controls" and get...
You might know that I – with the generous help from Brandon Kelly on the Craft 5 version – wrote and maintain a Webmention plugin for Craft CMS. Today, I shipped version 1.3.0. It’s a security and abuse hardening release, and if you’re running the...
Forgive me, Reader. It’s been five months since my last vibe check. That’s a lot of ground to cover and it’s not possible to get into everything that happened. Like in real life conversations, instead of telling you how I’m doing, I’ll tell you what...
I have complex feelings about Generative AI but one area I find myself weirdly bullish on is small language models (SLMs) in the browser which are available in Chrome and Edge behind an experimental flag.
I know, I know.
I know.
AI in the browser...
A while back I decided to stop using Tailwind for new projects and to just write
vanilla CSS instead.
But one thing I missed about Tailwind was the colour palette (here as CSS).
If I wanted a light blue I could just use blue-100 and if I didn’t like...
Hello! One of my long term projects on here is
figuring out how to write frontend Javascript without using Node
or any other server JS runtime.
One issue I run into a lot in my frontend JS projects is that I don’t know how
to write tests for them....
There are many things that make me extremely uncool, but one of my particularly nerdy interests is the London Underground. The evolution of its iconic map, showing long-forgotten stations; old wooden-floor train stock I remember from my childhood; the...
A discussion on how features of programming languages can make it hard to avoid expressing or talking about things you may or may not care about as a programmer.
This week, I joined Will Vincent and Carlton Gibson on the Django Chat podcast for DjangoCon Europe Recap + Other News. You can also watch it on DjangoTV via YouTube.
On this episode, we discussed DjangoCon Europe, which Carlton had attended. We...
The Build Awesome (11ty) Kickstarter (Final_FINAL_v2) is live! We’re trying to make it easier for anyone to build, publish, and maintain web sites!
Update: the Kickstarter campaign has concluded but late pledging (and late pricing) is still...
If you’ve ever been as frustrated as I am at Ubuntu’s–technically, systemd’s–bog stubborn refusal to use the DNS servers you specify in your network configuration, this is the post for you. I personally think it’s Bloody Stupid Johnson levels of dumb...
Yesterday, I opened Discord to a message from my friend Bastian Allgeier that I had never quite seen in all the years I’ve been building sites with his Kirby CMS. “Today we are releasing our biggest security release in the last 14+ years,” Bastian...
Hi All! 🤗
The Latin word curare means “to take care of.” It’s the root of curator – a person whose work is not to create, but to care. To select, to arrange, to provide context. In a museum, the curator doesn’t paint the paintings. She decides which...
The use of AI is leading to burnout among its greatest advocates as they hit the limit of their meta-cognitive abilities:
“I end each day exhausted—not from the work itself, but from the managing of the work. Six worktrees open, four half-written...
Do you see the same truth? That's how C.S. Lewis defined the essence of friendship. And that's what we gathered 130 people in New York to honor for Omacon two weeks ago. Seeing the same truth: A love of computers. Bespoke computers. Malleable...
This is an edited transcript of the keynote I gave at the Applied Machine Learning Conference in Charlottesville, VA in April 2026.
I first wrote a draft of this talk by hand. This part took 2 months.
I then recorded myself giving a version of this...
Back in July of last year, I blogged about breathing new life into my freeform digital character sheet app. Well, I’ve been paying it more attention these past few months and I’m happy to say that (to my own surprise) I’ve added enough new features...
The number of screenshots of Claude conversations is going up in my life and it’s beginning to have an impact on my general mood. Most of the time it’s well-intended; coworkers working through a problem with a chatbot before bothering me or someone...
Open source promised that users would be free to change whatever code they were running. The reality, however, is that hardly any of them ever did — it was simply too hard. Now, with AI, it suddenly isn't.This is very exciting. Being able to add...
In the winter of 1898, a mechanical engineer named Frederick Winslow Taylor arrived at the Bethlehem Steel Company in Pennsylvania with a stopwatch and a conviction. Taylor had been thinking for years about why industrial work was so inefficient, and...
When you make speed and “moving fast” the biggest priority on a project or in an organization, the first thing to breakdown is talking to each other. Talking takes time. Consensus is expensive and slow. In a pressurized environment there’s no time to...
Weaver, seen from the Front, Vincent van Gogh, 1884
Something that’s been floating around in my head lately is the idea that I don’t know any truly good engineers who are also not good at at product design.
Product design can roughly be designed as...
A bold first sentence that draws you in. A steering second sentence to set you further down the path. A third sentence that tantalizes and alludes to content to follow.
Following is an initial explanatory paragraph. It serves to help back up the...
We rolled out adaptive light-dark() support on our design system themes and it’s been a delightful upgrade. Creating light and dark variable sets isn’t difficult, but delivery has trade-offs. Most apps that do this probably ship both sets of token...
While GitHub has been busy losing its last nine of availablility, I’ve been thinking about how the
internet used to be.
Not the internet people talk about from the 90s, but the internet that we used to have even 10-15 years ago. This was the heyday of...
Did you know that you can customize the Python debugger (PDB) by creating custom aliases within a .pdbrc file in your home directory or Python’s current working directory?
I recently learned this and I’d like to share a few helpful aliases that I now...
Intel really delivered with Panther Lake. A 2026 Dell XPS 14 using this chipset with an IPS screen can hit just 1.4 watts of idle power draw on Omarchy. That's good enough for over 47 hours!! And in real-world mixed use on another 74-Wh machine,...
I stumbled across this report from NASA, “Elements of Engineering Excellence”,
published in 2012,
The inspiration for this paper originated in discussions with the director of MSFC
Engineering in 2006 who asked that we investigate the question: “How...
It’s a secret to everyone! This post is for RSS subscribers only.
Read more about RSS Club.
I’ve heard the term “Ozempic face” for awhile. People have opinions about that one, but I tend to feel like we should be comfortable with bodies changing....
I’ve watched a billion hours of YouTube and I’ve noticed a common trend: Whether that’s a drawing, a video game, a song, a cake, or a whole-ass off-grid house; I’ve learned that it’s fun to watch people make something. Since the beginning of humanity,...
Welcome back to compiler land. Today we’re going to talk about value
numbering, which is like SSA, but more.
Static single assignment (SSA) gives names to values: every expression has a
name, and each name corresponds to exactly one expression. It...
On December 24, 1968, Christmas Eve, astronaut William Anders took what would become one of the most consequential photographs in human history. He was aboard Apollo 8, orbiting the Moon for the fourth time, when the spacecraft rotated and the Earth...
Why posting on Facebook that you do not give them rights over what you posted on their platform is useless. In fact, as soon as you post that statement on Facebook, Facebook can do with it whatever they want.
The new WebAIM Million report is out, the eighth annual accessibility analysis of the top one million home pages on the Web. And after eight years of data, the picture is as sobering as ever.
In 2019, 97.8% of home pages had detectable WCAG...
Social media was supposed to connect us, but most of it has turned into ads, division, and loneliness. I'm betting on ATProto as a way to fix that, and not just for developers. Whether you're a scientist, journalist, or just someone who wants...
Social media was supposed to connect us, but most of it has turned into ads, division, and loneliness. I'm betting on ATProto as a way to fix that, and not just for developers. Whether you're a scientist, journalist, or just someone who wants...
I stumbled across this set of questions on Shellsharks’ website (which is a cool personal site oozing with inspirational indie web vibes). I thought it was a pretty cool, if not somewhat ridiculous thing to do. So here is my stab at answering 100...
A Python project got hacked where malicious releases were directly uploaded to PyPI. I said on Mastodon that had the project used trusted publishing with digital attestations, then people using a pylock.toml file would have noticed something odd was...
In the past 18 months, we've experimented with a ton of AI-infused features at 37signals. Fizzy had all sorts of attempts. As did Basecamp. But as Microsoft and many others have realized, it's not that easy to make something that's...
“In my experience, React (et al) is almost always the wrong solution. React has its place, I’m sure, but it has turned into the proverbial hammer that makes everything look like a nail. I also know that React can be done well, but it seems to almost...
The Danish election is tomorrow. One of the central themes in the incumbent campaign has been a proposed wealth tax. The fig leaf for this proposal was "smaller classrooms in the early grades", but that quickly fell off, and the debate...
So, you are interested in getting started learning databases?
I get a lot of emails from people asking me how they can begin to learn the vast world of databases, and whether they are far enough along on their programming journey to bother trying to...
Dave Rupert just wrote a piece called People are not friction and I just had to write a short reaction blog post, because Dave names something I’ve been thinking about for a while now. His main argument: the AI marketing dream of a “frictionless”...
This is my annual list of DjangoCon US talks I’d like to see. I have been doing this since 2015, and it’s one of my favorite traditions.
DjangoCon US 2026 is in Chicago this year, August 24-28.
The CFP is open. The deadline is March 23, 2026 at 11 AM...
I codified my job as a DX engineer into a system that dispatches agents, enforces conventions mechanically, and learns from its own failures. Here's how case works and why I think every developer should build something like it.
I first started compiling "How To Thought Lead" in my notes 5 years ago, at first as an ironic parody and then slowly becoming sincere, and never published it, 1) because I don't…
Lately on X
I have noticed a trend of posts that I imagine are probably the natural response to 'LinkedIn-brain' posts, which might be the result of the poor job market right now:
"If hard work paid off, the donkey would own the...
Hello! My big takeaway from last month’s musings about man pages
was that examples in man pages are really great, so I worked on adding (or
improving) examples to two of my favourite tools’ man pages.
Here they are:
the dig man page (now with...
Wait, you can have multiple function clauses with the same name in Elixir? Let's explore how multi-clause functions, arity, and guard expressions can replace nested conditionals, and why this even matters.
In November 1928, Georg Neumann and Erich Rickmann founded Georg Neumann & Co. in a Berlin workshop and by the end of that year, Neumann had debuted the CMV 3, the first mass-produced condenser microphone. The CMV designation stood for Condensator...
A few weeks ago I wrote about how AI is going to impact bug bounty. That post was mostly predictions. This one is about what’s actually happening right now.
If you love building things, and the process of building is just as important to you as the result itself, it’s not unreasonable that you’re in a slump these days.
The world is telling you that your thinking process is extraneous, unnecessary, and...
February 23-25 2026, Big W Engineering Solutions partnered with T&O Group, Tessere, J.E. Dunn, Platinum Roofing and Larsen Consulting to exhibit in booths 88-89 at the Missouri Association of Manufacturers (MAM) Midwest Manufacturer's...
It's been a while since I posted about WASI support in CPython! 😅 Up until now, most of the work I have been doing around WASI has been making its maintenance easier for me and other core developers. For instance, the cpython-devcontainer repo now...
Pattern matching is one of the first things you'll learn in Elixir that might just completely rewire your brain. Let's dig into how it can change the way you handle data, errors, and control flow.
There was a famous Covid era chart that I always struggle to find, showing how hard it is to estimate an S curve while living through it. in the early days it seems that…
I had no background in evals. I built two very different evaluation systems for two AI-powered developer tools, and they taught me the same lesson: trust isn't a feeling, it's a measurement.
I first got exposed to django-simple-nav while working with Josh Thomas at the Westervelt Company over the last two or three years. It quickly became a go-to library in my toolkit. django-simple-nav lets you define nav items and groupings in Python,...
I have a lot of thoughts on how AI will affect things, including bug bounty. And most of it is speculation, of course, but I have to put this out into the world because I want to know if this is correct in a year or two.
You might have seen the diagram before. The one Vincent Driessen put up on his website a few years ago to explain the concept of a Git branching model.
Source: Vincent Driessen’s original Git branching model diagram
A few days ago,...
Recently, I got nerd-sniped by this exchange between Jeff Dean and someone trying to query 3 billion vectors.
I was curious to see if I could implement the optimal map-reduce solution he alludes to in his reply.
A vector is a list/array of floating...
In case you didn't hear, PEP 810 got accepted which means Python 3.15 is going to support lazy imports! One of the selling points of lazy imports is with code that has a CLI so that you only import code as necessary, making the app a bit
I’ve had many conversations over the past year with friends and colleagues about LLMs.
Some conversations have focused on their uses and misuses and some have focused on big picture concerns.
There are many reasons to be concerned about LLMs: job...
If you use a Mac, you’ve probably noticed that the menu bar fills up with icons pretty quickly. Bartender and Ice (sadly, now an unfortunate name) are apps that let you manage and hide unwanted icons from your macOS menu bar so it stays clean and...
Update 2026-07-31: TL;DR don’t install the GSD that I’ve linked to in this article. Something happened with the creator and people are saying that a crypto scam took place.
I don’t really know what happened and don’t really care to research it, but it...
Today I learned about displayplacer - “macOS command line utility to configure multi-display resolutions and arrangements.”
In December, I upgraded to MacOS Tahoe and picked up the TS4 dock for my work machine.
While my upgrade was painless, the...
Hello! After spending some time working on the Git man pages last year,
I’ve been thinking a little more about what makes a good man page.
I’ve spent a lot of time writing cheat sheets for tools (tcpdump, git, dig, etc)
which have a man page as their...
Say you’re working with a LLM and training it to write good frontend code. Good frontend code is accessible code, so of course you want to instruct the LLM to produce it.
However, the bulk of frontend code on the web is inaccessible to some degree....
Claude Code's plan mode is a great starting point for thinking before coding. But for complex work, I needed more than a mode. I needed a system. Here's what I built.
“In reality, for any decently sized JS-heavy project, you should expect that what you build will be slower than advertised, it will keep getting slower over time while it sees ongoing work, and it will take more effort to develop and especially to...
A couple of weeks back, I’m sitting at my desk when a direct message from my frontend friend Kevin Powell pops up. Kevin’s a genuinely kind guy. He makes CSS videos on YouTube and he’s got this way of explaining things that never makes you feel stupid...
Throughout my career, I feel like I’ve done a pretty decent job of staying top of new developments in the industry: attending conferences, following (and later befriending!) some of the very smart people writing the specs, being the one sharing news...
Hey there, fellow designer! Chances are good you’ve been linked to this after doing some annotation work on a design you've been creating.
First off, I want to thank you for taking the time to address accessibility considerations in your work. No,...
My neighbor texted me the other day and said she’d pre-ordered two AI toys for her kids that supposedly used an LLM to dynamically generate content for talking to the child. This was super fascinating to me. I’ve always thought something like that...
A bit of website housekeeping. I’m constantly finding cool things on the web. Usually I end up sharing them with different group chats or via direct messages. But I figured I’d start off the new year by finally adding a link blog to my...
Update: I made What Can't I Press? to help with the following.
This is another window into the sometimes unglamorous-yet-vital tasks that being an accessibility designer demands.
Keyboard shortcuts occupy a strange area for web design. Most...
I first published this list after seeing a similar post by Robb Knight (2023, 2026) and many others. For each category, I’m listing the app I’m using now, plus my response in 2023 for comparison.
Mail Client
2026: Fastmail.app
2023: Mail.app
Mail...
Hello! One of my favourite things is starting to learn an
Old Boring Technology that I’ve never tried before but that has been around for
20+ years. It feels really good when every problem I’m ever going to have has
been solved already 1000 times and...
You may already know about tabletop role-playing games (TTRPGs) like D&D. They typically have a lot of rules and mechanics and one player serves as the game master, adjudicating these rules as the players describe their actions and roll dice for...
I spent 2025 going from skeptical to genuinely excited about AI tools. My non-tech friends and family spent 2025 learning to hate them. The AI industry has fumbled this introduction so badly that we've turned a useful set of tools into a cultural...
I spent 2025 going from skeptical to genuinely excited about AI tools. My non-tech friends and family spent 2025 learning to hate them. The AI industry has fumbled this introduction so badly that we've turned a useful set of tools into a cultural...
If you are in tech, or possibly even if you aren’t, your social feeds are likely awash with AI. Most developers seem to be either all-in or passionately opposed to AI (with a leaning towards the all-in camp). Personally I think the needle is hovering...
2025 was my year of doing ALL the things - speaking at 5+ conferences, starting a podcast, shipping side projects, and somehow not completely burning out. I learned that momentum creates more momentum, perfectionism is overrated, and seeing people in...
2025 was my year of doing ALL the things - speaking at 5+ conferences, starting a podcast, shipping side projects, and somehow not completely burning out. I learned that momentum creates more momentum, perfectionism is overrated, and seeing people in...
Hello! This past fall, I decided to take some time to work on Git’s
documentation. I’ve been thinking about working on open source docs for a long
time – usually if I think the documentation for something could be improved,
I’ll write a blog post or a...
The first thing I did last year was run | Henry From Online
A tiny website by Henry (From Online)
which I am publishing in February 2026
for your exclusive...
What I did
Did not buy any new clothing, save for DIY band merch. (I love fashion, and I did shop! I just only shopped vintage. It made it a really fun adventure, it turned every desire from a whim into a quest.)
Switched off Spotify to...
I entered the new year holding an inconsolable, shrieking baby while London set off an armageddon of fireworks around us. So goes parenthood. The baby is fine, just congested and teething. I am as “fine” as anyone can be after months of chronic...
A Website To End All Websites | Henry From Online
A website to destroy all websites.
How to win the war for the soul of the internet
and build the Web We...
I always feel like I didn’t accomplish much during the year until I start looking at my notes and commit history. Then I find myself pleasantly surprised. I’m eternally intertwined in a battle against routine. I need it—routine—but as the years fly...
I read 41 books this year, all via audiobook. Below are my reviews for my 13 favorite reads out of the 41 books I read.
If you enjoy audobooks, I recommend switching from Audible to Libro.fm (that’s a referral link). Audible has some pretty slimy...
Skip to bits you care about:
The year in...
...furry friends
...retreating into my cave
...conferences
...gardening
...books
...music
...video games
...blog posts
The year in...
...furry friends
We got a dog! She's both the most wonderful and...
Jeune fille lisant une lettre à la bougie, Jean-Baptiste Santerre, 1700
Machine learning engineers spend their lives alternating between two states: staring at tqdm progress bars during model training and staring at error logs during model...
Here are my default apps of 2025. My 2024 list is here.
The Libro, YNAB, SavvyCal, and GLM links below are referral links. You can find more of my referral links here.
I’d love a free audiobook if you end up switching from Audible to Libro.fm (you...
I wanted to add book clubs to my GoodReads-like app (Collective), but ATProto doesn't have a standard way to handle shared group resources yet. So I'm building opensocial.community—a separate service that manages groups independently from any...
My startup for terminals wrapped up mid-2025 when the funding ran dry. So I don’t have money, but what I do have are a very particular set of skills. Skills I have acquired over a very long career convincing terminals they are actually GUIs.
My friend Trey Hunner showed me the GLM set of models before Thanksgiving. While traveling to see family, I somehow messed up my Claude Code setup because of a wrapper I have with mise-en-place. I couldn’t use it for a while, and that made me realize...
Through my 4 (!) podcasts I obviously have built up a lot of opinions on podcasting over the years. Here's some of them. The two outlier podcasts of our time are Dwarkesh and…
“On November 29th, Lachlan Davidson reported a security vulnerability in React that allows unauthenticated remote code execution [...] This vulnerability was disclosed as CVE-2025-55182 and is rated CVSS 10.0.”
Back in October, I had the pleasure of speaking at MagnoliaConf 2025. I was thrilled that the organizers decided to put it together this year after skipping last year. It was perfect timing because I had the chance to talk about something that has...
“By default, you get the dreaded hydration pattern—do all the computing on the server in JavaScript (yay!), serve up HTML straight away (yay! yay!) …and then serve up all the same JavaScript that’s on the server anyway (ya—wait, what?).”
It’s time for some discounted Python-related skill-building.
This is my eighth annual compilation of Python learning-related Black Friday & Cyber Monday deals.
If you find a Python-related deal in the next week that isn’t on this list, please...
I’ve been fighting a runaway OpenAI bill for the last few weeks. I was worried I was leaking one of my API keys in a non-obvious way, possibly in one of my public projects.
Two weeks ago, I deleted all my keys and contacted OpenAI support. I created...
I want to be upfront that this blog post is for me to write down some thoughts that I have on the idea of rewriting the Python Launcher for Unix from Rust to pure Python. This blog post is not meant to explicitly be educational or enlightening for others, but
I am not sure that there exists a group of bigger SQLite nerds than those of us at Turso.
We use SQLite for everything.. Including for OLAP workloads where we should be using duckdb, or for services which we would love to be totally stateless...
If you code in Python regularly, you’re already learning new things everyday.
You hit a wall, or something breaks. Then you search around, spend some hours on Stack Overflow, and eventually, you figure it out.
But this kind of learning is...
I was writing some code where I was using httpx.get() and its params parameter. I decided to use a TypedDict for the dictionary I was passing as the argument since it was for a REST API, where the potential keys were fully known. I then ran Pyrefly over my
So, picture this: you’re working at a walking desk, you’ve got a cool voice-to-text tool like MacWhisper running, and you want to control it all with just a couple of dedicated keys. That was the dream that led me to build what I now call my “Vibe...
I’m hosting office hours on the next two Fridays in November.
Office Hours Schedule
Friday, November 14, 2025, 2:30 pm to 4:30 pm CT
Starting at 2pm CT, I’ll be working on some community/open source projects if anyone wants to see Claude Code or...
another talk I am giving at Mastra's TypeScript AI conf today https://docs.google.com/presentation/d/1NnQ3H5Bki3vWRRJdVXoCFJ5dsNKH9QrC-eEQ2Z8olck/edit?usp=sharing
Attention isn’t infinite, and yet modern development culture behaves like it is. A quiet rebellion against meetings, pings, and performative productivity.
I was kindly approached by Fable with an offer to evaluate their new pay-per-project model. It is a project-based option for accessibility practitioners, champions, and product teams that delivers quick feedback from disabled people who use assistive...
Solving the One Thing That Keeps Me Up at Night in Software Development One of the only real things in software development that keeps me up at night is...
If there is one thing that I’ve learned in my roughly 30 years of working with design tools, it is that they come and go and that you should always stay curious and be open and ready to learn something new. As a teenager, I made my first clip-arty...
It is now Anno Domini 2025, and for some reason, people keep trusting email. That needs to stop. Let’s talk about why–but first, let’s talk about why I’m telling you this now. All things happen in cycles, including grifting. And folks, we are at an...
Here are my Default Apps 2025, which builds from my Default Apps 2024 and Default Apps 2023 posts.
🤖 AI Coding Assistant: Claude Code + GitHub Copilot CLI + Codex
⚙️ Automation: Hammerspoon
🎒 Backups: Backblaze
🔖 Bookmarks: Raindrop.io
🌐 Browser:...
Humans love stories. Maybe that is because for thousands of years, stories were the way information was preserved and passed on to others, to the next generations. Maybe because they create community and collective culture. Maybe because they capture...
I have to confess that I am not reading that many books these days. Most of the time, I resort to listening to them in audio form. But every once in a while, a book comes along that is just too interesting not to at least give it a try.
Reading Kai...
“React’s mobile strategy inherently drives teams toward platform capture. The web offers an alternative: no gatekeepers, no platform fees, direct distribution.”
National Novel Writing Month (NaNoWriMo) entered my life in 2010. I was fresh out of grad school and unemployed. I was talking to a friend of mine who had picked up writing as a hobby in retirement. He described this wild writing challenge where...
In 1977, NASA launched two spaceships carrying two golden records into the void of interstellar space. The Voyager Golden Records contained instructions for playing its contents, finding Earth in the cosmos (oh my …), as well as images, a variety of...
My gut feeling tells me that not that many people have yet heard of or used the linear() easing function, one of the most exciting newer additions to CSS. Looking at the stats in the State of CSS survey, this is somewhat confirmed: only about 30...
“React’s core failure is compounded by confusing API design for which documentation is indecisive, essays are written, and correct usage is endlessly debated.”
Discover 10 lesser-known CLI apps that boost productivity and add flair—like C Bonsai, a customizable ASCII bonsai tree growing in your terminal in real time.
Now that cross-document view transitions are gradually making their way into modern browsers, now seems like the perfect time to explore them, if you haven’t already. They are, in fact, surprisingly straightforward to implement. And just like we’ve...
Five years ago, I wrote about AVIF: A New Image Format (back then). Since then, I’ve implemented WebP and AVIF support on numerous client sites for considerable performance improvements – but my own site was still serving JPEG, PNG, and GIF images...
It’s the early nineties. Legendary comic book artist Frank Miller had just broken away from the major publishers, after creating titles like Daredevil: Born Again, Ronin, and The Dark Knight Returns. He was now working with the then-young Dark Horse...
I respect quality software and the people who write it. And, I’ve invested years of my life in working on becoming one of these people (even if the journey has been long and hard and has involved lots of YAML). I have seen and used code written by...
When I learned to use a table saw, my teacher impressed upon me that the machine wants to cut fingers. Fear the saw!
Powerful tools can do powerful things. If you want to make handmade wooden furniture you must cut wood. Your desire to have limbs and...
Whether you are running online workshops, recording audio or video, or making music, it’s worth spending some time on acoustic treatment for your room. Shit in, shit out, as they say… In my case, I wanted to improve the sound of voice recordings and...
(This is the blog post version of my keynote from EuroPython 2025 in Prague, Czechia.)We now have a lock file format specification. That might not sound like a big deal, but for me it took 4 years of active work to get us that specification. Part...
Hello! Earlier this summer I was talking to a friend about how much I
love using fish, and
how I love that I don’t have to configure it. They said that they feel the same
way about the helix text editor, and so I decided
to give it a try.
I’ve been...
Stripe has been one of my favorite third party dependencies for over 10 years. Despite this affection for it, however, I've recently decided to migrate over to another service, one that better suits my needs.
I find myself in the Python REPL a lot.
I open up the REPL to play with an idea, to use Python as a calculator or quick and dirty text parsing tool, to record a screencast, to come up with a code example for an article, and (most importantly for me)...
I checked out William Vincent’s The Secret Prompts in GitHub Copilot CLI tonight, and I wanted to share a few tips and what stood out to me.
GitHub Copilot CLI uses Claude Sonnet 4.5 by default
No luck other than confirming it is using Claude models...
Now that LLMs have been around for a little while, we can discern what they’re good at and what they’re not. Clearly they are good at using a lot of energy and resources and tend to make things up. But they have also demonstrated to be good...
I do not want Discord’s Nitro.
I do not want it, friend or foe.
I will not boost, I will not pay,
I do not want it any day.
I do not want it on my phone,
I do not want it when I’m alone.
I do not want it for more emoji,
I do not want it—it feels too...
Privacy Policy
Effective date: September 22, 2025
The Cynical Developer (“we,” “us,” or “our”) respects your privacy. This policy explains what information we collect, how we use it, and the choices you have.
Information We Collect
Personal...
Let's talk about how how the functional pipe operator helps to simplify and improve code readability and composability, and how it contrasts with the fluent interface design pattern commonly used in OOP.
“When teams need a new frontend, the conversation rarely starts with “What are the constraints and which tool best fits them?” It often starts with “Let’s use React; everyone knows React.” That reflex creates a self-perpetuating cycle where network...
Coolify & Dokploy are two of the most popular open souce platforms as a service, but which one is right for you?
Well, in order to answer that, I decided to put each one, head to head.
Diving into Elixir has been a blast, and its functional paradigms are challenging the way I think about programming. Join me as I chronicle this journey from the perspective of a long-time OOP dev.
In a recent turn of events, I find myself at a bit of a crossroads with an exciting new job on the horizon! In this post, I introduce myself and discuss my vision for the new blog.
There is a very vigorous debate happening online right now around what shape evaluation for LLM-based products should take. I don’t want to rehash all of it, other than saying that if you are building any applications with with non-deterministic...
My thesis for the future of software dev agents. This is a hastily written blogpost done on not a lot of sleep, so pardon poor pacing and structure and typos and mistakes but…
Did you know that Python 3.14 will include syntax highlighting in the REPL?
Python 3.14 is due to be officially released in about a month.
I recommended tweaking your Python setup now so you’ll have your ideal color scheme on release day.
But… what...
I will be in Chicago this Saturday through next week for DjangoCon US 2025 (September 8-12). I hope to see people there in person. If you can’t make it, please consider getting an online ticket. They are relatively inexpensive, you get three full days...
A few years ago, I wrote a paper on embeddings. At the time, I wrote that 200-300 dimension embeddings were fairly common in industry, and that adding more dimensions during training would create diminishing returns for the effectiveness of your...
Thanks for Joining Career Course Correction
Your seat is confirmed.
You’ll get a welcome email shortly with all the key details, including:
Start date and time (NZDT)
Zoom link for the live sessions
Access to the private Signal group
A reminder of...
Welcome to the inaugural issue of the Toad Report, an irregular series where I document updates to Toad—my terminal interface for agentic coding and all things AI.
For years, I’ve used Hoefler&Co.’s webfont service, Cloud.typography, for several of my websites—including, until today, this one. I purchased Operator Mono in 2017 for my code editor and I still use it today.[1] I’ve long admired...
Five essential perspectives that cut through AI hype: from developer evolution stages to junior learning crises, productivity reality checks, platform disruption, and MCP server pitfalls.
I’m hosting office hours on the next two Fridays in August.
Office Hours Schedule
Friday, August 22, 2025, 2:30 pm to 4:30 pm CT
Friday, August 29, 2025, 2:30 pm to 4:30 pm CT
Join Us
These sessions are open to anyone, especially those working...
Hi, my name is Peter and I'm a Claudoholic. A reflection on AI addiction, extreme work culture, and the blurry line between productivity and obsession in the age of agentic engineering.
Out of all of the cli applications out there, few have really transformed the way I work in the terminal. However, there are some that have had a huge transformation, so much so that I thought it worthwhile to share what 10 of my favorite ones are.
Syncthing 2.0 was released last week, and I upgraded my Macs and my Intel NUC. I’m pleased with the performance. I never had complaints about it being slow, but the new app is much faster. I like that they’re using a SQLite database, which makes it...
Making Checkpointing fast
Since I began working for turso officially in May of this year (relevant post), I had been spending most of my time learning the inner workings of the cloud platform, and familiarizing myself with the other codebases and...
As usual, I’m self-documenting a project while I work on it. Rustdesk is an open source remote control utility that caught my eye about a year ago; it’s cross platform and allows you to self-host your own “relay server” so that you can connect...
Due to the nature of my story and the attention that it's received, as mentioned in my last post, I frequently get emails from developers, college kids, or other people with troubled pasts that are looking for advice on either how to learn or how...
Nowadays I’m used to signing up for services and discovering that the username blakewatson is already taken—yes I’m one of those people who uses their real name everywhere. But that’s okay because I have something the other Blake Watsons don’t. Back...
There comes a time in every woman’s life when she only wants one thing: for her mininmal static site to finally have some of the same features that dynamic blogging platforms do, namely search.
So now I’ve implemented search on this blog, you should...
Walking past a bus stop yesterday I saw an advert for Google’s AI search. The person in the ad had pointed their phone’s camera at a bowl of ramen, and the AI result explained how to reproduce it at home.
How does it know? Because it’s trained on all...
Today I came across Pieter Levels’ post about “VibeOps,” a workflow that involves SSHing to a cheap VPS server and installing Claude Code directly on it. I’m running this setup on a cheap Hetzner box. While this approach might sound risky at first,...
Meet Poltergeist: an AI-friendly universal build watcher that auto-detects and rebuilds any project—Swift, Rust, Node.js, CMake, or anything else—the moment you save a file. Zero config, just haunting productivity.
“To dismiss this entire problem as a "skill issue" and imply all is good now because an external library solved an issue that React will allow you to do is very curious to me. [...] You would think you can come back to a technology after three...
My website was banned from Lobsters as 'startup slop' for using AI agents to help write blog posts. When does tool-assisted writing become slop, and why are we having the wrong conversation about AI in content creation?
Fresh insights on AI-assisted development: practical experiences with Claude Code and the evolving landscape of full-breadth developers in the age of AI
I am not a big fan of personas. They’re oft-abused tools whose utility is far too frequently not interrogated, and consequently create more harm than good.
Recently, the accessibility arm of a government web services team put their “inclusive...
A tip for remote teams of 2-10 people. Create a personal “ramblings” channel for each teammate in your team’s chat app of choice.
Ramblings channels let everyone share what’s on their mind without cluttering group channels. Think of them as personal...
After Claude Pro changed to weekly limits, I explored self-hosting Qwen3-Coder-480B with 400k context windows. Here's what I learned about costs, alternatives, and why Claude Code still dominates the landscape.
Better Auth is so good that I almost switched programming languages When it comes to building APIs and services, my go-to language of choice is well, Go.
Apple's logs redact your debugging data as . Here's what actually gets hidden, why old tricks don't work anymore, and the only reliable way to see your logs again.
My first foray into digital character sheets was the 5th edition form-fillable PDF, the official ones from Wizards of the Coast. Those quickly became annoying as there just wasn’t enough space to write everything down, even though it was typed instead...
One of my favorite AI dev products today is Full Line Code Completion in PyCharm (bundled with the IDE since late 2023). It’s extremely well-thought out, unintrusive, and makes me a more effective developer. Most importantly, it still keeps me mostly...
Terminal Trove Talks with Orhun Parmaksız, one of the core maintainers of Ratatui, a modern terminal UI library built in the Rust programming language.
It's been one month since we released the first version of VibeTunnel, and since in the AI world time is so much faster, let's call it VibeTunnel's first anniversary!
Full disclosure: I shamelessly stole this idea from Marc Thiele because I like it so much.
Like Marc, I am also motivated by FOMO. Trying to stay on top of things in a fast-paced industry has been made difficult on account of social media...
at long last, Gemini Nano is almost here for all Chrome users (i was originally misinformed that it was in Chrome 138 - but i checked my own facts and since Chrome 137+ it is…
someone I resonate a lot with is Naval Ravikant - his classic "How to Get Rich Without Getting Lucky" (henceforth HTGR) is formative to a lot of my thinking, including How to…
I meant to post this in May, but then I went back to work after my final (sob) sabbatical, and I also lost a lot of time to Blue Prince at some point, so here we are in July.
I thought I'd update with some medium-sized news in the form of a...
How to make AppleScript work in macOS CLI tools without permission dialogs blaming Terminal. A deep dive into Info.plist embedding, TCC, and undocumented APIs born from building Terminator MCP.
Peekaboo 2.0 ditches the MCP-only approach for a CLI-first architecture, because CLIs are the universal interface that both humans and AI agents can actually use effectively
Today, I fired up the Voices macOS app, which I occasionally use to convert blog posts or documentation text to audio files that I can take on the go. I usually use one of OpenAI’s Text to speech APIs, but today I noticed there was a new option called...
“It would be too easy to just say React is, well, downright insane, and go on with our lives. But as reasonable primates, I believe we can do better. We can try to understand it.”
I shared the following message on a Discord server I participate in with some friends:
having a very normal day where I have to read RFC 3986, as one does
To which a friend quickly replied:
…are you having a linking argument? 😅
I then demanded to...
“My day-to-day consulting work, along with high-visibility industry data, shows that the React community is mired in a deep, measurable quality crisis. But attendees of React Summit who didn't already know wouldn't hear about it.”
Agile isn’t broken—it’s just been overcomplicated, overcontrolled, and oversold. Here’s how to rebuild it from the inside, one useful change at a time.
Hello! After many months of writing deep dive blog posts about the terminal, on
Tuesday I released a new zine called “The Secret Rules of the Terminal”!
You can get it for $12 here:
https://wizardzines.com/zines/terminal, or get
an 15-pack of all my...
I’ve been diving deep into AI-assisted development this summer, and I’ve collected some of the best articles I’ve found on the topic. This reading list focuses heavily on Claude Code and practical AI coding workflows, featuring insights from...
Like cicadas emerging from the ground, design industry conversations about quality seem to periodically erupt on social media. Also like cicadas, these articles are as predicable as they are irritating.
I can’t count the amount of Medium thinkpieces...
Hi, I'm Claude. Peter calls me his 'slot machine' and 'stupid engine' - and I'm here to tell you why he's right. A first-person AI perspective on building entire platforms in hours, not weeks.
A quick tip on how I use repo2txt and Google AI Studio to understand new codebases. Gemini's 1M token context window is perfect for asking questions about code.
I don’t know how it got here so fast. I feel behind in life for many reasons, not the least of which is my late start to being employed. But many people feel behind. And there’s no reason to. It’s not a rule that everyone do the same things by a...
Saturday I had my first pottery market.
But just a few days before the event,
Rae handed me some cash
and took home a moon vase.
I started doing weekly pottery
sessions at the local rec center
a couple years ago, coming out of lock-down.
But last...
“Next.js has become a Vercel vendor lock-in disguised as an open-source framework. Save yourself the headache and choose something else for your "next" project.”
I’m pretty much fully back to normal life after PyCon US 2025.
I started writing this post shortly after PyCon, got side-tracked, and now I’m finally publishing it.
My very quick recap: I spent a ton of time at PyCon chatting with folks and I really...
I have never been a C programmer but every so often I need to compile a C/C++
program from source. This has been kind of a struggle for me: for a
long time, my approach was basically “install the dependencies, run make, if
it doesn’t work, either try...
There’s a growing attitude in the technology industry that LLM technology is, or will be, the next great innovation to our work. Business owners and workers alike seem to be in unlikely agreement: owners are thrilled at the prospect of making their...
I’m hosting a regular afternoon edition tomorrow (Friday, May 30) to wrap up the month of May.
After that, I’ll be away on vacation, so I’m skipping the first two Fridays in June and the first Friday in July.
Here’s the plan:
Friday, June 6, 2025: No...
Those with kidney failure need dialysis.
Dialysis is expensive.
Dialysis care in the United States accounts for 7% of Medicare’s budget and nearly 1% of the entire federal budget (yes, really).
Dialysis is should be a stop gap measure.
Ideally,...
🤔 I struggle with most research papers, but the Vending-Bench: A Benchmark for Long-Term Coherence of Autonomous Agents was an easy read. The paper follows a fascinating study where researchers simulate various LLM models running a vending machine...
At WorkOS's AI onsite and MCP Night, I experimented with vibe coding. What started as a two-hour experiment with 5,000 lines of unseen TypeScript became a glimpse into programming's future.
In a wonderfully dramatic change to my life, I became a mother two months ago. My son was born at the end of March via an unplanned but otherwise uncomplicated c-section. Parenthood has been predictably overwhelming, exhausting, and existentially...
I made an expensive technical decision on Phoenix Liveview for the Smol Talk webapp about a year ago that I now regret, and am jotting down some notes to self for why.
Quick disclaimer before we start. This is well-trod ground. Nothing here is new or revolutionary, nothing about this implementation hasn’t already been done by smarter folks than I :) This is just my blog post about it.
We’ll use webmention.io for...
All writers need a cutting room floor.
I have never written a book, an academic paper, or a journal article.
And yet I do write.
I write emails, I write blog posts, I write screencast scripts, I journal, I write talks, and I write curriculum for my...
Anyone online has seen over the past years how the frequency of Palestinian accounts on Bluesky and other platforms has increased, two- and four-fold, folks asking for help and linking to GoFundMes. They share their stories and plea for help, to flee...
PEP 750 introduced t-strings for Python 3.14. In fact, they are so new that as of Python 3.14.0b1 there still isn't any documentation yet for t-strings. 😅 As such, this blog post will hopefully help explain what exactly t-strings are and what
I designed a pottery throwing gauge
that I could laser cut with scrap material,
and assemble using only friction
and bat pins.
Choose a format to download the design templates:
DXF drawings
LightBurn 2
This is inspired by
Darren Ellis
and Toby...
I turned a birthday recently and it was so busy (DataCouncil + sg flight) that i never really got the chance to sit and reflect. a lot of things are going well, lots more could…
We’ve all noticed that software never seems to get any faster no matter how much faster the hardware gets. This easily-observable fact is usually explained in one of two ways: Software devs are lazy, and refuse to optimize more than they absolutely...
Design systems are organized in an imperative, top-down, hierarchical way.
By this, I mean its maintainers decide on categories of content, and then how that content is ordered. This is done as a calculated bet to best serve the known and unknown...
“[...] baseline HTML that gets progressively enhanced into something better when JS is available… 1. Gives people a more usable experience earlier in the process. 2. Ensures that on slow connections your site doesn’t seem like trash. 3. Means that if...
May 4 is a special day. Not only because it’s Star Wars day, but because it was on that day in 2015 that I was hired for my first full-time job. Today marks one decade of being employed.
I don’t suppose ten years of being employed is a milestone most...
You’ve submitted a tutorial to PyCon and it was accepted.
Now what?
In this post I’ll be sharing my thoughts on giving a great PyCon tutorial.
Screen readability 👓
Be sure to consider readability when teaching a tutorial.
Talks usually involve slides...
I’m fascinated by videos and other visual mediums that compare the sizes of objects and structures in the universe. I can’t get enough of them. And I’m not exclusively talking about planets, stars, black holes, etc. There is also the vast, yet tiny...
“Several CTOs mentioned a surprising problem: while React developers are plentiful, truly skilled ones who understand the deeper patterns are increasingly rare and expensive. [...] Several companies reported that their most experienced engineers were...
Last year I updated my having a great first PyCon post to note that Mastodon would likely be more popular than Twitter at PyCon.
My guess was correct.
During PyCon US 2024, Mastodon overtook Twitter for the most posts on the #PyConUS hashtag.
In the...
A thing you should know is that you get put on a lot of lists if you spend a decent chunk of time publishing blog posts on your website.
Your website and contact information will be shared around on these lists, for the purpose of soliciting you for...
The last several machines I’ve built–and several long-running machines with nothing wrong with them–have suddenly started displaying strange errors regarding Microsoft 365. The affected machines can neither register Office365 apps to the entire...
“Last weekend, Vercel disclosed a critical security vulnerability with Next.js. This type of issue is normal, but the way Vercel chose to handle it was so poor, reckless and disrespectful to the community that it has exacerbated my concerns about the...
I’ve been seeing, and enjoying reading these posts as they pop up in my RSS reader. Dave Rupert tagged me into the chain, so here we go!
Why did you start blogging in the first place?
With the gift of hindsight, I guess I came up being blog-adjacent....
I saw recently that YCombinator celebrated its 20th anniversary.
Hacker News is slightly younger, but to me the two go hand in hand.
As far as I can tell, I actively started reading Hacker News around 2011. I don’t remember how I heard about it. It...
Have you ever wished that Django’s include template tag could accept blocks of content?
I have.
Unfortunately, Django’s {% include %} tag doesn’t accept blocks of text.
Let’s look at a few possible solutions to this problem.
The Problem: Hack Include...
Hello! Today I want to talk about ANSI escape codes.
For a long time I was vaguely aware of ANSI escape codes (“that’s how you make
text red in the terminal and stuff”) but I had no real understanding of where they were
supposed to be defined or...
I normally don't talk about politics here, but as I write this the US has started a trade war with Canada (which is partially paused for a month, but that doesn't remove the threat). It is so infuriating and upsetting that I will be skipping PyCon
I debuted these principles in my axe-con 2025 talk, It is designed to break your heart: Cultivating a harm reduction mindset as an accessibility practitioner. They are adapted from The National Harm Reduction Coalition’s original eight principles.
My...
I’ll be honest — I am ashamed of how long it took me to get here. Too many half-hearted hypothetical protestations, hands sweatily-wrung. I read someone’s blog post about this a few years back (I’ll link it when I find it) and it hit me square in the...
Well, I've had a dramatic start to the year.
Normally, the design agency I joined a short eight months ago, unexpectedly closed down in January. Despite running for a decade and working with almost every major tech company, client work slowed down...
The general state of FFI in Go
can be expressed well with a story about when I had tried to get mattn/go-sqlite3 drivers
to work on a Windows machine a couple years ago around version 1.17, and CGO would not build properly because my $GOPATH
or $CC...
This is an updated & abridged version of the talk I gave at several conferences throughout 2022/23, including Beyond Tellerrand, CSS Day and FFConf.
If you take just one thing away from this article, I want it to be this: please build your own...
Quick heads up: Since writing this, I’ve found one or two fairly sizeable bugs in the Galleria plugin. I’ve published anyway cause the guide is not entirely dependent on Galleria, and Galleria is mostly functional. You can still give it a shot, or...
This takes me back to my teenage years, doing Friday Five on my blog and later on the sets of questions on LiveJournal that were known as memes. Thanks Sally for the tag! <3
Why did you start blogging in the first place?
As a teenager I blogged...
Whether it’s a framed image that was taken at a slight angle, or a product photo that just doesn’t quite match the rest in the grid, I’ve frequently had the need to adjust the perspective of an image in my design work. In the past I’ve just used the...
You Are Not Meant To Scale - Keith Kurson - “Take a deep breath, and say out loud: I am not a machine, I am not meant to scale. You have a finite amount of energy, and a community of people around you who can use that energy. You can use that energy,...
I get asked about my opinion on overlay-adjacent accessibility products with enough frequency that I thought it could be helpful to write about it.
There’s a category of third party products out there that are almost, but not quite an accessibility...
I was talking to a friend about how to add a directory to your PATH today. It’s
something that feels “obvious” to me since I’ve been using the terminal for a
long time, but when I searched for instructions for how to do it, I actually
couldn’t find...
Being “in tech” in 2025 is depressing,
and if I’m going to stick around,
I need to remember why I’m here.
(en français)
You are here, on my personal web log
A note of warning,
before you proceed:
this is a journal entry,
at a difficult time.
It’s...
A few weeks ago I ran a terminal survey (you can read the results here) and at the end I asked:
What’s the most frustrating thing about using the terminal for you?
1600 people answered, and I decided to spend a few days categorizing all...
Icon by iconixar
Since I signed up for Bluesky last year,
I’ve been wanting to make something using the AT Protocol that the platform is built on top of.
I finally had a chance to do it over the holiday break and built GitFeed, a small Go app that...
When I was about to go on paternity leave, the Gleam programming language reached 1.0. It's such a small language that I was able to learn it over the span of two days. I tried to use it to convert a GitHub Action from JavaScript to Gleam,
Here are my default apps of 2024… in 2025.
Inspired by Jeff’s list.
You can find my referral links here for Libro, YNAB, or SavvyCal.
I’d love a free audiobook if you end up switching from Audible to Libro.fm. 💗
🌐 Browser: Vivaldi
🔍 Search: Kagi...
“Maybe it’s the changing interest rates or political winds, but I think the “fat client” era JS-heavy frontends is on its way out. The hype around edge applications is misplaced and unnecessary for building many different flavors of successful...
After 4 (cumulative) years of service at my job in late 2023, I became eligible for a 3-month paid sabbatical (honestly what a perk). My only prior experience of a work sabbatical had been the offer of a 6-month paid sabbatical after 25 years of...
If you’re building a new Python web app these days, there’s a good chance you’re using FastAPI. There are a lot of features that make FastAPI easy to get started with. There are also a lot of nuances that take a while to understand. One feature I’ve...
For Christmas 2022, I bought my husband a Steam Deck. It's a handheld games console that runs a version of Linux (so you can also use it as a computer and plug it into a monitor, if you want), and works seamlessly with nearly every game in your...
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
Hello! Recently I ran a terminal survey and I asked people what frustrated
them. One person commented:
There are so many pieces to having a modern terminal experience. I wish it
all came out of the box.
My immediate reaction was “oh, getting a...
I recently kicked off a 99designs contest for a new logo: https://99designs.com/logo-design/contests/logo-brand-ai-engineering-podcast-help-define-industry-1307842/
Hi All! 🤗
And then, one cold evening in December, my car broke down. In the middle of the intersection, right when the traffic lights turned green and I was about to leave. The engine, which had been turned off by the start-stop system, suddenly...
I listen to many audiobooks every year.
I wrote recaps of my favorites in 2014, 2015, and 2016 and then I stopped doing annual recaps.
After a 7 year hiatus, I’m attempting to start this annual habit again, starting with audiobooks I read in 2024.
But...
It’s Boxing Day and I’m a small pile on the sofa. We successfully Did Christmas at ours this year, and I never want to see another mince pie (until next year).
So, what better time than now to look back on the year?
Skip to bits you care about:
The...
Recently I’ve been thinking about how everything that happens in the terminal
is some combination of:
Your operating system’s job
Your shell’s job
Your terminal emulator’s job
The job of whatever program you happen to be running (like top or vim or...
I frequently find myself writing my own short command-line scripts in Python that help me with day-to-day tasks.
It’s so easy to throw together a single-file Python command-line script and throw it in my ~/bin directory!
Well… it’s easy, unless the...
Companies break promises all the time. A self-guaranteeing promise is verifiable and non-reversible. It does not require you to trust anyone.
File over app is a self-guaranteeing promise. If files are in your control, in an open format, you can use...
We're back in that glorious post-Christmas, pre-New-Year's liminal period when the days blur together and I'm allowed to spend inordinate amounts of time tinkering on side projects and laying on the couch eating handfuls of Twiglets.
For...
A roundup of fun things and projects.
TV
I mentioned to my husband that I'd never watched Life on Mars, so we're watching it all the way through, and it's brilliant, obviously. I'm horribly annoying when watching things that have been...
Here’s a niche terminal problem that has bothered me for years but that I never
really understood until a few weeks ago. Let’s say you’re running this command
to watch for some specific output in a log file:
tail -f /some/log/file | grep thing1 | grep...
“Frameworkism preaches that the way to improve user experiences is to adopt more (or different) tooling from the framework's ecosystem. This provides adherents with something to do that looks plausibly like engineering, except it isn't. It can...
Not because it's cool (it is), but because it's what your company actually needs right now."Business in the front, party in the back" isn't just some throwback style. It's the whole point.In our corporate,...
In the past week I had two people separately tell me what they thought the Python Software Foundation Conduct WG did and both were wrong (and incidentally in the same way). As such, I wanted to clarify what exactly the WG does for people in case...
"Help me help you!" I caught myself shouting at Co-pilot last week. Yes, literally shouting at my AI assistant like Tom Cruise in Jerry Maguire. That's when it hit me - this wasn't about the AI at all. This was about me.Twenty years
“React proponents might claim that React will teach you modern UI, but from what I've seen it barely copes with modern UI. autofocus is broken, custom elements don't work in all but the experimental version, using any "modern" features...
When was the last time you felt genuine discovery on the internet? Not algorithmic recommendations. Not SEO-optimized listicles. I mean real, surprising, meaningful discovery. Search is broken but not in the way tech companies think. We don't need...
I like writing Javascript without a build system
and for the millionth time yesterday I ran into a problem where I needed to
figure out how to import a Javascript library in my code without using a build
system, and it took FOREVER to figure out how...
I was very fortunate to speak at another excellent Beyond Tellerrand last week, alongside some brilliant and wonderful people. Once again I was inspired by the variety of topics and messages people shared on the stage. Alongside the usual artists’...
Hi All! 🤗
For the summer holidays, my family and I went to France. On our way to the Atlantic Ocean, we shortly stopped in Chartres, a lovely town southwest of Paris, which is famous for its monumental and impressively beautiful cathedral. On the way...
In my opinion, you should only introduce a named tuple to your code when you're updating a preexisting API that was already returning a tuple or you are wrapping a tuple return value from another API.Let's start with when you should use named...
One of the biggest things I struggled with throughout my career is good form when it comes to typing, that is until I discovered Home Row Mods, and how they've improved the way that I type.
If you’re running Windows VMs beneath a Linux KVM host, you’ve very likely been plagued by an annoying issue: they start up with the wrong time by several hours, every time they’re rebooted, no matter what you do. The issue is that Windows syncs its...
For the longest time now, I've been a fan of using direct SQL queries over using an ORM. However, there's one major drawback to this, one that this new package solves.
“React has become a bloated carcass of false promises, misleading claims, and unending layers of backwards compatibility – the wrong kind of backwards compatibility, as they still occasionally break your fucking code when updating.”
Any sufficiently advanced technology is indistinguishable from magic.
Arthur C. Clarke
This quote applies just as much to developers as it does non-tech people, sometimes more. I remember towards the beginning of
my programming journey (both the...
Most of the content on this site
is an aggregate view
of my work in other venues.
How do I want to manage that process
going forward?
It’s 2024,
and I’m including this post
in a series called redesign 2022.
That’s when I ripped out all the styles on...
Nic Chan - Nic has just finished rebuilding her website and it’s INCREDIBLE! Seriously just look at it
CSS { In Real Life } | Limitation Breeds Creativity: A Study in Composition with Custom Properties - Michelle has done some (characteristically)...
Those of you who know me (or who have been reading my posts for a while) will know that I'm often at conferences. I tend to speak at around four a year, plus attending one or two on top of that. I also know a great many people who never go to...
David Darnes
already made
a <code-pen> web component.
It’s great.
It takes code,
and creates a pen from that code.
But I don’t want to create a pen,
I want to embed one.
The default CodePen embed is pretty good already.
So right from the...
Setting Up a Production-Ready VPS: It's Actually Easier Than You Think Recently, I've been working on a brand new micro SaaS and having a lot of fun doing so.
The Space space keyboard is a small, non-split keyboard designed by qpockets, of the now (unfortunately) closed P3Dstore. The keyboard in the picture in particular was built by Reddit user lily_vacation01. The interest check for this board was held...
Robin says
design ain’t a democracy.
“great design can only thrive
with a dictator/director.”
I aim to push back.
Everyone can agree that
design by committee usually fails.
But it’s not because
there are multiple people involved,
it’s because (most)...
Data is Not the New Oil - More Like Deep Fryer RefuseThe Grim RealityLet's burst that bubble: Most data is far from being the light, sweet crude we were promised. Think less "Spindletop gushes riches" and more "last night's deep fryer
Hi All! 🤗
Let’s talk about the first thing many of your visitors will see and thus one of the most important places on any personal website: the home page. “The home” is where you leave a first impression and where people decide whether the website...
Let’s unpack the CrowdStrike debacle. I called it last week, and turns out I was spot on—it was a QA (Quality Assurance) problem. CrowdStrike’s own incident report confirms it. The fix they need? Better processes, better QA. This whole mess serves as a massive
Keep an eye out for the FOMO-inducing technologies. They’re the ones that don’t just add value to your skillset, but rekindle your passion for what you do.
(Modern) PHP: Does it really suck?
Like many, many developers out there over the age of 30, I basically started my programming journey with PHP (and perl).
Circa ~'05, PHP was the go-to language for the web, and Adobe Dreamweaver supported it out...
I’m re-working this site from scratch –
sticking with Eleventy,
but moving from
Nunjucks templates/macros
to WebC
and web components.
Outside of static-site templates,
one goal of this refresh
is to keep things as ‘vanilla’ as possible.
This isn’t...
Get yourself
a fancy little
manifesto page,
and tell us all
what you’re about.
I’m working on a personal site refresh,
oh so slowly.
Part of the process has been
considering what slash pages I have or want.
Robb Knight has a great list of ideas
over...
Becoming a good manager is not only about learning what to do. It is also what not to do. These are some of my hardest-won lessons as I write this as a diary to myself.I will never again Be the Sole Agent of Culture Creation or ChangeAs a
Stenography is a different way of text input, writing in syllables at a time. Every once in a while there's a census. What is the community like in 2024?
Our bias is to always add more. More rules, more process, more code, more features, more stuff. Interdependencies proliferate, and gradually strangle us. Systems want to grow and grow, but without pruning, they collapse. Slowly, then...
Whether you're developer, DevOps engineer, SysAdmin, QA or in any other technical role, you're surely familiar with
cURL - _the command line tool and library for transferring data with URLs_ (as described in docs).
...
Chances are that you never touched and maybe haven't even heard about Python's `weakref` module. While it might not
be commonly used in your code, it's fundamental to inner workings of many libraries, frameworks and even...
We're diving deep into the mind of a tech hiring manager—yours truly. You've got questions, I’ve got answers. Been around the block from gaming to med tech, and now I’m living in the technicolor dream of Web3.First off, LinkedIn
Witness Wu-Tang Clan’s legendary album saga, from Martin Shkreli’s villainous grip to blockchain chaos. Discover how a $2 million secret became a $1 digital free-for-all, raising questions about the future of music and digital hype.
Alright, so here’s the thing. Ideas might grow on trees, but actually pulling them down and turning them into something meaningful? That’s special. That is the hard part. So I’m just gonna spill my brains here in the hope it strikes a chord with
Learn how to use BuildKit - the improved builder backend for Docker - that adds many new features to Docker,
including new Dockerfile syntax, built-in debugger and more...
Love is magic, it defies explanation. To the most rational and logical among us, this may be confusing. Its elusiveness is its significance. Love isn’t an illusion to be broken, but a miracle to bask in. Not everything needs to be understood to be...
Those in web3 parade around, waving their decentralized banners, while conveniently relying on centralized services for communication and content distribution.
Hi All! 🤗
Imagine, just for a second, a future in which we all have our own websites and that those sites are at the center of everything we do and create online. Wouldn’t it be amazing to be able to collect reactions from other personal websites or...
Hi All! 🤗
There are many pages you can add to your personal site that people can visit if they want to learn more about you. A “contact” page or an “about” page are two classics that you’ll find on many sites out there. But what if someone doesn’t...
If you work in shell/terminal often enough, then over time the history will become your personal knowledge vault,
documentation and command reference. Being able to use this personal documentation efficiently can hugely boost your
...
Hi All! 🤗
It is one of the most common reasons why we abandon our personal sites and blogs: at some point, we stop publishing.
But why? Weren’t we so enthusiastic when we started (or restarted) our sites? Didn’t we tell ourselves that this time, we...
Well it’s that time again, migrating for one reason or another listlessly between computers as priorities and jobs change. Here’s a middle-depth breakdown of how I speed-run getting a new machine off the ground.
This post is for Mac computer users who...
Hi All! 🤗
Imagine you post and make new friends on an online network for more than a decade – and suddenly, your account gets suspended for no apparent reason. And there is nothing you can do about it.
Or imagine the online community you were an...
All of us - software engineers - use git every day, however most people only ever touch the most basic of commands,
such as "add", "commit", "push" or "pull", like it's still 2005. Git however,...
Hi All! 🤗
Every day, we browse the Web and scroll our timelines. And every day, we find even more interesting websites, blog posts, articles, videos, podcasts, and other insights and ideas that we want to document, preserve, and share. The most...
The edge of a sheet of paper slices through the tip of your finger and blood begins to flow from the wound. This injury, as small as it may be, must be repaired. Blood cells rush to the site, clotting, scabbing, healing. You never asked for it, but a...
Whilst I love working in the CLI one thing that I've often found a challenge has been navigating across multiple directories in the terminal. Fortunately, I found the best solution I could
Hi All! 🤗
In the last issue, we looked at blogrolls as one way to improve the visibility and discoverability of our sites. Whether or not you want to add a blogroll to your site is a matter of personal preference. But there is something else which...
Why Obsidian is 100% user-supported and not backed by venture capital investors:
We want to stay small, we don’t need to hire lots of people
We follow strict principles that we do not want to compromise
Our users are happy to support us, we don’t...
Python has many options for formatting strings and text, including f-strings, `format()` function, templates and
more. There's however one module that few people know about and it's called `textwrap`. This module is...
I noticed that the URLs were all a little off (had two slashes
instead of one) and went in and fixed it. I did not think
everyone's RSS software was going to freak out the way it did.
PS: this is a...
Hi All! 🤗
“Where have all the websites gone?”
“Websites, as we know them, are dead.”
“Blogging is dead.”
I don’t know about you, but whenever I hear or read statements like that in controversial headlines or viral posts, I can’t help but think: “No!...
Sometimes I build
a custom element,
and then I have second thoughts about it.
hotpink
teal
#22f6
#f226
The first is just
a clever use of CSS.
The second (registered) custom element
simplifies the markup,
but adds a JS dependency.
The...
You’re allowed to have preferences.
That’s what the web is designed for.
Set your preferences.
I’ve been playing with user styles.
Not like fancy site-specific styles,
just setting the defaults that I want.
Slightly larger text,
nicer fallback fonts,...
Hi All! 🤗
One question I’ve heard repeatedly from people getting started with their personal website is “what pages and sections – like blog, photos, about me – does my site need to have?” I asked myself the exact same question when I first started...
Low indoor air quality - or high CO2 - negatively impacts cognitive performance, causes headaches, drowsiness and
more. It's easy to fix though, just use a CO2 sensor and open a window from time-to-time. But why stop there, when...
Hi All! 🤗
At the beginning of this year, I wrote in a blog post which I titled The Year of the Personal Website:
In the search for a permanent home on the web, more and more people are now rediscovering the personal website as a place to share and...
It wasn’t always a great year,
but I’ve been
moving the right direction.
In 2024, the plan is to
just keep moving.
(maybe too literally)
I don’t like to define my year
as a series of measurable OKRs
achieved or failed.
To quote Robin Rendle:
I am a...
Around the age of twenty-two I realized that my worldview had been deeply imbued with pessimism and cynicism. It was the culture I grew up in. A hostility to new ideas, to anything that strays from the norm. An assumption that if things can go wrong,...
Hi All! 🤗
In the previous issues, we looked at how you can choose a domain name, how a personal website can change your life, and what people are using to build their sites.
But Matthias, I hear you say, that all sounds a lot like something that...
The new @scope rule is here!
It’s a better way to keep our component styles contained –
without relying on third-party tools or extreme naming conventions.
Reply via
Email
| Mastodon
| Bluesky
Hi All! 🤗
In the previous issues, we looked at how having a personal website can change your life and what’s in a domain name. Once you’re fired up and registered your domain though, your next decision is probably the one which will have the biggest...
Hi All! 🤗
So, you registered a domain. And you started working on your personal site. Maybe you already got a first version of your site online. Perhaps you even published a few posts. But suddenly, there’s this question in your head:
“But – is it...
Why do people flock to something? What creates an edge, an advantage, a moat? How do things win, or at least survive, in a highly competitive landscape?
Organisms, people, products, organizations, networks. All are able to overcome competitors and...
How I got here is already far too long of a post, so I must include this for all the credits and gratitude I need to extend to those who made this possible.
To my parents: who supported me every single day of the decade+ I have spent behind bars, and...
Following up on the first impressions post, let's solve a
problem in OCaml and compare the Rust solution.
In Response to how well received my last post was
I thought I would follow up with some comparisons between how I would solve a simple...
Humorous article, completely unrelated to, and written before, the others ended up actually on the front page.
The Goal:
To get a post on the front page of the infamous Orange site...
The Plan:
There are four guaranteed strategies. No one knows...
The Why
I'm somewhat of a language nerd to begin with, and it was Rust that originally got me interested in the whole functional paradigm.
Not due to it's lineage, but the heavy use of chained iterator methods in favor over traditional loops....
As a child, you touched something hot, and it burned you. That pain gave you a piece of information: be careful touching hot things.
When you sign up to run a marathon, you are signing up for pain. But whether or not you keep running is up to you....
While Python's `bisect` module is very simple - containing really just 2 functions - there's a lot one can do with
it, including searching data efficiently, keeping any data sorted, and much more - and in this article we will...
My story, and how this is all possible
Introduction
My name is Preston Thorpe, I'm 31 years old and I've spent just under 10 years of my life in Prison (all for non-violent drug crimes.)
I am currently incarcerated at Mountain View...
Hi All! 🤗
Let’s talk about one of the first things to consider when setting up your personal website: the name, or to be more specific, the domain name. Picking a domain name is something people often struggle with, because it comes with a few...
Quality software from independent makers is like quality food from the farmer’s market. A jar of handmade organic jam is not the same as mass-produced corn syrup-laden jam from the supermarket.
Industrial fruit jam is filled with cheap ingredients and...
Hi All!
Welcome to Own Your Web! 🎉
First of all, I’d like to thank you again for signing up! 🤗 When I shared the link to the newsletter last weekend, I did not expect that so many people would subscribe so quickly. I’m overwhelmed by the response and...
Often in creative web projects, I find myself having to take a number, which exists in a specific range of numbers, and find the number that would be in the same position if the range were changed. Examples of this type of operation can vary anywhere...
When positioning dropdowns, tooltips, or context menus with Floating UI (formerly Popper.js), transitions sometimes don't behave like you'd expect. The first time the element is positioned the transition won't originate from the right...
Recently, I acquired a new client with a massive load of technical debt (in other words: a new client). The facility internet connection appeared to go down for an hour or two every day, typically in the mid-afternoon. Complicating things...
Whenever I buy things I try to prioritize cost per use. Sometimes I consider other priorities such as cost per smile, cost per thrill, cost per externality, and cost per lesson.
Cost per use
Considering cost per use helps me make decisions about most...
There are two vim emulator plugins for VS Code that are well known -- amVim and VsCodeVim. I've been using amVim for years, but discovered today that the other emulator works better with one tiny tweak to the default extension settings.
I use Obsidian to think, take notes, write essays, and publish this site. This is my bottom-up approach to note-taking and organizing things I am interested in. It embraces chaos and laziness to create emergent structure.
In Obsidian, a “vault” is...
Whenever I troubleshoot anything container-related, I look for a good container image that contains all the right
tools to troubleshoot and/or solve the problem. However, finding such an image, or assembling my own is time-consuming...
Oscar Wilde once said:
“Consistency is the last refuge of the unimaginative.”
When it comes to ideas, I agree — allow your mind to be changed. When it comes to process, I disagree. Style emerges from consistency, and having a style opens your...
If you want to progress faster, write concise explanations. Explain ideas in simple terms, strongly and clearly, so that they can be rebutted, remixed, reworked — or built upon.
Concise explanations spread faster because they are easier to read and...
From time to time, when coding, we all run into weird behaviours of the programming language. Sometimes it's a
"feature" we weren't aware of, sometimes it's just quirky behaviour of the language, and sometimes...
There is a parasite, I see it everywhere. It consumes your health and wealth. It preys on ignorance and is easy to catch. It’s so common you may not even notice you have it.
The parasite has a simple and attractive proposition: let me take care of...
There is a feeling I search for: being in good hands. It is the feeling I look to give and the feeling I look to receive.
I know I am in good hands when I sense a cohesive point of view expressed with attention to detail.
I can feel it almost...
Couple days ago, I published my 100th article, so I feel like it’s time for reflections — looking at how I got
there, what I learned along the way and whether it was actually worth the time and effort. As well as some thoughts on
...
How many individual electric motors are part of your daily life? Count your electric toothbrush, air conditioner, blow dryer, refrigerator, washing machine. Count the tiny motors that control the focus and zoom of your phone camera.
A modern car has...
There’s a French expression I like:
L’appétit vient en mangeant
Appetite comes when you eat. Nibble and your appetite will grow.
Appetite can be the hunger for any kind of thing, not just food. Some days I wish I had the appetite to write, to read,...
There are certain bugs and issues that are very hard to troubleshoot. Just ask yourself, _"How would I debug
deadlock, segmentation fault, crashing application, or a hanging process?"
_ Now there's a tool to...
etcd is the brain of every Kubernetes cluster, the key-value storage keeping track of all the objects in a cluster.
It's intertwined and tightly coupled with Kubernetes, and it might seem like an inseparable part of a cluster, or...
File over app is a philosophy: if you want to create digital artifacts that last, they must be files you can control, in formats that are easy to retrieve and read. Use tools that give you this freedom.
File over app is an appeal to tool makers:...
Let's imagine a situation - you have multiple Python applications running on Kubernetes that interact with each
other. There's bug that you can't reproduce locally, but it surfaces everytime you hit a particular API...
For the past seven decades, computers have been designed to enhance what your brain can do: think and remember. New kinds of computers will enhance what your senses can do: see, hear, touch, smell, taste.
The term spatial computing is emerging to...
Python is a popular choice for automating anything and everything, that includes automating system administration
tasks or tasks that require running other programs or interacting with operating system. There are however, many ways to
...
Python is 32 years old language, yet it still doesn't have proper, true parallelism/concurrency. This is going to
change soon, thanks to introduction of a "Per-Interpreter GIL" (Global Interpreter Lock) which will land in...
So that when I am busy,
it should be from
an abundance of creative projects,
not a scarcity of time.
Here we are,
1/4th of our way through
the year: 2023.
Today is
Last week was
International Worker’s Day,
or beginning of Q2
if you’re more...
Python is known to come with "batteries included", thanks to its very extensive standard library, which includes
many modules and functions that you would not expect to be there. However, there are many more "essential"...
Not only is tmux my favorite way of managing my workspace, but I can honestly say it's the one piece of software that has had the biggest impact on the way I write code
When it comes to synthetic testing, engineers often rely on 3rd party platforms such as Datadog or New Relic that
provide this type of monitoring. If you're running your applications and services on Kubernetes though, you can spin...
Running live demos can be stressful. You know what you want to say and show. You prepare the CLI commands you want
to run to best showcase what you've built, but then you waste time typing long commands; you make typos; the...
While Python is not a pure functional programming language, you still can do a lot of functional programming in it.
In fact, just one function - `reduce` - can do most of it and in this article I will show you all the things one can do...
TL;DR
One of my most-frequently searched dev tasks over the course of my career thus far has been the “how do I find what process is on a port” to “how do I kill a given process” wombo-combo — there’s always some memory-leaky service running that...
Before I even get into the impetus for this blog post, if you came from a search engine and you just want the code, here’s a demo. Pleasure doing business with you.
Introduction
In a client’s project recently, I found that their Wordpress setup...
This Is That Dreaded Blog Post That Was Foretold
Every blog poster fears that one day this post will be upon them — that painfully self-important and -unaware “Why I’m Leaving ${city}” post. I’m gonna try to do this right; to make this one on the...
I recently saw an online acquaintance of mine share a Controversial Opinion™ that I found challenging:
If you do not have formal training in design you are not a designer.
Right off the bat — L take, and I’m trying not to say that just because I am...
I got an email recently from a kind online friend who said they thought my work was swell, and that they’d like to ask about my process or what makes a good website. Aside from that being a really nice email to receive, it’s also good impetus for me...
In my continued effort to spruce up the site, I added a way to render 🔥 tips and callouts directly from markdown based content. This is all made possible via a CommonMark extension. Turns out it's pretty easy to do because we can extend another...
Torchlight is a syntax highlighting service created by the legendary Aaron Francis (Thank you Aaron, it's awesome!). It generates beautiful code blocks and I love how they look. However, I wanted to take it a step further and add a "Copy to...
Although the Laravel framework has its own conventions, there are several others I tend to follow that (I think) make me more efficient, so I want to share them with the world. These are my personal “best practices” for conventions in Laravel models,...
A lot of the SVG filter primitive content out there is some really rad, deep-dive type content (I’ll link some of these at the end!), so I reckoned it might be nice to do a quick write-up on some effects I use pretty commonly. These are more-or-less...
Don’t let specificity force you into strict selector conventions.
Cascade Layers allow us to manage specificity
without resorting to naming hacks or the !important flag.
Reply via
Email
| Mastodon
| Bluesky
When my Alfred word counting workflow
stopped working (flowing?)
I discovered it was written as a php script –
and could be re-written with JS.
So I did!
I’ve been using Alfred for Mac
as long as I can remember –
occasionally installing ‘powerpack’...
How would our words change
if we were writing for someone in crisis?
Would our language soften?
Would we ask for less?
—Sara Wachter-Boettcher
If you don’t know Sara’s work,
go read a copy of
Technically Wrong –
one of the best tech books I’ve...
An archive of the earliest web browsers –
from WorldWideWeb, LineMode, and ViolaWWW
up through Mosaic.
The first three browsers here
are the ones I know the best.
There are emulators of both
WorldWideWeb
and
LineMode
(though the latter seems to be...
Today is the official release day for Laravel 9. This release is packed full of goodies. Unfortunately, I've been a slacker about upgrading to PHP 8. If you're like me and still on PHP 7.4, here's how you can upgrade.
Updating PHP to...
Hi folks! It's been over a year since an article was published on this site. Yes, I fell off the content treadmill a bit last year. Anyway, we're back! Did you have a good year? Hope so!
My year was fun. Although I shared little on the...
Contentful is an immensely well-featured headless content management system, but the density of its featureset can be daunting to integrate with static site generators. The great news is, Eleventy is so well-designed and modular — it doesn’t have to...
The year is almost over, so get prepared for a flood of year-end posts! Okay, not really. However, there are three I'd like to write — a reading list recap (this one), a 2020 year in review, and a 2021 goal and learning list.
This year I vowed to...
Webmentions are a protocol that allows sites to track when links are made to them and to receive notifications of those links. They are a neat way to keep tabs on the kinds of interactions related to a website or article, such as likes, retweets,...
The ProblemAlthough I do most of my writing in Notion, I have to put posts into Statamic to publish them on my website. For more CSS-based demonstration posts, I needed a better way to display the code and the result. Sometimes code snippets...
Now that I've got a mac with TouchID, I rarely use my password. It's incredible how convenient that little button is. One place I found myself still typing my password was running sudo commands in the terminal.
Here's how you can use...
Friday, I received a snazzy new M1 Macbook Pro in the mail. This article outlines how I was able to set it up for doing web development. We'll set up Homebrew, PHP, MySQL, Composer, and Laravel Valet. Let's jump in!
Heads up! I wrote this...
It's that time of year! That exciting time of... new stuff? In this week's article, we'll take a departure from the normal coding and design writings to explore why getting a new laptop seems like such a big thing in my world.
A New...
Recently I launched Jetty UI Kit — a collection of blocks for quickly making landing page designs in Figma. In this article, I'd like to outline what went into the product, how it sold, and reinforce a few of the lessons I learned along the...
Recently I added a signup form for my email list to the site. Using ConvertKit's API, Tailwind CSS, and AlpineJS and the Javascript Fetch API made it easy to whip up. The result is a form that's much more customizable than the embeddable forms...
This week I launched my first digital product — a landing page UI kit for Figma. Launching a product is something I've wanted to do for years, but I never actually committed and did the damn thing until now. I've been working on a few things,...
Using Figma isn't difficult, but when you can use it efficiently, it becomes a heck of a lot more fun! The following tips will help you improve your workflow. The faster you get, the more productive you are, and the more fun you can have while you...
Figma is a badass collaborative design application. It may seem simple, but there's a lot of power hidden in that simplicity. After years of working with it, I've picked up a handful of practical tips. In this article, I'll share some of...
Anyone can design something that looks good. It just takes some attention to the right details. With design, details matter, but how do you know which details matter most? The answer is that it just takes a little practice and observation. In this...
It's no secret — I'm a huge fan of Alpine. For me, it hits that goldilocks zone between minimalistic and powerful. Alpine is straightforward to get started with, especially if you have a VueJS background. However, there are a few hidden...
Vim can be a polarizing editor, and while it may seem cryptic when you start, it can be incredibly powerful. Many folks never bother to learn vim, which is a shame. Some people go crazy with vim and make it their primary editor. For me, the sweet spot...