A couple of months ago I wrote about making my Eleventy build five times faster by fixing a handful of embarrassing filters. I wrote about developer experience and the feedback loop of "I write a line" and "I see the result." Why am I writing a sequel already? Well, the answer is money. Or more accurately, keeping things free. I'm on Netlify's legacy free plan, which gives me 300 build minutes a month. Right now, despite my previous optimizations, the build time averages around 2 minutes, 45…
Marketing is a key part of any film’s success, but training and case studies are much more likely to focus on the filmmaking than on film promotion. So I went looking for real-world examples of indie movies where the people behind them had published how much they spent on marketing, and why.I ended up with 57 case files, built from interviews, Substack post-mortems, podcast transcripts and the small number of organisations that publish full release ledgers.The four big lessonsAcross the 57…
Over the years I've built quite a lot of stuff for Bear Blog. Themes, add-ons, plugins, fun little widgets, and more. I've always had the same approach: make it "complete and perfect" before publishing. Investing a lot of time, tweaking and testing, then hitting the publish button. Now I feel like trying something new to challenge that OCD way of doing things. Instead of "perfecting" things, whatever that means, I'll just put it out there and build it up piece by piece. I've had an idea for a…
Another week, another heatwave. Not much activity this week as we've been too busy hiding from the Sun. Having said that, I've continued my trend of losing weight! It may have something to do with the heat suppressing my appetite, but I'll take it as a win. I'm now down to where I was about 18 months ago, and I am starting to feel the difference in clothes which is rather motivational. 🎮 GamingOn the gaming front this week, it was once again too hot for me to want to sit in my study in the…
Have you head of the Swiss Cheese model? You see it sometimes in descriptions of how complex systems fail. The visual usually goes like this: The whole idea is: even if you have multiple layers of safety – like many slices of cheese – there are always holes in each slice. Typically, a hole in any slice is covered by a non-hole in the previous one or the next one. (For example, a car might not allow you to grab your keys if you have not shifted to park – or, if you start driving with a handbrake…
I saw a post today on Bubbles about enjoying sites for the design and how that can be lost in your RSS Feed Reader. I completely agree and while my site is not one of those I know many blogs that I enjoy for the content as well as the design. I would like to recommend an app for that situation although this is iOS/iPadOS and MacOS only so unfortunately for PC and Android users I don't have an answer, but the app is called Current and allows you to control your RSS in so many ways it can be a…
Every weeknote and monthly summary, I list all the videogames I played. There are a few things that I do to help myself keep track of it all. Some tools I’ve mentioned here and there, but never all in a single post. I won’t really be making any specific tutorials, but leads in the right direction, in case you are interested on tracking your gaming like me. I’ll be honest, while a lot of these tools are pretty easy to set-up, there’s still a lot of manual work required to have it all nice and…
Setup a Simple, Self-Hosted Web Server with OpenBSD 2026-07-18 This website is being served to you from my HP T630 thin client, running OpenBSD and httpd. Pretty cool, right? And best of all you can do the same! I’m going to walkthrough how to host your own websites locally on OpenBSD. This guide is going to be kept simple on purpose, so feel free to expand on it as you see fit! Requirements Getting Started Wireguard The VPS The Local Server Basic Web Server Give Back to the Community…
Hello, loves! OK, let’s do the thing we love: find something to improve, and improve it. Shall we start where we left off? Result: Not as joyful as some days. We pared down the RoomView by removing its references to layout, dungeon, and dungeon view, passing them as parameters when they were needed. Pretty much what the received wisdom would suggest and I’ve done it many times and don’t recall ever regretting it. There is a place for encapsulating a bunch of objects that need to be processed…
#TIL that #Emacs also has a Global Mark Ring: the global mark ring records a sequence of buffers that you have been in, and, for each buffer, a place where you set the mark For programming buffers / projects, I've been using the xref stack to go back/forward when jumping around. But the global mark ring is super useful as a general purpose tracker of my context jumps. By default, C-x C-<SPC> jumps back. There is no forward like xref-go-forward, but it' a ring so it's possible to go around. Or…
I’ve decided that Archive sounds dry and musty. It’s a rare reader who would venture into a section of a blog called Archive. So I’m rebranding to Explore. All my hundreds of post titles are still listed by date and you can click on them to read the articles. But you can also filter those titles, do full article searches and, best of all, roll the dice for a random post. I’m having a blast reading posts from ye olden times. Some are about hot new apps that have since disappeared without a…
Good morning, programs. I'm currently at a conference (Day of Data), but thankfully one just down the road. I'll be back tonight, and thought I'd take a break between sessions to share some links. I'll be presenting later today one of my favorite talks, "A Beginner's Guide to Wrangling Asynchronicity in JavaScript". I love the talk, but given I'm up against eight other talks at the same time and I'm not talking AI... well it may be a small personal affair. We shall see. Building a Blog with…
So let's say you've had enough of all the ads, the tracking, the promoted posts, the I'm Never Seeing Anything my Friends Post, and you want... a different experience. One where it's not the billionaires deciding what you get to see or what you should be interested in, but one where you see what you signed up to see. Radical, I know. This is possible. Alternatives exist. They are out there. You can join them today and try them out! This is Part II of a series on exactly that - Alternatives. You…
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, and close to the controls. It wants to be a menu. The hardware makes this arrangement feel inevitable. Android does not. Android sees displays, activities, tasks, focus, and a default screen. It can put software on both panels, but it has no idea…
With several developers and a great deal of production servers we need access to, managing SSH keys and access across them all was getting complex with potential for mistakes and missed authentication. Instead, we decided to set up a bastion/jump host (with a redundant backup) - this means the client servers need just 2 SSH keys added and we manage authentication and access for the team in a central location. Note: This post has been sitting in my drafts for years and I'm posting it out of…
Here’s my little thought: Humans find AI output to be subtly disgusting and avoid subjecting themselves to it. Because that seems to be the only reasonable explanation for stuff like this: Again and again we see people having an LLM generate text and then somehow avoid reading before posting. Sure, people are lazy, and laziness is the go-to explanation for everything, but: We see renowned mainstream book publishers publish books containing phrases like: “Of course – here you will find the text…
praeobscura:I am cross-posting my resource list for the Noemata zine here. Alas, if you lose this post, you must endure the long journey of searching for where else* I have linked them.(*The updated description of the zine page.)——ConlangingPolyGlot: Spoken Language Construction Kit - Free software for keeping track of multiple conlang projects in a single database.Quothalinguist - The personal website of Jessie Peterson, the professor of linguistics who created the well-known Conlang Year…
Under partial failure, retry loops can rearrange history. If order, duplication, or staleness matters, retry needs state.
Armin theorizes that this is because more recent Anthropic models have been specifically trained (presumably via Reinforcement Learning) to better use the edit tools that are baked into Claude Code. This has the unfortunate effect that other coding harnesses, such as Pi, may find that their own custom edit tools are more likely to be used incorrectly. Claude’s edit tool uses search and replace. OpenAI’s Codex uses an apply_patch mechanism instead, and OpenAI have talked in the past about how…
I’ve cancelled my Claude Pro subscription. It wasn’t out of any dissatisfaction with Claude; on the contrary, I still think it’s the leading LLM for general use and especially for coding. No, my choice was more because I realised I was wasting money. I already pay for Kagi, and even upgraded to their Duo plan so I could give my wife a search engine that works for her (versus the other way around). As part of that subscription, I can use Kagi Assistant. For general-purpose ‘consolidated search’…
This comment from Bruno, on Bluesky (pt_BR): Instagram launches new tool that drains your entire bank account and kills your family. Here’s how to turn it off 👇 Instagram doesn’t (yet) do that. His joke references the recent news that photos from public Instagram profiles could be used to generate new images on WhatsApp with Meta AI, Meta’s generative AI, which also owns Instagram. The press picked it up and led with “Here’s how to turn it off” in the headlines. (My tip? Deactivate or delete…
I was recently a ‘guest’ on Dan Hon’s new online event type thing – How People Work…LIVE!. The session is on Youtube – I will never, ever look/listen at that but maybe you will. It was a pretty nerve wracking occasion given some of the folks who attended (at least three of whom I was directly referencing) and the format which was very free-flowing and podcast-y. Which I do like but it does spike the adrenaline somewhat. Dan has upcoming conversations with Pavel Samsonov and Russell Davies (and…
How do I get the audio output from my stereo to somewhere else?
For most of us, I think the picture is obvious. The job we did for years, picking up a ticket, opening Figma, digging through the codebase, typing code into a file, adding a test, debugging the test, jumping to Stack Overflow, getting in the zone, and grinding on a single task for hours, those days are ending. Everything that took us so long to get good at, learning the language, memorizing shortcuts, understanding Git, all of it, can now slowly be handed off to agents. It’s the same reason we…
ℹ️ TL;DR The technical companion to part one. If your web app has a Playwright end-to-end suite, you already own most of a training-video studio. This post walks through what it takes to turn one into the other: a small helper vocabulary, an injected overlay, honest fixtures, and a build pipeline, with the lessons I picked up at each step. Part one told the story; this post is the how. The pitch, one more time for the people who came straight here: I generate silent, captioned training videos…
ℹ️ TL;DR I taught my software test suite to record training videos. They star the real application, they narrate themselves with captions, and when the app changes, I rebuild them with one command instead of re-filming anything. The system was invented in an evening to teach one person her own custom software; the next night it made a forty-nine-video library for LocallyGrown.net. This is the story; a companion post has the technical details. Modern software developers write automated tests for…
YouTube now adds a query parameter that discloses who shared a video. This is annoying, but thankfully there's a userscript that sanitizes and strips the tracking info from the URL.
♠ TIL: brew pin. For reasons to be elaborated in another post, I am currently prevented from upgrading LogSeq to its latest version in homebrew: % brew outdated [...] logseq (0.10.14) != 2.0.1 [...] LogSeq v2 introduces breaking changes to my workflow. I found this out the hard way. As put by Valodim in HN: And now after several years of complete stagnation, the supposed improvement is a database format to fix their technical issues, so I can no longer keep all my data as markdown files? At a…
Now, the same lengthy Pomeranian piece could’ve been blooped out by a bot in 1 0 seconds flat. Impossible to tell if any effort went into writing it. This ease makes it hard to connect with others over shared interests, and harder still to convince people to change their mind about an issue. A . I. is making it easier than ever for people to put the ir t hough ts into writ i ng. A nd tha t’s a problem. In this document , I will review the l atest ways in which people are restorin g trust in…