Just missed the 15th anniversary of the Linux installation on my laptop:
$ head -n 1 /var/log/pacman.log
[2011-04-27 11:38] installed filesystem (2011.04-1)
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! 😊“
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?”
@lyse@lyse.isobeef.org Those are some great shots! “Sun through leaves” always works. 😃 And the tweeting bird, lovely. 😃
@lyse@lyse.isobeef.org Omg, that’s quiet. Did you do some filtering on this? No traffic noise? No drunk men shouting? 😳
@lyse@lyse.isobeef.org Really depends on the genre, I guess. 🤔 Quite a lot of “non-pop” music still uses the format “concept album”, I think. 🤔 But don’t ask me for any solid statistics. 😅
@lyse@lyse.isobeef.org Those are some very colorful shots. 👌 It was pretty warm here as well, health issues prevented me from going out, though.
(Have we established that Azabache is male? 😃)
@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? 🤷♀️
@rnlog@yarn.girlonthemoon.xyz Well, welcome back. 👋
@lyse@lyse.isobeef.org Right. :(
@bender@twtxt.net Thanks, I’ll read it – once I have the energy. 😅
@lyse@lyse.isobeef.org Oh, yeah, right, I hadn’t even considered that (we mostly use one model). Choose a different model and it does something completely different. Cool stuff.
@bender@twtxt.net Or maybe I’m just shitty at communication and maybe that’s why nobody at work understands my “arguments” against AI/LLMs. 🤪🤣
(I’m too tired to rephrase the OP. Maybe some other day. Actually, rest assured that I will complain about this again. 😅)
@bender@twtxt.net … that was not my point. 🥴
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.)
@lyse@lyse.isobeef.org Clearing legally? You must have an amazingly efficient legal team – there’s like 10 new tools every week. 🤣
@prologic@twtxt.net Welcome back 👋
even our hippest AI enthusiasts found it absolutely terrible
Does this refer to the training course or to the tools themselves? 🤔
@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.
@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.)
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 │
╰──────────────────────╯
@prologic@twtxt.net Oh, so that’s where you are! 😅 Great scenery. Enjoy!
@bender@twtxt.net Ah, great, thanks!
@lyse@lyse.isobeef.org Yeah, I really don’t know anymore. 😅
By the way, why do so many of them wear glasses? As a kid, I’ve been told that people with glasses can’t become astronauts. So I gave up my dreams. Now it looks like that was a lie? ☹️
Christina Koch looking at Earth is my new wallpaper:
(Sorry, forgot where I originally found the image. Some NASA photo collection.)@lyse@lyse.isobeef.org It’s impossible to avoid. Gotta wait a few years and then we’ll see. 🍵
The problem is, they jump hosts all the time.
Maybe it’s time to add automated blocking after all … God, I’m too lazy for that. 😞
I’m so sorry. 🙈
@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.
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? 😅
@bender@twtxt.net You saw it in person, I suppose? I watched the stream last night. 😅
In case you’re wondering where they are: https://artemistracker.com/
talk next to nothing
I could rant about AI a bit and how it ruins every day at work, if that helps? 🤣
@quark@ferengi.one Ta-tah 🥳
@prologic@twtxt.net @lyse@lyse.isobeef.org Yay! Time for a new jenny release, then. 😊
@lyse@lyse.isobeef.org This is good! 💪 Let’s merge this.
(This one actually has the potential to live longer than 3 days.)
And another fork: https://drewdevault.com/2026/03/25/2026-03-25-Forking-vim.html
@lyse@lyse.isobeef.org 22 thru 25 are wallpaper-worthy. 👌👍
@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. 🤣)
There you go, user-defined color schemes:
@iolfree@tilde.club Will do. 🫡
@lyse@lyse.isobeef.org A-ha! That means you haven’t spent enough time with these tools! Go on, try it! (If you don’t, we’ll fire you.) I’m sure you’ll like it!
Oh. Feed rotated. hfgl 🙃
@lyse@lyse.isobeef.org I bet that their AI agent handles that as well, so … 🤷♀️
@lyse@lyse.isobeef.org Ah, oh, this page has historical data:
https://kachelmannwetter.com/de/messwerte/baden-wuerttemberg/temperatur/20260217-1400z.html
I would have been too lazy to take photos when my fingers were freezing off. 😅
@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.
@lyse@lyse.isobeef.org The sun makes it look nice and cosy and warm, but it wasn’t, right? 😅
@kiwu@twtxt.net Since I’m not living in the US, I haven’t seen it. I’ve only witnessed all the “outrage” about it through shows like Jon Stewart’s Daily Show. 🤣
@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. 🤔
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.)
@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 … 🙄)
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.
@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. 🫤
In case you’re bored and need a laugh: https://www.youtube.com/playlist?list=PLP5z5Xlj-uEVYDMR9DVI1tK7ICdM7LeWq
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”:
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.
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.
Slow progress: My hex editor now has an info panel that shows what’s under the cursor.
What’s going on here?
https://imgur.com/gallery/dude-back-trying-to-keep-together-ilY5Ltu
Is that real? Did I just watch a politician genuinely chuckle? That’s unheard of. Is that even legal?
@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.
@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. 🤣
Haven’t watched it to the end yet, but @lyse@lyse.isobeef.org might like this: https://www.youtube.com/watch?v=EarBm4tfMXs
@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 …
@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? 🤔
Well that was a lot of snow. Barely made it home. (Because, of course, today was the day where I went to the office. 🤣)
Aww man, I need to pick up learning Finnish again. I just love the sound of that language.
Surprisingly, I still understand quite a bit of what she’s saying here: https://www.youtube.com/watch?v=Wfnt5-7QBvQ
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. 😆)
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 🤦
@bender@twtxt.net Will do. 🤣
@arne@uplegger.eu Das klingt spannend! Setze ich mal auf die Liste. (Bin gerade an The Luminous Dead dran.)
I wonder if my elderly German neighbors have learned enough English by now to understand what I’m swearing about all day long. 🤔
@klaxzy@klaxzy.net Nope, not IONOS, but we use them a lot at work. To be honest, I consider them one of the better providers (at least regarding the IaaS stuff that we do). 😅
My hoster broke UDP, so DNS is broken as well and that takes a lot of things with it. No more email for me, I guess.
Let’s hope they’ll fix it soon.
@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?! 😅)
@lyse@lyse.isobeef.org Abed is a character from Community and “cool cool cool” was one of his “things”: https://www.youtube.com/watch?v=vMXYjejIup4
@lyse@lyse.isobeef.org Ohh, Winter Wonderland. Lovely!
Never had frozen hair. 😳 With just around 0°C? 🤔
@lyse@lyse.isobeef.org (Was that a reference to Abed? 😅)
argparse takes 50 ms on my NUC, because this pulls in all kinds of fancy stuff behind the scenes, colorization and what not. 😮💨
Just importing data classes takes another 60 ms … This fancy new stuff is really costly.
Omg, Python. Parsing arguments with argparse takes 50 ms on my NUC, because this pulls in all kinds of fancy stuff behind the scenes, colorization and what not. 😮💨
Another project where I’m going to use my terminal widget toolkit is a hex editor. This is still very young, obviously, and there’s a lot of work to do (both in the toolkit and this particular application), but I’m making some progress:
https://movq.de/v/2bae14ed16/vid-1769283187.mp4
Since this program is UTF-8 clean (I hope), you can do things like enter multi-byte UTF-8 sequences or paste them from the system clipboard (another hex editor I just tried failed to do this correctly):
https://movq.de/v/e9241034c1/vid-1769283755.mp4
Under the hood, I’m using mmap() with MAP_PRIVATE, which is really cool: I get the entire file as a byte array, no matter how large it is, no need to actually read it upfront; and MAP_PRIVATE means that I can write to this area however I like without changing the underlying file. The kernel does copy-on-write for me. Only when you hit Save, it will write to the filesystem. And it’s just a couple lines of code. The kernel does all the magic. 🥳
(Thank goodness, they turned it off for the weekend! So it’s only 24/5! Whoop, whoop.)
@lyse@lyse.isobeef.org That’s a long way to walk! 🤯
@bender@twtxt.net Naaah, I don’t have a dish washer either, it’ll be fine. 🤣 (No it won’t.)
My washing machine is making funny noises and I’m this 🤏 close to just throwing it out and washing everything by hand, instead of buying another expensive enshittified product that’s designed to break down in a couple of years.
Washing is easy anyway, the spin cycle to dry that stuff is the important part …
ChatGPT https://brynet.ca/chatgpt/
@shinyoukai@yume.laidback.moe 🙋 with extra 24/7 noise from the construction site outside (construction guys live in a little “container” and they need power, so they have a diesel generator running 24/7)
Great article by Ploum about chatbots/AI and education: https://ploum.net/2026-01-19-exam-with-chatbots.html
When people “make plans”, I always respond like this:
Finally found the clip where this is from:
go install ./cmd/mu-lsp/... and install the VS extension and hey presto 🥳 You get outlines of any Mu source, Find References and Go to Definition!
@prologic@twtxt.net Reminds me to have another look at LSP. Last time I checked, it was super messy in Vim. 🤔
Spent basically the entire day (except for the mandatory walk) fighting with Python’s type hints. But, the result is that my widget toolkit now passes mypy --strict.
I really, really don’t want to write larger pieces of software without static typing anymore. With dynamic typing, you must test every code path in your program to catch even the most basic errors. pylint helps a bit (doesn’t need type hints), but that’s really not enough.
Also, somewhere along the way, I picked up a very bad (Python) programming style. (Actually, I know exactly where I picked that up, but I don’t want to point the finger now.) This style makes heavy use of dicts and tuples instead of proper classes. That works for small scripts, but it very quickly turns into an absolute mess once the program grows. Prime example: jenny. 😩
I have a love-hate relationship with Python’s type hints, because they are meaningless at runtime, so they can be utterly misleading. I’m beginning to like them as an additional safety-net, though.
(But really, if correctness is the goal, you either need to invest a ton of time to get 100% test coverage – or don’t use Python.)
@shinyoukai@yume.laidback.moe Yeah, I avoided that issue as well. I moved everything on the website except for the twtxt stuff.
@lyse@lyse.isobeef.org The thing is that’s hard to avoid if TYPE_CHECKING, but documentation tools such as pdoc don’t support that … so it’s either type hints or API docs. 🤷
I hope I can eventually find a way out of this mess …
@javivf@adn.org.es Oh! Thanks, should be fixed now. 😊
@lyse@lyse.isobeef.org All that short brown grass, almost looks like Scotland. 🤔 (I’ve never been there. 😅)
What the heck is 06.jpg?
@prologic@twtxt.net Changed the domain of my website (except for twtxt).