pleroma.debian.social

pleroma.debian.social

Jonathan Dowland | @jmtd@pleroma.debian.social

Principal Software Engineer on #OpenJDK #IBM. #Debian developer. PhD in Computing Science. Amateur historian (Computing Science and H/W, esp. Commodore Amiga). Guerilla archivist.

Does anyone subdivide files etc by decade? I usually use by-year, but the lists are getting long. Something like

```
├── 199
│ ├── 1998
│ └── 1999
└── 200
├── 2001
├── 2002
└── 2003


```

I missed the rsyslog ai drama

New blog post: More lava lamps
https://jmtd.net/log/lavalamps/more/
I bought some new bottles for my lava lamp, so I write about the colour combinations I have chosen. With pictures.

@brunogirin yes. When I hit this I took it for granted that accepting file descriptors actually made sense for someone, then it was pointed out to me, the file descriptor is not a path. Why did they even add this? I wondered if it was inherited Legacy, but they explicitly added this in 3.3.

@fred perhaps there is hope: for those of us inclined and sufficiently skilled, there remains a need for taking a machete to processes, and understanding how to do things simply. We’ll be drowning in work!

what I hadn't realised was, things will get worse, not better: I'm now seeing systems that are complex beyond human reasoning, because humans *aren't reasoning about them*. >1kloc bash scripts embedded within >2kloc YAML files, that are not independently developed or tested, stuff like that

One consequence I thought would follow from vibecoding was, systems are not going to get simpler: when two bureaucratic processes interact, and those processes are aided by automation, there's less incentive to cut through the bureaucracy and simplify the underlying processes

The stupidest thing was discovering that `os.path.exists` can accept integers, and treats them as file descriptors, meaning `os.path.exists(0)` is true, and anything that coerces to 0 is also true for example the Boolean value false

Yesterday was quite unusual for me, I spent a whole day on one thing, writing python. It was also mostly quite pleasant.

I’ve reached half a day fighting $REDACTED_INTERNAL_CICD and can stomach no more. On to something else

@cstross @Gnuxie someone tell redhat (or IBM) that hah

ER has appeared on Netflix. Very happy

Huh, replicateM (where "M" once meant "Monad") now operates on Applicative. I can see how that happened, the API is being preserved (it's still in Control.Monad). I guess it's like map and fmap not being the same. #haskell

@labr @bodger hey I tuned in a little earlier and enjoyed what I heard, thanks!

@b0rk @Anarcat the sidebar specifically? (neo)vim does, but it takes some coercing to put it there. I would not recommend (neo)vim as default man pager (or editor) for beginners (despite using it myself)
screenshot of neovim displaying Man bash(1) in the main, right-hand pane, and its outline in the left-hand pane

@davidgerard that post is a *goldmine*

New blog post: Lanzarote
https://jmtd.net/log/lanzarote/
A stream-of-conciousness blog post to get back into the habit, discussing our holiday to Lanzarote, Autistic Burnout, the UK special needs education system, Pandoc parsers, the AI control problem and the issue of copyright and LLMs. #software #debian

New blog post: FOSDEM 2026 talk recording available
https://jmtd.net/log/fosdem/2026/video/
The video recording and slides for my FOSDEM 2026 talk (Java Memory Management in Containers) are available. I hope to write a proper postmortem blog post soon. #containers #java

@rivets I thought I did too ;) At some point I want to look at making blog posts first-class Fediverse objects

https://jmtd.net/log/lanzarote A stream-of-conciousness blog post to get back into the habit, discussing our holiday to Lanzarote, Autistic Burnout, the UK special needs education system, Pandoc parsers, the AI control problem and the issue of copyright and LLMs.

»