tag(s): #failures #programming #overblown-minor-annoyances Here is a link to part 1. If you don't feel like reading it: I had an LLM write a minimal MCP server to expose Emacs, and I figured if I am going to use these tools, at least make them work in a way that I enjoy. So I kept iterating on that initial setup. Tools maturing A couple weeks ago I felt like I needed to change the name of the mincp repository. For starters, it wasn't minimal anymore. And also, it morphed so much. It went from…
Part of the ongoing Big Tech's War on Users series.When I wrote Part 1 of the privacy asterisk series back in April, one of the smaller points in a long list was that "Hide My Email" doesn't mean what it sounds like it means. There are documented cases of Apple handing over the real address behind a Hide My Email alias to federal agents, under warrant, exactly as their terms of service say they will. Nothing improper about that — Apple followed the process. The problem was the gap between what…
NOTE I used LLMs to help debug some of the code explained below, and ended up throwing away a lot of it while re-reviewing that work as part of writing this post. People have strong opinions on the use of LLMs and I don’t want them to feel misled by discovering partway through that this work involved an LLM, so here’s your PSA. First, some background. Claw is an Android app for browsing the linkblogging community known as Lobsters. For years, the app relied on a JSON API to interact with the…
The Old Icelandic Calendar, called Misseristal (translated as semester count), was started in the 10th century, continued until the 01700s, but its shadow lives on today. The calendar was designed to have exactly 12 months of 30 days. That’s 5.25 days short of a solar year. The other unique aspect of the Old Icelandic calendar is that the months always start on the same day of the week. Sólmanuður always starts on a Monday, Heyannir always starts on Sunday. To keep the months starting on the…
I gave three short talks at this year’s HTTP Workshop. Increase and evolve HTTP/3 & QUIC Slides: mxinden-bot.github.io/slides/04-quic-discussion A discussion deck. HTTP/3 sits around 30% and has plateaued. I cover the ways to measure that share. Then what holds adoption back: server and framework support; “security” software and enterprise middleboxes that break QUIC; and the server-side performance gap to TCP. I raise QUIC v2 as an anti-ossification concern, barely deployed. I close on the…
Apptorium, the developers best known for SideNotes, is running a sale from July 20–31 on some of the most recommended apps in their category. Get Details . Apps on Sale from Other Developers CleanShot at 20% off DaisyDisk at 30% off ForkLift at 30% off MindNode at 20% off Nova by Panic for 40% off SetApp for 20% off Apptorium's Own Lineup Apptorium is putting their entire lineup on sale: 40% off SideNotes for Mac, iPhone, and iPad 50% off Workspaces and Desktop Composer 30% off License Store…
Keeping track of which developer is connecting to which server can be a job in itself. There are plenty of ways to handle it, from sending logs to dedicated software to writing them to a file that someone has to check manually. Our sshpiper [https://github.com/tg123/sshpiper] setup takes a different approach and sends a Slack notification to a dedicated channel whenever a connection happens. This means we can keep an eye on things and quickly confirm that connections are genuine and expected.…
Every so often, I publish a blog post with a longer title. When this happens, sometimes the post title wraps onto a second line in my list of blog posts on my site home page. This was a tiny detail, but one that I would often notice.Last night, I brought the design to Front End Study Hall, and asked what I could do to make the text better aligned. For context, the following screenshot shows the grid of links on my home page, with one post, the post about an IndieWeb event in the Southeast Asia…
As usual, part 2 of the weekly deals with speculative, regulatory, political and alignment questions. Xi gave an important speech yesterday, so this post opens with that. There is talk that Kimi K3 is sufficiently strong that it upends many of these questions. It is clearly a candidate for another DeepSeek Moment, complete with stock drops for Google and SpaceX and (once again in a clear wrong-way move, the same as last time) Nvidia. Kimi K3 is clearly a very good model, exceeding expectations.…
A practical conference session on building PHP extensions with Go and FrankenPHP, then wiring them into Laravel and Symfony as native-feeling features. It uses an in-memory LRU cache as the example and offers a nice tour of framework flexibility and PHP internals. Read more
The petri dish sits under a hood of soft yellow light, humidity monitored, oatmeal flakes portioned out like communion wafers. Inside, a yellow blob called Physarum polycephalum is doing what it's done for hundreds of millions of years before Spotify existed to ruin our attention spans: it's thinking without a brain. It's solving mazes. It's building networks. And in Stephanie Rentschler's installation SlimeMoldCrypt, it's generating encryption keys its designer says not even a quantum computer…
Check out this recent test by the Swedish Navy of the BAE Bofors 57mm Mk3 naval gun system (the Mk 110 in the U.S. Navy), engaging aerial and surface drone targets during live-fire counter-drone exercises aboard the Göteborg-class corvette HMSwS Sundsvall (K24), based at Berga naval base and part of the 4th Naval Warfare Flotilla. The mount is using Bofors’ 6-mode programmable 3P (Pre-fragmented, Programmable, Proximity- fused) ammunition, of which both the Swedish and Finnish fleets agreed to…
TL;DR Link to heading Put a long signed token in an email link and you have built a bug that fires deterministically for some recipients and never for others. MIME quoted-printable wraps lines at column 76, some mail providers re-encode the message and mangle the escape that lands on the wrap seam, and if the first seam falls inside the token a single flipped character makes the signature stop matching. The page returns 404. The fix is to keep the URL credential short, an opaque id resolved…
A month ago, this website moved to a custom engine that I built myself, one I call Jot. Why did I create it? Because I got tired of almost. Almost the right editor. Almost the right publishing flow. Almost the right feature set. Each option did something I liked. None did everything that I wanted. So I built exactly what I want and nothing more. The biggest difference from everything I have built before? No customisations. For my whole life, I have been building stuff that I want others to…
I really like how @morgen.blue’s ”discover” page is coming together. Especially the expand interaction 🪄 View on site | Reply via email Too much for one feed? Subscribe to just Posts, Notes, Photos, or Races.
I was working with an agent to produce a new widget. I gave it a research task, gave it a direction, and when it came back I immediately stopped prompting it further to investigate what it did.
Yeah, this guy.
Project Aces (from the Ace Combat series) has one of the best videogame OSTs ever. I am1 finally pleased2 to find their whole collection available on Spotify as of 2026. Previously, only a handful of them were available. No more fiddling random playlists on YouTube Music! See also: radio. I’m not the only one. ↩︎ I am also very pleased about the upcoming release of Ace Combat 8: Wings of Theve (Oct 2nd, 2026). I wasn’t aware of it until now! Too bad I don’t currently have any hardware to play…
Previously. Problem statement: I manage a few dozen repos via myrepos (mr), and I wanted a single command to show which ones have work in progress (“WIP”) — uncommitted changes, dirty staging area, stray branches and alike. I want essentially a filtered version of mr ls. So I defined my own command. A repo is not WIP when all three hold: the default branch is checked out; no other local branches exist; and the working tree is fully clean. Anything else gets flagged with a reason. The…
SGF files describe a board game like Go, including all the possible variations someone wants to talk about. Let's write Rust to parse one of these files! They look something like this: (;FF[4]GM[1]SZ[19];B[aa];W[bb];B[cc];W[dd];B[ad];W[bd]) Follow me on mastodon: @andybalaam@mastodon.social
Hey there. Quick update: Street-Smart Coding Manifesto is almost done. No more hunting for typos. If you preordered, I’m sending a preview next week. And as usual, here are 4 links I thought were worth sharing this week: #1. Google search (if that’s still a thing) and LLMs are great for quick facts. When was America discovered? But the real problem is offloading our thinking to AI (10min), even for simple tasks. #2. LLMs often reply “You’re absolutely right.” For your next project or idea, get…
Find out if your favorite feature have made it to the latest Flutter SDK https://filiph.net/text/are-we-there-yet.html
I don't know why. I just thought having random emojis appear in my website's footer seemed appropriate. I actually didn't think of this myself. It was the random emoji of my favourite designer/artist's website that inspired me to do this (but in her case not random in the sense that it's a randomised emoji but rather that I just thought the idea of having an emoji in the footer in the first place to be very random—in her case it's an emoji of a Chinese takeout box). Implementing my random…
I've always been a fan of retro tech, and this became even more true after AI swooped in and removed the soul and passion of all modern technology. I often go to my local second-hand stores to look at their games section in search of old gems, but I also pass by their electronics section because that's usually where they put the retro consoles themselves. This time however I found something much cooler: a 1978 Panasonic RQ-2106 shoebox cassette tape recorder for less than 10 euros. I remembered…
Google is playing the EU game much better than Apple, but the EU still doesn’t seem to understand how privacy and security work in modern platforms. Letting people swap the onboard agent is being treated much like the ancient argument over shipping/default browsers–politically correct, bureaucratically led and technically much harder than changing a default handler. An agent may need access to personal data and privileged APIs, and keeping a third-party agent away from things it should not…
Reynard Browser is an experimental Gecko-based web browser for iOS 13+.
The SwissDelphiCenter (archive.org) site closed down a few months ago and I could not find any other way to get at the Delphi Tips database they were hosting. So I vibe coded a scraper script that extracted them from the Internet Archive and converted them to a format that can be imported into the GExperts Code Librarian (currently you need to compile a GExperts dll from the sources for this functionality). So, here is the download link. Just in case you are concerned about the load that…
When working on my latest book, The Secret Life of Circuits, I wanted to keep the artwork real. My main beef with the diagrams in popular electronics textbooks and online tutorials is that most of them are fake. At best, they’re retraced from ancient texts; at worst, they’re sketched from memory and can be charitably described as “based on true events”:An assortment of V-I plots for diodes, collected on the internet.The Secret Life of Circuits contains about 290 original illustrations and no…
Stiva 1.0.5 is live, and it's the first version of the app anyone outside a closed test group can install. Everything before it, 1.0.0 through 1.0.4, stayed inside a private testing track with a small group of testers. This is the one I'm actually calling public. I wanted to mark the occasion properly, explain a few things about how the app and this blog will work going forward, and be upfront about a couple of rough edges you might run into. What "1.0.5" actually means I already wrote about…