movq

www.uninformativ.de

No description provided.

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

Germans don’t have humour? Oh, yes we do! Get this:

I was pushing my bike slowly up a hill, coming across an elderly lady.

She goes: “Go slowly!!! 😡”

“???”

“Haha! Just kidding! 😊“

⤋ Read More

The mindset of nerds (or people in general, but nerds especially) appears to be: “There’s a problem – I know how to build a solution around that! (Because I’m good at building things!)”

Rarely does anyone ask: “Why does this problem exist? Can we find a way so that this doesn’t happen in the first place?”

⤋ Read More

@klaxzy@klaxzy.net I should cancel Netflix as well. Back when they started their streaming service, it was a revelation: Finally, I could watch interesting shows in English, without having to wait for years, and legally (I like to be a paying customer, if it’s good). But this is long over. The interesting shows are gone or, once again, I have to wait for years until they’re available on Netflix. So, why bother anymore? 🤷‍♀️

⤋ Read More

Another AI rant:

One of the “key features” of LLMs is that you can use “natural language”, because that is supposed to be easier than having to learn a programming language. So, when someone says to me, “I automated this process using AI!”, what they mean is: They have written a very, very large Markdown document. In this document, they list what the AI is supposed to do.

In prose.

This is a complete disaster.

Programming and programming languages have one crucial property: They follow a well-defined structure and every word has a well-defined meaning. That is absolutely brilliant, because I can read this and I can follow the program in my head. I can build a mental model. I can debug this, down to the precise instructions that the CPU executes. This all follows well-defined patterns that you can reason about.

But with these Markdown files, I am completely lost. We lose all these important properties! No debugging, no reasoning about program flow, nothing. It’s all gone. It’s a magic black box now, literally randomized, that may or may not do what you wanted, in some order.

People now throw these Markdown files at me … and … am I supposed to read this? Why? It’s completely random and fuzzy.

Sadly, these AI tools are good enough to be able to mostly grasp the authors intentions. Hence people don’t see the harm they cause, because “it works”.

We already have a ton of automations like this at work: Tickets get piped through an LLM and these Markdown files / prompts determine what will happen with the ticket, and maybe they trigger additional actions as well, like account creation or granting permissions. All based on fuzzy natural language – that no two humans will ever properly agree on.

Jesus Christ, we’re now INTENTIONALLY bringing the ambiguity of legal texts and lawyers into programming.

Using natural language is NOT easier than using a programming language. It is HARDER. Have you people never read a legal contract? And that stuff can STILL be debated in a court room.

I can’t begin to comprehend why we, tech folks, push this so hard. What is wrong with you? Or me?

(And, once again, we’re ignoring other factors here. LLMs use a ton of energy and ressources, that we don’t have to spare. It’s expensive as fuck. It doesn’t even run locally on our servers, meaning we give all these credentials and permissions to some US company. It’s insane.)

⤋ Read More
In-reply-to » (#kwq4eea) @lyse Yes, and that’s why I’m 100% convinced that we’ll see a massive brain drain in a couple of years. This will affect young people even more, because they don’t have all the “old” knowledge to fall back on.

@lyse@lyse.isobeef.org

even our hippest AI enthusiasts found it absolutely terrible

Does this refer to the training course or to the tools themselves? 🤔

⤋ Read More

@lyse@lyse.isobeef.org Yes, and that’s why I’m 100% convinced that we’ll see a massive brain drain in a couple of years. This will affect young people even more, because they don’t have all the “old” knowledge to fall back on.

It’s concerning, I’ve warned about it many times, nobody listens.

I think the best thing one can do is explicitly not use any AI tools but keep your actual skills intact. Might be out of a (good) job for a while, but once this bubble bursts, this is who is going to get hired again. (I think.)

And considering how insanely expensive all this is, I’m still (mostly) convinced that the bubble will actually burst. This stuff just isn’t sustainable.

… or I might be wrong. And if so, I see an even darker future that I don’t want to put into words right now.

⤋ Read More

@lyse@lyse.isobeef.org AI result ahead, feel free to ignore.

I “asked” the AI at work the same question out of morbid curiousity. It “said” that SQLite converts that integer to floating point internally on overflows and then, when converting back, the x86 instruction cvttsd2si will turn it into 0x8000000000000000, even if the actual floating point value is outside of that range. So, yes, it allegedly actually saturates, as a side effect of the type conversion.

I couldn’t find anything about that automatic conversion in SQLite’s manual, yet, but an experiment looks like it might be true:

sqlite> select typeof(1 << 63);
╭─────────────────╮
│ typeof(1 << 63) │
╞═════════════════╡
│ integer         │
╰─────────────────╯

sqlite> select typeof((1 << 63) - 1);
╭──────────────────────╮
│ typeof((1 << 63) ... │
╞══════════════════════╡
│ real                 │
╰──────────────────────╯

As for cvttsd2si, this source confirms the handling of 0x8000000000000000 on range errors: https://www.felixcloutier.com/x86/cvttsd2si

The following C program also confirms it (run through gdb to see cvttsd2si in action):

<a href="https://txt.sour.is/search?q=%23include">#include</a> <stdint.h>
<a href="https://txt.sour.is/search?q=%23include">#include</a> <stdio.h>

int
main()
{
    int64_t i;
    double d;

    /* -3000 instead of -1, because `double` can’t represent a
     * difference of -1 at this scale. */
    d = -9223372036854775808.0 - 3000;

    i = d;
    printf("%lf, 0x%lx, %ld\n", d, i, i);

    return 0;
}

(Remark about AI usage: Fine, I got an answer and maybe it’s even correct. But doing this completely ruined it for me. It would have been much more satisfying to figure this out myself. I actually suspected some floating point stuff going on here, but instead of verifying this myself I reached for the unethical tool and denied myself a little bit of fun at the weekend. Won’t do that again.)

⤋ Read More

@lyse@lyse.isobeef.org

Disclaimer: Can’t guarantee that I’m fully awake and I’m being trained at work not to use my brain anymore, so maybe this is complete bullshit. 😪🧟‍♀️

It says here that SQLite uses signed integers:

https://sqlite.org/datatype3.html

In pure bits, 1 << 63 would be 0x8000000000000000, but as a signed value, it gets interpreted as -9223372036854775808. Subtracting 1 yields -9223372036854775809 – but that doesn’t fit in 64 bits anymore. It’s possible that SQLite doesn’t want to wrap around but instead saturates? Haven’t checked. 🤔

With 62 bits, there is enough room.

With 1 << 64, I have no idea how SQLite wants to handle this, because this should immediately trigger a warning, because it doesn’t fit right away. Maybe it gets truncated to 0?

sqlite> select printf('0x%x', 2 * (1 << 64));
╭──────────────────────╮
│ printf('0x%x', 2 ... │
╞══════════════════════╡
│ 0x0                  │
╰──────────────────────╯
sqlite> select printf('0x%x', 0 - 1);
╭──────────────────────╮
│ printf('0x%x', 0 ... │
╞══════════════════════╡
│ 0xffffffffffffffff   │
╰──────────────────────╯
sqlite> select printf('0x%x', 0 - 2);
╭──────────────────────╮
│ printf('0x%x', 0 ... │
╞══════════════════════╡
│ 0xfffffffffffffffe   │
╰──────────────────────╯

⤋ Read More

@lyse@lyse.isobeef.org Indeed. Very unpopular, though. I’ve long given up that fight at work.

In reality, there are too few real incidents. It doesn’t hurt enough. It’s always: “Something could happen!” But we’ve never been hit big time by an attack like this … so I just look like a paranoid idiot.

⤋ Read More
In-reply-to » In case you’re wondering where they are: https://artemistracker.com/

This whole thing was pretty weird, btw. I had no idea it was happening until basically yesterday. No news coverage, nobody mentioned it. 🤔 And suddenly, boom, we’re going to the moon. What? 😅

⤋ Read More
In-reply-to » This year for some reason or another, I decided to purchase an Ocarina, I've been practising a fair bit every now and again, basically during work breaks and sometimes in the afternoon / evenings (not enough to annoy the family 🤣) Anyhoo, that was 3 months ago, since then I've built up a bit of a Repertoire:

@prologic@twtxt.net Nice. 😊 That’s the beauty of a small instrument like that: You can just pick it up, play a little bit, put it back. 👌 (Can’t do that with my stuff. 🤣)

⤋ Read More

@abucci@anthony.buc.ci coined the term “failscene”:

https://buc.ci/abucci/p/1771250567.039684

I wonder about using “failscene” to describe the current slate of AI tools and demos. In contrast with the demoscene, which is about getting very low powered computers to do cool things you wouldn’t expect them to be able to do, the failscene is about getting very high powered computers to fail at doing boring things we already know how to do without them. Plus you can stylize it fAIlscene if you’re inclined to.

I love it.

⤋ Read More
In-reply-to » A mate just recommended this German talk why people don't wanna work at your company: https://media.ccc.de/v/froscon2025-3321-eseskaemwarumguteleutenichtbeieucharbeiten_wollen It's really good. I fully agree with most parts.

@lyse@lyse.isobeef.org Nice talk indeed.

Interesting to see that his ideal job ad talks more about the company than the required qualifications of the candidates. That alone is what 99% of companies get wrong. They just have a long list of “you must know these 500 things”, yeah, great, goodbye then. 🤷‍♀️

Just checked our job ads, some of them actually do list the salary. I’m surprised. 🤔

⤋ Read More

TIL: If you’re trans in Germany and you want to start hormone therapy, you still need to be officially declared “trans” first (Indikationsschreiben, page 18: https://www.transinterqueer.org/wp-content/uploads/2022/04/Hormontherapie_DE_barrierearm.pdf) and then you can try to find an actual doctor to get the meds. All with super long waiting lists. This takes forever. 😩

Changing your legal name is surprisingly easy in comparison, at least since 2024: https://www.bmbfsfj.bund.de/bmbfsfj/aktuelles/alle-meldungen/anmeldung-zur-aenderung-des-geschlechtseintrages-jetzt-moeglich-243056 (From my perspective, that’s the less relevant part, though, because there’s a good chunk of people that you can just ask to call you differently (friends, cowokers, …) and then do that legal stuff later. But you want your body to change, like, now.)

⤋ Read More
In-reply-to » Okay, so the funniest thing that has happened at work in the realm of AI so far is this:

@lyse@lyse.isobeef.org They certainly don’t. 🫤

Had an idea earlier: How about going all in on sustainability and saving money/energy, so how about telling your customers “AI is a bad idea $because_long_list_of_reasons, here are our alternatives, you’ll thank us in 5 years”? (I bet the customers wouldn’t listen either … 🙄)

⤋ Read More

Okay, so the funniest thing that has happened at work in the realm of AI so far is this:

So this guy (that holds a certain position of power) wants people to use more AI, meaning people are expected to install a set of AI tools on their laptops. But, of course, he doesn’t want to write proper documentation for this, because that would be silly monkey work, right? So he conjures up some AI prompts that are intended to make the AI agent install all this stuff by itself.

Do you see where this is going? Can you see the punchline?

That’s right! Since none of this AI stuff is deterministic, every setup is different. 🤦‍♀️ Like, 10, 20 systems, all set up a little different and people wonder why this or that doesn’t work as expected.

Okay, it’s not funny.

Image

⤋ Read More
In-reply-to » Fuck me dead! I accidentally confused an HTML file for a YAML file and manually opened it in my browser. Unfortunately, I clicked on the OK button of the popped up dialog a bit too fast, it just caught me off guard. It asked which program to open the YAML file in. Of course Firefox thought that it could handle that and suggested itself by default. Conveniently, the "don't prompt me again and always use this selection from now on" checkbox was enabled.

@lyse@lyse.isobeef.org … at least this story was entertaining to read. 😅 If only Firefox’s storage format wasn’t so convoluted, you could have just shut it down and removed all the unwanted tabs. 🫤

⤋ Read More
In-reply-to » Slow progress: My hex editor now has an info panel that shows what’s under the cursor. https://movq.de/v/f9586ec65c/s.png

@lyse@lyse.isobeef.org

I can’t remember if the hex viewer back then had these options. Don’t even recall what software that was. :-)

The one that I used during my Windows 95 days was “Hex Workshop”. It had similar features, just not as promimently displayed. It shows them down there in the statusline as “Value”:

Image

Newer versions can probably do more, haven’t checked. 😅 (Assuming this program still exists.)

Apart from selecting text to copy into the clipboard. But that probably has the potential for trouble and interference with button clicks, etc.

Yeah, that’s a big problem: Once you activate mouse mode in the terminal, the terminal loses the ability to select text. 😞 You’d either have to emulate that in the program itself (like Vim does) or give the user an easy way to turn mouse support on/off during runtime.

How did the startup times develop?

They’re pretty stable at around 230 ms on my old NUC. It’s just fast enough so that it doesn’t annoy me.

⤋ Read More
In-reply-to » Slow progress: My hex editor now has an info panel that shows what’s under the cursor. https://movq.de/v/f9586ec65c/s.png

I’m inclined to remove all mouse support, except for moving windows. 🤔 I originally wanted this to emulate the behavior of DOS programs, but a) mouse support is a lot of code, b) using the mouse is cumbersome anyway and I would rarely do it.

⤋ Read More
In-reply-to » It was so great going to the sauna again, we were looking forward to that the whole week. :-) It's been over a year, holy cow, time flies. We definitely have to pick up on that tradition again, that's for sure.

@lyse@lyse.isobeef.org Sauna is awesome – if it wasn’t for other people. 🤣 A little mökki in Finland with a private sauna, that would be it.

⤋ Read More
In-reply-to » @lyse I don’t know a number (wait, why can’t I google a Wetterbericht but only a Wettervorhersage?!), but it was enough for public transportation to shut down. 😅 I think I saw around five trucks on the side of the road who couldn’t continue, too icy. Some cars stranded.

@lyse@lyse.isobeef.org Found some numbers now, they’re saying it was around 10cm in 3-4 hours. I don’t know, felt like more. 😂 The forecast wasn’t really good either, now that I think about it. They said there’s going to be some snow, okay, fine, but then, boom.

Haha, that old ad is lovely. Those days are over. 🤣

⤋ Read More
In-reply-to » Well that was a lot of snow. Barely made it home. (Because, of course, today was the day where I went to the office. 🤣)

@lyse@lyse.isobeef.org I don’t know a number (wait, why can’t I google a Wetterbericht but only a Wettervorhersage?!), but it was enough for public transportation to shut down. 😅 I think I saw around five trucks on the side of the road who couldn’t continue, too icy. Some cars stranded.

My car has an automatic gearbox and I’m not sure if that’s good or bad in such conditions. 😂 Pretty hard to accelerate without spinning wheels …

⤋ Read More
In-reply-to » Trying an experiment. Created a Github repo for mu over at https://github.com/prologic/mu as a social experiment to see if we can maintain a tailored Github docs-only repo of a project, see if it gets any interest 🤔

@prologic@twtxt.net (While browsing through that, I noticed that https://mu-lang.dev/ itself doesn’t really mention the source code repo, does it? 🤔 Like, the quickstart guide begins with “Build the host: go build ./cmd/mu”, but where’s the git clone … command? 😅)

I’m not really sure what the goal is. 🤔 Do you want to get pull requests for the docs? Or bug reports for mu itself? 🤔

⤋ Read More
In-reply-to » Fell into a bit of a rabbit hole and learned that it took German law until 2008 to actually allow unisex/gender-neutral first names: https://www.bundesverfassungsgericht.de/entscheidungen/rk20081205_1bvr057607.html 🤦

@lyse@lyse.isobeef.org

I reckon up until then you had to have another first name that clearly differentiated.

Yes, apparently so. (I’m glad we stopped doing that. I don’t get this obsession with the contents of other people’s pants. 🤢)

Now I’m wondering, was that also the beginning when parents started giving their kids really weird names?

Did this ever happen or was this an urban myth? Would have to dig up some statistics, I guess. (Anecdotal evidence: None of the people I know gave their kids crazy names. 😆)

⤋ Read More
In-reply-to » This weekend, I'm building a service that turns PDFs into chaptered, audiobook‑quality narration in minutes—upload, listen in a built‑in player, and download MP3/M4B files with clean metadata.

@prologic@twtxt.net (I still don’t know how you can muster up so much motivation and energy (especially when you have a family). Are we the same species?! 😅)

⤋ Read More
In-reply-to » What a beautiful, beautiful 0°C Sunday arvo and evening! The weather forecast delayed the snow by the minute. An hour or so after it finally started very, very lightly, I headed off for the woods to check out the lake again. Unfortunately, with the fresh snow layer, the crazy wild surface texture of the ice sheet wasn't visible anymore. But it brought some other nice views and photo opportunities.

@lyse@lyse.isobeef.org Ohh, Winter Wonderland. Lovely!

Never had frozen hair. 😳 With just around 0°C? 🤔

⤋ Read More