I really think I should go back to Java.
Writing programs in Python is so exhausting. I want a compiler and I want static typing. No, linters and type checkers and IDEs are not good enough. Compilers catch way more errors in advance.
Rust is also exhausting. They’re constantly adding language features and, at the same time, the runtime library remains tiny and you need 3rd party libraries for everything. Many of those are still at version 0.x (SemVer!) and you can’t rely on anything. Often times, you need the latest Rust nightly compiler.
Go is … I don’t like it. And huge binaries.
I like C as a language, but it’s too fragile. I want to have a proper HashMap every now and then.
None of the above have good GUI libraries, at least not on Linux.
And then there’s Java. This is my fractal renderer that I wrote over 17 years ago:
https://movq.de/v/fcd3c4e557/vid-1784121825.mp4
It’s fast. It has a GUI with custom widgets and those weren’t even hard to make. It still works without changing a single line of code. The source code files have timestamps from 2009 and I just noticed that the JAR file I’m using in the video was compiled in 2010.
Java as a language is relatively easy to learn and to master. There are few surprises. The source code organization with packages is good. Java API docs are clear and well written.
The JVM ramp-up times have improved considerably:
https://movq.de/v/e7314e521e/vid-1784121998.mp4
This isn’t like the Dark Ages anymore. Might even be usable for some CLI tools.
The only thing where Java really sucks is anything close-ish to the kernel. Try issuing an ioctl() … I couldn’t have made my TUI framework in Java, but then again, I wouldn’t have needed to because Swing already exists and it just works.
@prologic@twtxt.net See, that’s what edit/delete is good for. 😅🤪
@david@daiwei.me That’s a good thing. I still use it heavily, but I also realize that it is addictive. This whole idea of getting likes and boosts is horrible. Seeing “number goes up” is inherently addictive design, if you ask me. This should never have been added to a Free Platform like Mastodon, and I’m glad that twtxt doesn’t have anything like it.
local means it only stores this stuff offline. So they claim. I don’t trust this and I don’t want to go anywhere near it.
@lyse@lyse.isobeef.org Yeah, okay, the default being local means it only stores this stuff offline. So they claim. I don’t trust this and I don’t want to go anywhere near it.
@prologic@twtxt.net It’s from Gabe’s feed: https://gabesarcade.com/twtxt.txt
Yeah, lol, fuck off. Tried to reproduce that hashing issue, thus playing around with Go a little bit. And what did I find?
$ tree ~/.config/go
/home/user/.config/go
└── telemetry
├── local
│ ├── asm@devel-devel-linux-amd64-2026-07-14.v1.count
│ ├── compile@devel-devel-linux-amd64-2026-07-14.v1.count
│ ├── go@devel-devel-linux-amd64-2026-07-14.v1.count
│ ├── link@devel-devel-linux-amd64-2026-07-14.v1.count
│ ├── upload.token
│ └── weekends
└── upload
4 directories, 6 files
It collects and uploads “telemetry” now.
No.
(Don’t tell me how I can turn that off. Not interested. This is a compiler and it wants to track me, without asking for consent. That’s a no-go.)
@david@daiwei.me It really is almost impossible to debug these hash issues. Only thing I can do is some trial-and-error, to see if I somehow end up at pmrf6ftxsdhr instead of ksou5aqw7w5a. So far, no luck. 😅
@kat@yarn.girlonthemoon.xyz Welcome back 🥳
Back at 29-30 °C in my apartment. 🥳🙄
@david@daiwei.me This is another dangling thread:
Trying to fetch "#kyjhiwcxeknm" from Yarn pod https://txt.sour.is ...
Trying to fetch "#kyjhiwcxeknm" from Yarn pod https://twtxt.net ...
Twt could not be found
@david@daiwei.me The one with www is correct: https://www.uninformativ.de/twtxt.txt is the canonical URL used in the url = metadata field. (For historical reasons, it also works without www and even with http.)
@david@daiwei.me Ah, edits. Okay. Let’s hope that it’s all fixed then. 🤞
… this came off more snippy than I wanted it to. Sorry. 😅
Good morning. I’m seeing so many broken threads. You’re still investigating this, right?
@bender@twtxt.net All the other ones worked but this broke? What’s different here? To which twt hash should this be a reply? 🤔
@david@daiwei.me Well, I don’t see any broken threads here. 🤔
@bender@twtxt.net No idea. I can only tell you that the correct hash would have been rwzz277nkyju for this line:
[2026-07-11 14:47:17+00:00] [(#5bpwpdcjnhcz) <a href="https://we.loveprivacy.club/external?uri=https://daiwei.me/twtxt.txt">@david<em>@daiwei.me</em></a> (This thread is broken again on my end. Another bug or fix not released yet? 😅)]
(Guess I should have used my “find context” function. 🤪)
@bender@twtxt.net Ah, the first twts were from https://raw.githubusercontent.com/Fastidious/fastidious.github.com/master/twtxt.txt, not https://daiwei.me/twtxt.txt. Fetching the GitHub feed completes the thread. 👍
@david@daiwei.me (This thread is broken again on my end. Another bug or fix not released yet? 😅)
@lyse@lyse.isobeef.org But but but but but … is that legal?! 😂
# url = preamble so every client hashes your feed the same way. Thanks @fastidious for the report 🙏
Well, this looks good, I guess:
🥳
# url = preamble so every client hashes your feed the same way. Thanks @fastidious for the report 🙏
@prologic@twtxt.net Let’s give it a shot! Test!
Host header is sent by the client. And don’t even think about serving UTF-8 or even just putting utf-8 in the content type. 😅 And for the JPEG thumbnails I pass a special flag to ImageMagick so that IBM Web Explorer from OS/2 won’t trip. 🤣 And always use link rel="stylesheet" for CSS, because some browsers render inlined CSS as literal text. And … probably more that I forgot by now. 😂
@bender@twtxt.net Speaking of drawers at the office … this is mine:

Looks a bit sad, eh? 🤣 (Or you could say: Minimalism!)
There you go: https://movq.de/blog/postings/2026-07-10/0/POSTING-en.html

Oh, crap! It’s only Thursday! I thought we had Friday already … nnnnooooooo, not another day. 😭
@bender@twtxt.net Ha, I remember these from our trip to Florida ~30 years ago:

(Yep, it was a rainy day. 😂)
Heh, that’s a cute story: https://www.osnews.com/story/145459/you-paid-me-a-long-time-linux-user-to-use-windows-11-exclusively-for-a-month-heres-how-it-went/
@itsericwoodward@itsericwoodward.com And sometimes …

(It’s an older meme but it checks out.)
Host header is sent by the client. And don’t even think about serving UTF-8 or even just putting utf-8 in the content type. 😅 And for the JPEG thumbnails I pass a special flag to ImageMagick so that IBM Web Explorer from OS/2 won’t trip. 🤣 And always use link rel="stylesheet" for CSS, because some browsers render inlined CSS as literal text. And … probably more that I forgot by now. 😂
@bender@twtxt.net Oh my god! 😅 That’s worth a small fortune on eBay. 🤣
Host header is sent by the client. And don’t even think about serving UTF-8 or even just putting utf-8 in the content type. 😅 And for the JPEG thumbnails I pass a special flag to ImageMagick so that IBM Web Explorer from OS/2 won’t trip. 🤣 And always use link rel="stylesheet" for CSS, because some browsers render inlined CSS as literal text. And … probably more that I forgot by now. 😂
I’m in the process of making a big page with photos and screenshots, and this is more stuff than I expected.
@arne@uplegger.eu You have Matrix at work? No Teams, Google Chat, Slack, Discord, whatever, but Matrix? Really? Where do you work, is this Socialist Russia?!
@lyse@lyse.isobeef.org How many people are still using XMPP? 🤔 I’d expect the number to just as low as IRC users? 🤔
@prologic@twtxt.net Neither can I. 😱
However, I haven’t touched my favicon longer than that, lol:
$ l movq.de/favicon.ico
─rw─r──r── void users 2011-01-08 198 │ movq.de/favicon.ico
@GabesArcade@gabesarcade.com That’s Halo? I don’t think I ever saw that in person … 🤔
Sie schreien wie die Paviane und Gegenstände fliegen.
Es muss ein Fußballspiel sein.
Windows NT 4 didn’t have a Device Manager. You know, this thing right here that got introduced with Windows 95:

And that’s super awkward in NT4.
You know what doesn’t have a Device Manager, either? Linux. Why? 🤔 Isn’t this one of the most useful system tools? It gives you an overview of the devices in your system and tells you which driver is used for them. Linux could really use such a tool, I think? 🤔
(There are programs like “hardinfo” and I remember ancient KDE providing such a tool, but they’re all an afterthought. Hardly integrated into the overall system.)
@prologic@twtxt.net Oohhhhhhhh, lovely. 😍
15 years without reinstalling on this particular box.
$ head -n 1 /var/log/pacman.log
[2011-07-07 11:19] installed filesystem (2011.04-1)
Two more years and I’ll be celebrating the “20 years of Arch” anniversary.
@prologic@twtxt.net That looks nice! What’s the temperature?
← expected hash
← expected hash
← expected hash
Test 2
multiline
Test 1
@GabesArcade@gabesarcade.com The no-JS part is one thing, but you also have to disable the (nowadays common) forced-HTTP-to-HTTPS-redirect, because those old browsers can’t do modern crypto. And make sure that your webserver serves the correct page even if no Host header is sent by the client. And don’t even think about serving UTF-8 or even just putting utf-8 in the content type. 😅 And for the JPEG thumbnails I pass a special flag to ImageMagick so that IBM Web Explorer from OS/2 won’t trip. 🤣 And always use link rel="stylesheet" for CSS, because some browsers render inlined CSS as literal text. And … probably more that I forgot by now. 😂
@david@daiwei.me Not sure, actually. Let’s see. Those are the ones where I still have the original disks (or have bought them on eBay again):
- SuSE Linux 6.4 (it’s a massive 7 CD distro with a huge manual, best thing ever)
- OS/2 2.1
- OS/2 Warp 3 (red and blue spine because
$reasons)
- OS/2 Warp 4
- PC DOS 7
- MS-DOS 6.22
- Windows 3.1
- Windows for Workgroups 3.11
- Windows 95 C
- Windows 98
- Windows NT 4 Workstation (still in the mail, though 😅)
- Windows 2000
- Windows XP Professional (last Windows I ever used on my private PCs)
(Plus a few “classic” office products as can be seen here: https://movq.de/blog/postings/2024-05-23/0/POSTING-en.html )