Chosing between "it works for now" and "it works in the long term"

A comment on my entry about how Netplan can only have WireGuardpeers in one file mademe realize one of my implicit system administration views (it's thefirst one by Jon). That is the tradeoff between something that worksnow and something that not only works now but is likely to keepworking in the long term. In system administration this is atradeoff, not an obvious choice, because what you want is differentdepending on the circumstances.

Something that works now is, for example, something that works


Netplan can only have WireGuard peers in one file

We have started using WireGuardto build a small mesh network so that machines outside of our networkcan securely get at some services inside it (for example, to sendsyslog entries to our central syslog server ). Since this is all on Ubuntu, weset it up through Netplan , which worksbut which I said 'has warts' in my first entry about it . Today I discovered another wart dueto what I'll call the WireGuard provisioning problem :

Current status: provisioning WireGuard endpoints is exhausting, atleast


I moved my local Firefox changes between Git trees the easy way

Firefox recently officially switched to Git , in a completely different Git treethan their old mirror .This presented me a little bit of a problem because I have acollection of local changes I make to my own Firefox builds, whichI carry as constantly-rebased commits on top of the upstream Firefoxtree. The change in upstream trees meant that I was going to haveto move my commits to the new tree. When I wrote my first entry I thought I might try to do this insome clever way similar to


LLMs ('AI') are coming for our jobs whether or not they work

Over on the Fediverse, I said something about this :

Hot take: I don't really know what vibe coding is but I canconfidently predict that it's 'coming for', if not your job, thendefinitely the jobs of the people who work in internal developmentat medium to large non-tech companies. I can predict this becausemanagement at such companies has *always* wanted to get rid ofprogrammers, and has consistently seized on every excuse presented bythe industry to do so. COBOL


These days, Linux audio seems to just work (at least for me)

For a long time, the common perception was that 'Linux audio' wasthe punchline for a not particularly funny joke. I sort of sharedthat belief; although audio had basically worked for me for a longtime, I had a simple configuration and dreaded having to make morecomplex audio work in my unusual desktop environment. But thesedays, audio seems to just work for me, even in systems that havesomewhat complex audio options.

On my office desktop, I've wound up with three potential audiooutputs


The HTTP status codes of responses from about 22 hours of traffic to here (part 2)

A few months ago, I wrote an entry about this topic , because I'd started putting insome blocks against crawlers, including things that claimed tobe old versions of browsers , and I'dalso started rate-limiting syndication feed fetching. Unfortunately,my rules at the time were flawed, rejecting a lot of people that Iactually wanted to accept. So here are some revised numbers fromtoday, a day when my logs suggest that I've seen what I'd callbroadly typical traffic and


The complexity of mixing mesh networking and routes to subnets

One of the in things these days is encrypted (overlay) meshnetworks , where you have a bunch of nodes and thenodes have encrypted connections to each other that they use for(at least) internal IP traffic. WireGuard is one of the things that can be used for this. A popular thing toadd to such mesh network solutions is 'subnet routes', where nodeswill act as gateways to specific subnets, not just endpoints inthemselves. This way, if you have an internal network of serversat


Being reminded that Git commits are separate from Git trees

Firefox's official source repository has moved to Git , but to a completely new Gitrepository, not the Git mirror that I've used for the past fewyears . This led me to a lament on the Fediverse :

This is my sad face that Firefox's switch to using git of course hascompletely different commit IDs than the old not-official gecko-devgit repository, meaning that I get to re-clone everything from scratch(all ~8 GB of it). Oh well, so


The appeal of keyboard launchers for (Unix) desktops

A keyboard launcher is a big part of my (modern) desktop , but over onthe Fediverse I recently said something about them in general :

I don't necessarily suggest that people use dmenu or someequivalent. Keyboard launchers in GUI desktops are an acquired tasteand you need to do a bunch of setup and infrastructure work beforethey really shine. But if you like driving things by the keyboard andwill write scripts, dmenu or equivalents can be awesome.

The basic job of a pure keyboard launcher is to let


Updating venv-based things by replacing the venv not updating it

These days, we have mostlyswitched over to installing third-party Python programs (and sometimesthings like Django) in virtual environments instead of variouspast practices. This is clearly the way Python expects you to dothings and increasingly problems emerge if you don't . One of the issues I've been thinkingabout is how we want to handle updating these programs when theyrelease new versions, because there are two approaches.

One option would be to update the existing venv in place, throughvarious 'pip'