Why Is Mastering Computer Programming So Hard?
After two decades of programming, I still don't feel like a master. Why? Because programming is complex, changes all the time and invites comparing ourselves to fantasies.
AI News – May 4, 2026
Quick Brief Featured story today: “Llama.cpp MTP support now in beta!” And more models & releases news from the AI universe – Photo by Solen Feyissa on Unsplash. Today’s Hot Posts…
Deep Learning for Volatility Surface Repair
A self-contained synthetic benchmark of a small mask-conditional CNN against calendar-projected linear interpolation and a per-slice SVI fit. A volatility surface marker is rarely a clean rectangle…
macOS Scripted Setup: Version 2 released with macOS 26 Tahoe-compatibility & Config Wizard
Now even easier automatic set up of a new Mac or User with customised system settings & apps.
Learn Your Tools
If you don't know how your tools work, you're guessing. Learn the seams.
Claude Design fundamentally altered my understanding of AI
“I’m glad the partnership is unlocking the part of the work that felt heaviest. Let’s get the widget from design B into your codebase…” - Claude Design. That was Claude Design’s response when I said…
EarthBucks 2.0: Making EBX Real
EarthBucks 2.0: Making EBX Real
Avoiding MCP Confused Deputy With AAuth
MCP’s Authorization Spec builds heavily around OAuth 2.1 authorization code grant, but the more dynamic AI agent and MCP systems get, the more we need something that is built to live in this new…
Wytcher and why I don't want to download YouTube Videos anymore
Bot Gate is real: I wanted to build something like pinchflat but wound up running into a strange issue that I haven't been able to resolve. YouTube is not a fan of ytdl (shocker) and works really…
Advanced filtering in Git commands
Learning more about Git pathspec: negative patterns, attributes...
Using Val Town and Gemini for Sports Ball Stuff
This is trivial as heck as the kids say, but I really want to explore Val Town more this year and I thought of a great, and simple use for it. Both my wife and I are big Saints fans (this is their…
[Video] On .NET Live - Shaving the outbox pattern yak
Got the chance to talk about the transactional outbox pattern “On .NET Live”, sharing the recording here if anyone’s interested.
Everything You Always Wanted to Know About Sprints!
Who is at the sprints? Sprints at PyCon US are organized by the attendees. The conference provides the space with tables, power strips, Internet connectivity, and, for the first two days, catered…
The Missing Half of a Daily Planner
How I added notes to Finalist, with native notes and folder-backed markdown side by side.
Silvio Lorusso – Coding to Learn
Silvio Lorusso’s essay Learn to Code vs. Code to Learn: Creative Coding Beyond the Economic Imperative was an eye opener […] The post Silvio Lorusso – Coding to Learn appeared first…
Conversation on the first koan of “Kotlin Koans”
Conversation on the first koan of “Kotlin Koans” Source: https://github.com/weakish/weakish.github.com/issues/10 (I find no elsewhere to comment, so I click the link for the feedback and redirected…
Tip - How To Embed Video In Jekyll And HTML
In our previous post, “Tip - How To Quickly Move Lines In Your .NET IDE”, we looked at how to move lines of text in your IDE.
XProc Gradle plugin
Volume 10 , Issue 23 ; 04 May 2026 Announcing a new Gradle plugin for XProc that supports both XML Calabash and MorganaXProc-III. This is a bonus Markup Monday post because I’m one behind (the 20th…
Direnv env var additions, overrides, and removals
Direnv env var additions, overrides, and removals
The Tests We Skipped
I argued for tests, trunk-based development, and against the PR-rubber-stamp ritual for twenty years. Most teams didn't listen. Now AI is shipping in hours, the bugs are shipping in hours, and the…
Agents are the new compilers. Specs are the new code.
Linus Torvalds recently said1 AI will be to code what compilers were to assembly — freeing us from writing it by hand. Around the same time, I talked with Jesse Vincent (creator of one of the most…
XML Resolver version 6.0.23
Volume 10 , Issue 22 ; 04 May 2026 Closing in on 6.1, this release exercises the new build infrastructure, mitigates a couple of Microsoft CVEs in the C# resolver, and adds support for “new” HTTP…
Code agents are bad at Software Architecture - for now
Hello from paternity leave, week three. There wasn’t an amux release last week because I've gotten so fed up with the patchwork design of the amux codebase I've decided to burn it…
The Code Was Never the Job
Five of us build swamp. None of us write code. Agents write it, review it, test the binary. The work didn't shrink — it shifted to the decisions that were always the most valuable.
My new hobby: Asking LLMS to generate ASCII Hamsters
I was playing over the weekend trying to write POC of C# interactive console. It is not ready yet but I wanted to have some cute hamster as logo for this project – I will probably incorporate…
claude: /powerup
Previously. Run /powerup within Claude Code: ▐▛███▜▌ Claude Code v2.1.126 ▝▜█████▛▘ Sonnet 4.6 · Claude Enterprise ▘▘ ▝▝ /Users/thiago.perrotta ❯ /powerup…
Redis array type - short story of a long development
For high quality system programming tasks you have to still be fully involved, but I ventured to a level of complexity that I would have otherwise skipped. AI provided the safety net for two things:…
Changelog: New Images, Search
More making the site better with Claude.
Creativity in Computer Science
A recent project: working with University of Oregon computer science professor Michal Young to develop graphic interludes for open-source computer science textbooks. Interlude 1, “Conquering…
Relay 0.4.3
A new version of Relay is here. This build features a handful of small performance improvements and bug fixes, a new app icon, super-sized emoji-only messages, and preliminary support for threading.…
Structure Was Always the Hard Part
My friend Koushik Dasika wrote a post last week called “Coding Was Never the Hard Part.” He’s right. The interesting question is why we’re only able to say it out loud now.…
rusty wisdom — anyhow
if you find regular error handling to provide too little information, try the anyhow crate out. it allows you to supply context to every returned Result, creating a proper, human-readable stack when…
Whatever Compiles #002 — Spamming the Infrastructure
OpenClaw battle with Anthropic and Fun things I saw and read
Walkthrough for exercise 25 by Sofia Santos on Gralhix
A write-up walkthrough on how to solve open source challenge exercise #025 by Sofia Santos on Gralhix with answers.
Better pasting of markdown into Collabora Online Writer
Writer has a markdown import/export filter in Collabora Online, see the post from December for more info about the filter in general. This post is meant to detail a recent improvement when a markdown…
Building a MCP Server
Introduction Model Context Protocol is a standard method for connecting GenAI to external systems. It’s widely adopted and tools like Claude and Gemini have comprehensive support for MCP.…
Bluesky Comments
ImportantEDIT: I WROTE ALL THIS FUCKING SHIT AND FORGOT TO CREDIT THE AUTHOR OF MY JAVASCRIPT CODE! FUCK MY STUPID LIFE! I'M SORRY JONATHAN!The javascript & css for the bluesky comment support from…
A Better Way to Evaluate Money Laundering Detection Algorithms
Each day some trillion dollars change hands in any sort of financial transaction. Hidden in this money ocean there are also fraudulent actors, which attempt to sanitize illicit money by making its…
2026-19
pyinfra lets you run remote commands on servers, like Ansible, but much quicker and with Python instead of YAML.
Building AI skills like checklists
Every weekday morning, someone on the AI team at incident.io kicks off our spend report skill. Claude pulls a dozen BigQuery queries, computes a 7-day baseline range for the KPIs we track, hunts for…
Bootable QEMU image menagerie with rootless debootstrap
Quite some time ago I shared a script and methodology for performing a cross-architecture debootstrap in a rootless way . I had a short note on producing an image bootable in QEMU, but it was fairly…
Building (and Evaluating) a Codebase Onboarding Skill for Claude Code
onboard is a Claude Code skill that scans the working directory, builds a summary of the codebase, and caches it so future conversations can skip discovery.
Succinct trees
Previous slides: Rank & Select, Elias-Fano Link to heading Rank: counting 1 bits 2 levels of blocks of length \(\log^2 n\) and \(\log n\) Select: finding 1 bits 2 levels of blocks with \(\log^2…
Word counter that ignores Markdown
For when I want a word count that ignores Markdown symbols
Quality Matters
Code quality means API Quality means customer experience means less churn and more growth. Also in this newsletter: Swagger support for OpenApi 3.2.0, Hey API, and how to deal with OpenAPI Changes.
Developer Diary, Anti-Bullying Day
This week's projects include the blog's code and library updates.
I Crawled 65,000 Pages of My Own Site Without Parsing a Single Line of HTML
Somewhere between talks on day one, I think it was during a hallway conversation about how badly LLM crawlers struggle with rendered DOMs. A question I had been chewing on for months finally…
I Built Server-Side Rendering for Aurelia 2
Aurelia 2 has had server-side rendering sitting in that slightly annoying place where the core has the right foundations, but app developers still don’t have a tidy package they can install and…
When Too Many Maps Overlap on One Person
Why engineering teams turn one trusted person into a decision bottleneck. How informal authority, hidden context, and single points of failure slow delivery
I Bought a Denon for My Wedding. Twelve Years Later, I Vibe-Coded Its Radio Back to Life.
Twelve years ago today, I bought my first audio amplifier. The email is still in my Amazon archive. May 4, 2014. Order #202-6562632-2973945. Denon AVR-X3000. £429, one-day delivery to a small flat in…