movq

www.uninformativ.de

No description provided.

In-reply-to » First draft of a file selection popup / widget:

@lyse@lyse.isobeef.org Yeah, it probably would look better. I might fix that. It’s just laziness, the implementation was easier this way. 😅

Glad you find it interesting! And honestly, I agree, nobody but me would use this anyway. There are more mature and featureful toolkits out there.

⤋ Read More

As I said, I’m on vacation, and for about a week now, I did basically nothing but sleep. Day or night.

I can’t tell if this actually is a vacation or just therapy for burnout. 🤔

⤋ Read More
In-reply-to » @lyse @tftp Someone has pointed out that there’s OpenRsync:

Actually, I’m stupid: I’m using the normal rsync on OpenBSD as well.

And regarding OpenRsync’s general usability:

https://marc.info/?l=openbsd-misc&m=178090751524547&w=2

Right now openrsync is limited in functionality and is primarily present
for rpki-client. The limited functionality makes it unusable for generic
use and so any diff or change like the above will not be considered since it
is simply not ready.

First problem to solve is to remove the mmap usage in openrsync. After
that modern protocol versions need to be added. Once that is in place one
can start a discussion about using openrsync as a default on OpenBSD.

⤋ Read More
In-reply-to » @prologic As have I. 🤔 I mean, since I left GitHub, I got basically 0 pull requests anyway.

@prologic@twtxt.net Hm, yeah, probably. I don’t think that’s how many FLOSS projects are/were run, though, so they’ll have to find new ways to build those relationships. 😅 I mean, isn’t it usually a new person sending patches to a project, over and over, and at some point they’ve shown enough skill so they’re “promoted” to a full maintainer position? 🤔

⤋ Read More
In-reply-to » (This settled at about 25k hits on the HTML page now. But only about 11k hits in total on favicon.ico and only around 7.5k hits on the image thumbnails. So I guess that, in reality, it might have gotten around 7k hits. The rest … is probably bots.)

@lyse@lyse.isobeef.org Two emails. 😅 One person asking for the source code, and the author of wcwidth (the library I’m using) contacted me to provide some input. 👌

⤋ Read More
In-reply-to » @lyse Ah, I almost thought so (that you wrote it by hand), but then I looked at the source code and saw the TOC and I was like: “Naah, probably not. I would be way too lazy to do that manually.” 😅 And indeed … ha.

@lyse@lyse.isobeef.org Switching to Make might be a good idea, though, because the whole thing is purely sequential at the moment … It takes close to 20 seconds (including the w3c verification which runs the Java checker). It’s not unusable, but it could be better. 😅

⤋ Read More
In-reply-to » @bender … boom, 5500+ hits on that blog post. 🤣 Should I start monetizing this shit?! 🤪 (Don’t worry, I won’t. German law gets super annoying if you do that kind of thing.)

(This settled at about 25k hits on the HTML page now. But only about 11k hits in total on favicon.ico and only around 7.5k hits on the image thumbnails. So I guess that, in reality, it might have gotten around 7k hits. The rest … is probably bots.)

⤋ Read More
In-reply-to » Now that is an interesting move:

@prologic@twtxt.net As have I. 🤔 I mean, since I left GitHub, I got basically 0 pull requests anyway.

Even during my time using GitHub, I noticed that “drive-by PRs” are rarely a good idea. People don’t really know/understand the code or the design principles/goals, so I often turned down PRs. Or I accepted them and was grumpy afterwards. 😅

What does work is having a team of maintainers/devs. The only question is: How do you build such a team if you don’t accept PRs? That’s going to be the interesting part.

⤋ Read More
In-reply-to » @lyse By the way, which site generator are you using? I kind of miss having code blocks with syntax highlighting and that generic yellow highlighting thing is pretty cool, too.

@lyse@lyse.isobeef.org Ah, I almost thought so (that you wrote it by hand), but then I looked at the source code and saw the TOC and I was like: “Naah, probably not. I would be way too lazy to do that manually.” 😅 And indeed … ha.

Oh god, yeah, that’s a lot of <span>. 🤔 Can’t really avoid that, I guess, especially if you want to do syntax highlighting of code blocks.

You wrote your own site generator, didn’t you?

In parts. I write everything in Markdown (it’s online, even: https://movq.de/blog/postings/2026-05-29/0/POSTING-en.md), plus a few Vim shortcuts (to generate thumbnails, for example), and then python-markdown renders it: https://pypi.org/project/Markdown/ This process is wrapped in a shell script, like “re-render every page if the .md file is newer than the .html file” and that’s mostly it. And the Atom feed generator is completely custom. 🤔

⤋ Read More

Okay. I have lost the “battle” against “AI” at work and I will no longer try to “fight” any of it.

It is simply what people want. They want to use it. And that’s the end of it.

And why do they want it? Because it makes their job easier. And why is that? In very large parts, it’s because we have accumulated a metric fuckton of technical debt due to decades long mismanagement. We were (and are) operating in “emergency mode” all the time. There simply was no time to clean things up or to rethink designs. We always have to go with the cheapest and quickest solution. We are never ahead of things: Earlier this year, I started an initiative and wanted to tackle some issue that I could see coming. I was shut down because this wasn’t “urgent”. Very soon after, this exact thing became that exact problem – but now, there was no time anymore to do it properly because NOW it’s urgent, so, once again, we had to go with a quick and dirty solution.

It’s always like that and I had brought it up again and again. And now we have a huge spaghetti mess that hardly anyone understands anymore.

Nobody – except AI. It can still make some sense of this and, obviously, this is useful to people.

So, any argument I make against AI is completely pointless to begin with. I’m such a fool for not having seen this earlier.

The last argument I made today was: “Look, we already have so much technical debt and spaghetti systems, we really, really must clean this up. If we throw AI on top of this now, it’ll only get so much worse.” And once more, I was shut down. My intentions were “admirable”, but “there’s no time for that”.

Okay. Good luck with that. They’ll keep doing it this way. At some point, it’ll either explode entirely and some poor soul has to clean it up, or it’ll explode and they’ll have no other choice but to throw everything away and start from scratch – assuming they can still afford that.

In other words, none of this about AI, really, nor caused by it. Our department’s massive spike in AI usage is just a symptom of the underlying management issues. And since those aren’t being addressed, nothing will change and this whole mess will only get worse.

(I blame all this on management, because, well, that’s who’s to blame. I do not have a solution for it, though – and assigning blame without constructive criticism always sucks big time. I don’t like doing this. If you had put me into that particular management position, I wouldn’t have been able to solve any of this. The thing is, though, I’m not an expert on management and it isn’t my job – I’m just the “princess” who solves your technical issues.)

⤋ Read More
In-reply-to » Aha, my nickname at work now appears to be “Princess Garbage Disposal” (“Prinzessin Müllabfuhr”). 🤦‍♀️ 🥴

@bender@twtxt.net It started out as me calling myself “Princess Valium” because I’m so tired and braindead today, but then someone misheard that because a garbage truck drove by, and, so … one thing lead to another. 🤪 Sadly, it kind of fits, because I’m often the one who cleans up shit. 😬

⤋ Read More
In-reply-to » @bender … boom, 5500+ hits on that blog post. 🤣 Should I start monetizing this shit?! 🤪 (Don’t worry, I won’t. German law gets super annoying if you do that kind of thing.)

It’s not that much traffic, of course. One hit per second on average. (Plus the images.) The nasty bots are much worse. 😅

⤋ Read More
In-reply-to » @bender … boom, 5500+ hits on that blog post. 🤣 Should I start monetizing this shit?! 🤪 (Don’t worry, I won’t. German law gets super annoying if you do that kind of thing.)

We’re at close to 20k hits now, but it has slowed down considerably. Nobody cares about page 2. 😅

⤋ Read More
In-reply-to » @bender … boom, 5500+ hits on that blog post. 🤣 Should I start monetizing this shit?! 🤪 (Don’t worry, I won’t. German law gets super annoying if you do that kind of thing.)

@bender@twtxt.net The good thing is that it’s already pretty battle-tested. 😅 There was this dumpster fire a few years back: https://news.ycombinator.com/item?id=31114554 This was on their front page for quite a while, just look at the number of comments … 😂

⤋ Read More
In-reply-to » @movq Thanks. I noticed the <updated> of the feed, too. But for some reason, some articles were suddenly marked as new.

@lyse@lyse.isobeef.org Oh, nice. That was quite the ride. :-) And all that because of locales. 😳

But, did I understand that correctly? All Atom feeds were broken, right? Because they all use that same code path with that strftime/strptime dance in it?

⤋ Read More
In-reply-to » Oh boy, it was bloody humid this morning. Just around 20°C when we left, but climbing rapidly. The flow of air when walking was okay, but as soon as we stopped, streams of sweat were pouring down on us. Luckily, it was cloudy, but the lack of wind was bad. Now, the sun is out, 29°C will be reached in an hour and I'm glad that the house is still cool. It will be a different story in a few weeks or months. Not looking forward to that at ll.

@lyse@lyse.isobeef.org Nature is cruel.

And the humidity sucks. It’s been a horrible day. 🥴

⤋ Read More
In-reply-to » It's one of the reasons in fact I've been working on bob so I have a very concrete and strong foundation for how these things work, how they behave and how bad or good they can be. I am on-purpose building bob to be not only a decent coding tool and general task completion tool, but with serious security boundaries, sanitation, auditing and compliance. If I'm going to succeed at building autoonmous agents that can cope with a wider array of varying inputs (mostly natural language, some structural language) then it needs to be both a) Safe and b) Robust

@prologic@twtxt.net Ah, so that’s what “Bob” is. I saw that popping up in email notifications. 😅

⤋ Read More
In-reply-to » @movq I'm very curious...

@prologic@twtxt.net

it’s “probabilistic” not “deterministic”

Yep, I know. And when I tell that to people and tell them “if we use AI here, we lose the ability to debug this stuff”, then all I get is: “But it’s good enough. We don’t need to debug this. Non-deterministic computing has its use cases.”

But that is just not how I’d like to model/implement our business processes. 🤔 I want something reliable, not “it mostly works”.

⤋ Read More
In-reply-to » @movq I'm very curious...

@prologic@twtxt.net Ahh, I see. Okay, I’m with you there. On this high level, I can understand how the thing works.

Maybe my wording isn’t good. 🤔 Let’s take a real life example from what we do at work.

There’s this AI chatbot. It gets support requests from users, so the user says something like “I need access to a particular system”. This triggers the bot to “run” the instructions stored in a large Markdown file, like “check if the user is authorized to do this, then issue the following API requests”, and so on. This is essentially like running a little script, except it’s written in natural language (German) and there’s no “script interpreter” but just the AI.

Now, suppose that the AI doesn’t quite do what was intended. There’s some subtle bug. How do you debug this? How do you find out how the AI came to the “conclusion” to run step A instead of step B? And how do you find out how exactly you have to change your prompt so this doesn’t happen again next time?

If this was an actual script/program instead of AI, you could repeat the request and attach a debugger or throw in some printf() or whatever. How do you do that kind of thing with AI? How do you pinpoint exactly what the problem was?

(Or is this just a stupid idea? Do we have to give up that way of thinking when using AI? Is the era of debuggability over?)

⤋ Read More
In-reply-to » @movq I'm very curious...

@prologic@twtxt.net Yeah, it’s hard to get my point across here. I tried to address that a few paragraphs down.

Yes, I can tinker with AI techniques on a general level. That’s cool but not really my area of interest.

What I certainly can’t do is learn how specific AI products work. I can’t possibly find out why Claude Code produced that particular line of code. Claude is just a magic box that does something and I have to trust it.

⤋ Read More
In-reply-to » @lyse (Do you want to be linked on that page? Do you want your name to be there at all? 🤔)

@lyse@lyse.isobeef.org Alright. 😅

Yeah, don’t waste time on this. I have a vacation coming up and I won’t touch this subject, either. Fuck this shit.

I really like your style of writing, btw. It’s much calmer and less aggressive then mine. :-) When I turned my bullet points into paragraphs, I got a bit mad in the process.

This is like the 32nd iteration of that list and it was much worse in the beginning. 😂

⤋ Read More
In-reply-to » I’ve started collecting reasons against AI usage here, so I don’t have to repeat myself all the time:

@lyse@lyse.isobeef.org Thanks! There are a few points in there that I’ll add to my list.

Your very first point is obviously crucial. “Writing code” is just the means to an end for many people and they don’t really care about it or like it, so they love AI. I had this in another draft (it refers to the other list I posted):

https://movq.de/v/614f14c3ef/ramble.txt

And this right here is so important:

simplicity is the real art and much harder to achieve.

Finding an elegant, simple solution is waaaaaaaaaaaaaaaaaay harder than anything else. And here’s the thing: I don’t get why nerds/techies don’t get “nerd-sniped” by this. A lot of people love building big stuff and then brag about being clever/competent because they were able to build that big thing – but once you realize that this approach is the lazy one, shouldn’t you make finding the elegant solution your goal? Doesn’t that give you more bragging rights?

(Am I being clear? Do you understand what I mean? 😅)

⤋ Read More
In-reply-to » You didn't change your Atom feed by any chance yesterday or today, @movq? Not only do I have a metric shitton of "new" old items in my YouTube feeds, but also a bunch of your old articles are shown as new.

@lyse@lyse.isobeef.org Uhhh, yes, I have one single script to build the website and I ran that while writing that noai.html page. Apart from the global updated field in my feeds (that one got changed), everything else should be stable, though.

Maybe this helps narrow things down?

Image

⤋ Read More
In-reply-to » By the way, did you know that I have a five month notice period? Starting next year, it’ll be six months. Germany is the opposite of “hire and fire”, but it applies to both parties.

@lyse@lyse.isobeef.org Yeah, I’ve heard of that option (“Aufhebungsvertrag”). I guess the real challenge will be finding something else that isn’t just as silly.

And on the bright side, you don’t even have to hand over anything.

They actually say that with a straight face. (Did I mention that already?) “The age of maintainership is over. Anyone can now contribute to any project at any time.”

⤋ Read More
In-reply-to » @prologic There is nothing I can do – except quit. The company explicitly wants it that way.

By the way, did you know that I have a five month notice period? Starting next year, it’ll be six months. Germany is the opposite of “hire and fire”, but it applies to both parties.

⤋ Read More

I just missed the 20 year anniversary of my blog. 😬 What a stupid long time to do this.

This started out as a PHP page with user comments, MySQL as a database, a PHP webadmin … can you believe that? Totally unnecessary. But everything was “LAMP” back then, so that’s what I was using as well. I kicked out MySQL in 2011 (it just stored files since then) and eventually switched to static HTML pages in 2015.

RSS feeds have only been there since 2009, because I was late to the party. For a long time, I didn’t understand what they were good for. 🤦

⤋ Read More
In-reply-to » I just realized that this book, which I’m still using as a reference every now and then, is from 2005.

@tftp@tilde.town Ah, I see. I have a feeling that a lot of stuff is going on under the hood all the time and it’s mostly the userland-visible things that stay the same? 🤔 But yeah, some stuff is really, really old, like the TCP code I’ve recently (tried to) read.

⤋ Read More
In-reply-to » I should have changed the key binding from Print to Shift+Print a long time ago to launch import and upload the screenshot to my server. I was constantly hitting that stupid key on accident when I actually wanted to press [AltGr].

@lyse@lyse.isobeef.org … this reminds me that I should finally write that tutorial on how to make your own X11/Wayland keymaps. That helps a lot in mitigating stupid design issues like these.

⤋ Read More
In-reply-to » So apparently this is the default when making a new Matrix account, which makes me wonder why we’re even doing this whole crypto dance in the first place … ?

@lyse@lyse.isobeef.org

So, it’s plenty good enough for them.

Yeah, but on the other hand, you can’t even log in normally to a Matrix/Element account. I mean using username + password. It’s not expected that you ever log out or lose your browser session. If you do, you must use a one-time backup code (that you must create and save beforehand) to log in again.

To be fair, I can’t say that I fully understand what Matrix is doing in the first place. The text that I quoted reads like they have your keys. But they also claim that they only store this stuff encryped: https://element.io/en/help#encryption5 So … encrypted with what? Only option here is my password, isn’t it? (But if my password was good enough to reclaim an account … why do all the other stuff …)

Matrix takes end-to-end encryption seriously. When I ran a Matrix server for the family, the family members would regularly lose their keys, because they didn’t pay attention to something. That’s on purpose! Or rather, that was on purpose. Maybe it’s different these days?

No clue.

⤋ Read More