movq

uninformativ.de

No description provided.

↳ 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

We’re currently at about 28-30°C, but the relative humidity is at a crazy low level of 20%. 😳 This actually feels pretty nice. If it only were always like that …

⤋ Read More
↳ In-reply-to » It’s official now: People are vomiting AI code into a repo that I’m supposed to maintain. At the same time, I don’t have the authority to decline those PRs.

@prologic@twtxt.net I don’t know how to phrase the answer without sounding too bitter. 🤣 Let’s just say, nope, it won’t work.

⤋ 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

I’m not always on the same page as Rob Pike, but this hit close to home:

Although trained in physics, I worked in the computing industry with pride and purpose for over 40 years. And now I can do nothing but sit back and watch it destroy itself for no valid reason beyond hubris (if I’m being charitable).

Ineffable sadness watching something I once loved deliberately lose its soul.

I spent my time trying to make it better. Not just write code, but find better or at least different ways to do so. Simpler, cleaner, more general, more comprehensible.

What’s happening today is a complete repudiation of everything I was trying to achieve.

ā€œSimpler, cleaner, more general, more comprehensibleā€, that’s what I’ve been trying to establish in our teams as well. Obviously not to the same degree, but you get the idea.

And it all goes out the window now. We’re doing the complete opposite – and with full force.

⤋ Read More

In today’s episode of ā€œeverything goes to shit because we want it toā€: https://about.gitlab.com/blog/gitlab-act-2/

The supply of deep technical problems is multiplying, and the engineers who can solve them will be among the scarcest and most valuable talent in the market.

And yet:

We’re reevaluating our operational footprint, and are planning to reduce the number of countries by up to 30% where we have small teams.

⤋ Read More

I’m still having some fundamental design issues with my TUI widget system, so I’m still not comfortable making this code public.

But after a day of work (and discussing AI ad nauseam at work), I just don’t have any energy left. šŸ˜‘

⤋ Read More
↳ In-reply-to » @lyse your wildlife photography is getting much better! Got to name them, what do you think? Too early? :-)

@bender@twtxt.net I misread that sentence and thought that your first crush was called Gisela, and was like ā€œwait, he’s not that oldā€.

Turns out, Gisela is a much younger name than I thought:

https://namecensus.com/first-names/gisela-meaning-and-history/

A peak in the late 1970is and late 1990ies? What?

But then it turned out that, in Germany, the popularity dropped rapidly in the late 1950ies, which actually matches my expectations:

https://www.beliebte-vornamen.de/5203-gisela.htm

In other words, some other countries picked up the name Gisela after it had already faded away in Germany.

What a fun rabbit hole. šŸ˜…

⤋ Read More
↳ In-reply-to » All sorts of .de domains don't resolve right now. But not all, movq.de for example still works. All on our server and basically all major other sites are cactus. Maybe some DENIC problem? I'm too tired to investigate, but I'm looking forward to tomorrow to read some report on that. :-) Good night.

@lyse@lyse.isobeef.org Ouch. šŸ¤”

⤋ Read More
↳ In-reply-to » All sorts of .de domains don't resolve right now. But not all, movq.de for example still works. All on our server and basically all major other sites are cactus. Maybe some DENIC problem? I'm too tired to investigate, but I'm looking forward to tomorrow to read some report on that. :-) Good night.

@lyse@lyse.isobeef.org Yep, this was a big oopsie at DENIC:

⤋ Read More
↳ In-reply-to » @lyse These days (and it’s been like that for a while), almost everything is loaded on-demand depending on which hardware the OS finds, so you can simply copy all your files with cp -a, install a bootloader, adjust some minor things /etc/fstab, done. Well, maybe not ā€œdoneā€, but it’s easy to sort out the remaining stuff afterwards.

@bender@twtxt.net It’s been a while (6.5 years) since I’ve done this. I’d do it like this:

  • Boot some Linux from a USB stick on the new machine. Preferably Arch Linux, since that is what I’m running and that’ll make the upcoming chroot easier.
  • Partition the new disk, create LUKS devices, filesystems, …
  • Mount the new filesystems and copy all data (user data and the system itself – everything). Do this either over the network or by hooking up the old disk directly.
  • chroot into the new system (Arch has an arch-chroot tool for that which is used during normal installation, if I’m not mistaken). Inside the chroot, install the bootloader.
  • Do some fixups, like adjusting /etc/fstab or /etc/crypttab.

And I think that should be it. šŸ¤”

⤋ Read More
↳ In-reply-to » @lyse Turns out, this actually was a little machine once (small netbook): https://movq.de/blog/postings/2011-04-28/0/POSTING-de.html And then I moved the whole installation to a different laptop later. I love that you can easily do that on Linux.

@lyse@lyse.isobeef.org These days (and it’s been like that for a while), almost everything is loaded on-demand depending on which hardware the OS finds, so you can simply copy all your files with cp -a, install a bootloader, adjust some minor things /etc/fstab, done. Well, maybe not ā€œdoneā€, but it’s easy to sort out the remaining stuff afterwards.

I’ve moved the Arch installation at work from a stationary Dell workstation to an Acer laptop to a Lenovo Carbon laptop to a Tuxedo laptop to a Lenovo Thinkpad. šŸ˜…

Yeah, the keyboard of the netbook isn’t all that great, but I have to say that I absolutely love netbooks. And I hate that they got replaced by tablets and smartphones. A netbook is a normal PC, just very small and super easy to carry around – that’s brilliant!

⤋ Read More