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/
Hmmm⦠Something aināt right. What did I break this time?
@prologic@twtxt.net My bad. It has been a while since the last time I poked around my mystery box, and I must have Effed up something yesterday. Is it fixed now? (Also, Iāve noticed that access to my avatar is, somehow, still denied. Still poking at it. š¤¦)
XMPP greatest peak was when Google Talk was around. Being able to chat with thousands, if not millions, of Google users at that time, using your own domain, and your own XMPP server was amazing. Then Google, in all its wisdom, and as it does very often, decided to kill it.
I might be on the minority, but can care less about video calls. Heck, even calls! Text is King. š¤Ŗ
@prologic@twtxt.net I linked you some of my findings on the twtxt.app on IRC. The main problem is the hashing. Totally broken. But you have got to give it some thought, because GitHub hosting of the feed is tricky (even more so if they are CNAMEing their domain to it). It is also finicky because Pages is auto-enabled on username.github.io, so actions must run each time you twt.
Okay, wow. Windows NT 4 wasnāt part of my timeline back then, so this is the first time Iām seeing it in action. And this thing came with IE 2, which Iāve also never seen before. (Thatās interesting, because I remember using IE even on Win 3.x, but apparently that was already IE 3?)
It also makes me really happy to see my website work in these old browsers. Fullscreen images are ābrokenā because those are PNG or WebP, but the rest works just fine. š„³
What a week!
It looks like I mostly missed the #twtxthashgeddon (so happy belated twtxthashgeddon day, to those who celebrate), although Iām glad that twtxt-lib appears to have come through it more-or-less unscathed.
Also, today is (was) July 4th, so happy US Independence Day (to those that celebrate). I didnāt feel much like celebrating, myself, so instead I went and played Magic (results tomorrow).
Finally, today is (now) July 5th, so happy X-Day (to those that celebrate). I canāt help but feel like this would be a great time for the saucers to comeā¦. Just sayinā. š½
BTW - welcome to twtxt @GabesArcade@gabesarcade.com!
@lyse@lyse.isobeef.org Found it and fixed it! š The crawlerās discovery spider was fetching every feed a second time, without any conditional headers (plus a couple of other politeness bugs: redirected feed URLs never stored their cache validators, and there was no floor between re-fetches). Now every feed is fetched at most once per crawl, always with If-Modified-Since / If-None-Match, and never more than once per 15m no matter what. Just deployed ā please keep an eye on your access logs and let me know if you still see anything impolite from the crawler š
My mate and I hiked up the backyard mountain. We got 25°C and quite some wind, so it was actually not too terrible. The wind could have blown harder or the temps a little lower, but oh well.
I saw the squirrelās bushy tail stick up on the forest floor in the sunlight and immediately thought of this cute little feller. Since it didnāt move at all, even when we came closer, I got irritated and reconsidered that it might actually be some kind of dried up farn. But then we also were able to see its body. Unfortunately, the squirrel ran up the tree too quickly, so all the shots are kinda crap.
At one flower spot, there were sooo many butterflies, wasps, flies, bugs and other insects. The botanic was completely crowded.
The workers were transferring logs from one log truck to the other in a parking lot. Iāve never seen this happening before. When we passed the same place on the way home, they had moved logs into a sea container. That was surprising. This semi wasnāt there on the way there. One log was probably too long and sticking out the container, so they probably had to wait for somebody to return with a chainsaw. Crazy that theyāre shipping logs from here probably overseas. Why else would they put them in a sea container?
After our first break, a blackbird was really posing for us with his worm in the dark shade.
Today was my first time I ever saw a hummingbird hawk-moth (TaubenschwƤnzchen) for real. My mate photographed them many, many times before, but I never came across one myself. So, that was really special.
The forest service installed an outdoor table with two benches next to the timber lion, that was cool to see. We sat down for a few minutes and enjoyed both the view into the Fils valley and ant on the tabletop, but the sun was beating down too heavily on us, so we had to move on.
All in all, it was a very nice few hours long hike. Enjoy! https://lyse.isobeef.org/waldspaziergang-2026-07-03/
Thereās no more time to waste to rotate some months into their archive feed files.
@movq@www.uninformativ.de Oh dear! :-(
Now, itās cooler outside than inside. Time to open the windows and start the wind machines.
Apologies for the late #caturday post, but I figure itās more of a state of mind, like that time Shadow temporarily āborrowedā the dog bed (and discovered how comfy a blanket pile can be)ā¦

@kiwu@twtxt.net Last time you asked we were all tired. Now weāre EXHAUSTED because itās 40 °C around here. š„µšš
The firefly season is ending. I only saw 200 of them or so. There was one female directly on the forest road. If only I brought my camera and tripod, that would have worked out I reckon. I had my torch with me and this looked really cool.
Dusk took forever today. It was really long light out there. Full moon is tomorrow.
On the way back, there was suddenly a load clatter and crashing sound 100 meters away from me. I didnāt see anything, but a tree fell over in the forest out of the blue. Fuck me dead, that was scary as hell. Luckily, I was already on the main road, only meadows around me. Itās the second time I witnessed a tree accidentally coming down. The first one was during the most expensive hail storm in our area so far in 2011 behind me when setting up a summer camp. The weather changed in less than 15 minutes.
Maybe not such a good idea to go out so late alone. :-? Any rustling in the forest immediately reminded me of the boar the other day. Luckily, always false alarm. Still a bit terrified from that event.
@movq@www.uninformativ.de Oh my! :-O We reached 38°C. Itās now down one degree.
I just got up from my two, three hours siesta. And I tell you, that was bloody amazing. Layed in bed in undies, no blanket, just some power metal in my headphones and I was sleeping like a baby. Normally, I NEED a blanket, no matter what. But this summer, itās already the second time that I actually manage to drop off without one.
Ah, with lazy loading, browsers only start loading images when the load event occurs. And that takes time. Hm. Not a fan, I might revert this. š¤
@lyse@lyse.isobeef.org I noticed that loading="lazy" might not be so great after all.
This is without lazy loading:

The total page load time is around 400-500 ms. Okay.
Now this is with lazy loading:

It finished much quicker, after about 250 ms. Sounds good.
But notice this gap right here?

This wasnāt there before. With lazy loading, it now takes something like 80-100 ms until the browser even starts loading images. This is Chromium, but Firefox shows a similar gap.
The net result is that there is a very noticeable delay/flicker when you open a page, because it takes so long until the images have loaded. Yes, the layout doesnāt shift around, but that has nothing to do with lazy loading.
How odd. š¤
Interesting, HTTPS is almost twice as slow as plain HTTP on my server (~72 ms vs. ~135 ms):
$ hyperfine -r 50 "curl -so /dev/null 'http://movq.de/blog/postings/2024-05-23/0/t/word11a.jpg.jpg'"
Benchmark 1: curl -so /dev/null 'http://movq.de/blog/postings/2024-05-23/0/t/word11a.jpg.jpg'
Time (mean ± Ļ): 72.7 ms ± 17.2 ms [User: 6.2 ms, System: 4.8 ms]
Range (min ⦠max): 49.5 ms ⦠99.7 ms 50 runs
$ hyperfine -r 50 "curl -so /dev/null 'https://movq.de/blog/postings/2024-05-23/0/t/word11a.jpg.jpg'"
Benchmark 1: curl -so /dev/null 'https://movq.de/blog/postings/2024-05-23/0/t/word11a.jpg.jpg'
Time (mean ± Ļ): 135.5 ms ± 28.9 ms [User: 17.8 ms, System: 5.6 ms]
Range (min ⦠max): 93.2 ms ⦠198.5 ms 50 runs
Damn, I broke my Atom feed (and a reader let me know, thatās cool!).
I run vnu on all HTML and CSS files after each build of the website, but I donāt run a feed validator. š¬ Time to change that.
@lyse@lyse.isobeef.org Mhm, yeah, I also think I like date := time.Date(2026, time.June, 19, /**/ 17, 0, 0, 0, time.UTC) the most. š¤ (My only gripe with this is that it isnāt obvious whether the third 0 is milli-, micro- or nanoseconds. These days itās probably nanoseconds, but you never know.)
If Claude Code tells me one more fucking time āFair pointā to a request I am going to loose my shit!
[copy-pasted from elsewhere]
Exciting news! D: HEAVY WATER, the second installment in #NealStephensonās Bomb Light series, publishes October 13th.
Europe, 1934. A British journalist arrives in Moscow on a routine cultural assignment. What follows pulls him across a continent on the brink: through Barcelona in the grip of civil war, across Soviet aerodromes, into the frozen landscapes of occupied Norway. At the center of it all is a substance so rare and so consequential that nations are quietly willing to go to war over it.
Heavy water. Two atoms of hydrogen. One oxygen. The difference between a world that holds and one that doesnāt.
For more information and to pre-order your copy, visit this link: https://www.harpercollins.com/products/d-neal-stephenson
Tour info will be shared later this week. So, stay tuned!
I recently "switched" from cd to zoxide ā this really is a time saver, should have done this earlier. #zsh
Ran at night for the first time in months. So very humid! But I plan to keep doing it.
Itās that time again, Iāve just rotated my #twtxt feed!
Find last quarterās twts at the feed, or see them on the web.
Hmmm are there really no decent Wayland (desktop) compatible image viewers that donāt drag in Mesa and all itās hundreds of dependences or GCC and libgcc and itās multi-hour long build time or Rust? geez
Going to see RUSH on October 5th in Denver, CO⦠Excited! First saw then in 1983. This will be 4th time.
How truly wonderful! I went out tonight and the first thing I noticed was the temperature drop. It felt actually quite pleasing. What a welcome surprise, I didnāt expect that at all. It was warmer in the forst than between the fields. The tiniest breeze helped to cool off the surroundings I think. Right now, the temperature shows 23°C. Itās supposed to reach 18°C at 5 in the morning before it rapidly shoots through the sky again.
When I left the house I even saw the very end of a nice sunset. A bat was around, too. The several thousand fireflies delivered a fantastic show. Itās such a pity that I cannot show this to you. :-(
There were many frogs or toads around. Luckily, the light tan gravel road made for a good constrast to the darker hopping amphibians. So, I spotted them just in time. No animals were harmed.
The moon was out and lit up the scenery. I was perfectly chasing my own shadow for several hundred meters on a forest road. I had the moon right in my back. That moon light shadow felt magical. <3
It must have set a new record on picking up spider webs along the way. The threads around arms and legs always feel quite yucky. People were blasting music somewhere in town. You could here that noise in the entire forest. I found that rather annoying. All street lamps are operational again, so I got already blinded right at the entrance to the town. But other than that, this was a very nice evening stroll. Totally recommended. Already looking forward to tomorrow. :-)
@movq@www.uninformativ.de Yeah, that would also be fine with me. I certainly do like the āarbitraryā in your comment.
While writing the article, I also thought about something like that:
date := time.Date(2026, 6, 19,
17, 0, 0, 0, time.UTC)
Or possibly:
date := time.Date(
2026, 6, 19,
17, 0, 0, 0, time.UTC,
)
But itās four lines for a damn timestamp. I also contemplated whether a comment acting as a separator is all thatās needed:
date := time.Date(2026, 6, 19, /**/ 17, 0, 0, 0, time.UTC)
I might like that the most. Not entirely sure yet. It kinda feels like a hack, but still a little elegant. Add your comment on top and weāre golden. Maybe?
I deliberately excluded them as this only distracted from the points I wanted to make. And I also realized that this example was just not ideal at all. Perhaps I should add them nevertheless?
If I ever invented a programming language, a much more human readable timestamp representation of some sort, RFC 3339 or very close to that would be part of that language. Something along the lines of /pattern/ for regexes in certain languages.
@lyse@lyse.isobeef.org Oh wow, weāre talking about such a detailed level. š¤
I agree with most of what you said.
I probably would have written it like this:
// Arbitrary reference date.
// Y m d H M S nano
date := time.Date(2026, 6, 19, 17, 0, 0, 0, time.UTC)
Would this be better or worse? š
@bender@twtxt.net @movq@www.uninformativ.de Ta! I donāt know about regional differences. But at the moment, they first start slowly appearing at around 21:45 to 22:00. And then it gets more and more. Youāve got about an hour until itās over.
People often say that they are in and over the meadows close to the edges of the forest. But at least over here, there are literally magnitudes more in the forest. So far, Iāve maybe seen thirty, fourty (30-40) fireflies outside at the meadows, but one or two thousand (1000-2000) inside. Exactly like last year.
They like a little bit openish spots in the forest. Not like a clearing, but if you can see ~10 meters from the path into the woodland, chances are that fireflies will pop up. But if itās really thick brush, the odds are very slim. The hotspots also slowly wander around over time. So, I just keep on walking after a few minutes of stopping to enjoy the show.
Hey. This is the first time Iāve replied from yarn. I became interested in mbox.blue, so I just signed up now. š»
@lyse@lyse.isobeef.org Yeah, I have a couple of teachers in my family and they all tell similar stories. š
I have almost no recollection of my time at the āGymnasiumā anymore. Iām either traumatized by it or I wasnāt very interested in what happened there. š But I have some vague memories of doing ācomputer stuffā at school. There certainly were computers and they certainly ran DOS games like Duke Nukem, that I do know. š Just checked my records, and no, this wasnāt an official class. At best, it was one of those AGs. š¤
@lyse@lyse.isobeef.org It was before my time as well. 3.0 was my first. š
@movq@www.uninformativ.de ahem that dreaded time has come! In the US they are due on 15 April, and wife, the tax doer, waits until the last day to complete them. āIf we are going to pay, we may as well delayā, thatās her motto. š
@movq@www.uninformativ.de That was before my time, I joined the party late. :-)
@movq@www.uninformativ.de Thatās right, way harder than centrally managed. They even didnāt reach concensus over the main folder: āAlle Programme, āAlle Programme (x86)ā, āAll Programsā, āAll Programmesā, etc. Anyway.
For class 11 (or maybe already in 10, I donāt remember exactly) we could choose either between traditional maths class with a graphical calculator or āMathe mit CASā. There were two teachers in my entire school who were able to teach the latter. It was also fairly new at the time I believe. Certainly unheard of for a āallgemeinbildendes Gymnasiumā, maybe the technical ones were already offering it for some time, not sure. It was clear to me that I would take the maths with CAS class.
Each kid had to buy their own Cassiopeia A-Something. I donāt know how much that thing was (definitely more expensive than a graphical calculator) and whether the school subsidized that in any form. But it was slow and underpowered as hell. We rarely used it in class nor for homework (most if not all had already a desktop at home). Typically, when we worked with the CAS, we sat down on the desktop computers. Our class took place in one of the two computer rooms. The desktops were placed on the three sides (left, right, back, facing the walls or windows) and the regular school desks were in the middle. Since there were more pupils than desktops, we always shared. Nowadays, we call it pair programming. ;-)
For the exams we had the āmandatory partā (Pflichtteil) without any tools. Once we finished that and handed the papers to our teacher, we were then allowed to boot up our Cassiopeias and work with them for the second part. Before the exam started, everyone had to show the teacher that they reset their small computer to factory settings. This second part was called āWahlteilā. But you had to do it in order to pass. So, I never understood the choice of this term. Maybe itās because the first part is the exact same for everyone (graphical calculator and CAS class), but the second part was definitely different for the two classes. Each suited to their tools.
After one or two exams, it became clear that the Cassiopeia was far from ideal. So, we took the second part at the desktop computers from then on. Our teacher unplugged the network cables himself to avoid cheating. Each computer had an āHDD Sheriffā running that reset the disk at startup. There was also an issue that the personal user accounts were affected by that. Sometimes all your data were lost. If you were lucky, they were still there. So, we saved our Maple project to local disk (if the computer didnāt crash in between, that was no problem) and at least eventually before leaving the classroom, we then also saved it on the server. For that, the teacher quickly plugged in the cable, we saved, and then the cable was unplugged again immediately. Oh, and everybody used their USB sticks, too.
All in all, this Cassiopeia A-* was quite a useless purchase. :-D Iām not sure if I still have it. At least I thought several times about giving it to the flea market. Donāt know if I did or not.
@movq@www.uninformativ.de Yes, this screenshot. However, not the Dutch but rather the German version, no wonder it looks so crazy!!1!11
Itās been a hot minute or two since I last used KDE, so I donāt remember exactly. I just vaguely recall that I found myself thinking multiple times that the KDE application categories were better matching or there were more or something like that. Most of my classmates were on Windows and had one giant long list of all sort of stuff in there. You even had to scroll in the menu. Sure, they installed all kind of garbage, which didnāt exactly help. Where in KDE, they were actually grouped by Office, Internet, Graphics, Multimedia, Games, etc. In Windows, applications usually hid themselves in a sub folder named after the software vendor. At least in the later (?) days.
I only used Win 95, 98 and XP at home. For maths class with computer algebra system (Maple), we had a Cassiopeia with Win CE: https://en.wikipedia.org/wiki/Casio_Cassiopeia At school, there was probably also Win 2000, but I donāt know anymore for sure.
@lyse@lyse.isobeef.org In what way was KDE 3ās menu organized? KDE 1 is the only KDE version I ever used. š Weāre talking about this one, right?
Isnāt Notepad++ and Python cheating!? :-D
Well, Python was certainly already a thing back then, but Notepad++ is from 2003, right. I think I used https://www.wintotal.de/download/proton/ at the time? Maybe? I donāt know. š
@movq@www.uninformativ.de Regarding https://movq.de/blog/postings/2026-06-16/0/POSTING-en.html:
In my opinion, the KDE 3.5 menu was organized way better than the Windows Start menu. Granted, a typical KDE installation had much more applications to offer, too. So, there was more need to get it right. And it probably was also later in time.
Isnāt Notepad++ and Python cheating!? :-D
Crazy story on the clockās seconds. I never heard of that before. Neat.
Yeah, UI these days is horrible. (Thatās why my own TUIs suck, too!)
Itās one of those topics that might cause outrage because Iām getting it all wrong.
So far, nobody noticed. It didnāt get posted on HackerNews or Lobsters this time, and it only got 46 hits so far (as opposed to ~50-100k hits when it does end up on those sites). š¤£
@lyse@lyse.isobeef.org Oh, 02.jpg is great. Camera just a little lower next time to put more emphasize on the ⦠whatever that is in the foreground. š
Oh god, finally: The thumbnail generator for my blog now renders a typical āplayā icon for videos.

Saves me the need to write āthis is a videoā every time. š¬
The dairy farm has a new milk vending machine. The prices increased by 20%. One liter is now 1.20⬠instead of 1.00ā¬. But I donāt complain.
In a few meters of shrubs there were easily 50 butterflies. That was crazy, Iāve never seen this many in one spot. I should have taken a video.
The grain field in the beginning was looking so great. Crazy colorful and very yummy looking. I would have loved to take a bite. Or at least lie down right in the middle.
That was another great time in the outdoors. The 21°C were killing us, though. We were always glad when we reached a shady spot with a little breeze. Iām not gonna survive the 35°C later this week. :-(
@maurice-renck@maurice-renck.de Nice write-up. One of the things I was always impressed with is that the GPS system has to account for time dilation due to the effects of relativity (38 microseconds worth, per Wikipedia).
All that for a burger!
After the last two days were dry and a tad warmer, I left the house a few minutes later to check again. It was similar to last time. One deer on the pasture that didnāt run off, it was roughly 15-20 meters away, a bit further than the day before yesterday. Probably even the same individual. Many moths, zero fireflies and another two deer on the mown meadow when I left the forest. Those were closer to 50 and 100 meters away and evenutally escaped into the woods. The same street lamps were off, too.
The lovely smell of cut grass was in the air. Venus and Jupiter reflected brightly in the West. What a stroll, I call that a great success. :-)
@movq@www.uninformativ.de Yes. The author tries hard not to break existing code, but apparently he did this time. In his defense, itās not an official release, I just updated to master. Which is exactly what I always did in the past as there are no real versions (I even think that in one ticket he wrote years ago that master is always stable). That has finally changed a year ago, though: https://github.com/rivo/tview/releases/tag/v0.42.0
tt. But then, in the message tree, I spot another missed typo. My process is then to go to my twtxt.txt and fix it by hand. However, I still have to clean up tt's cache. This is rather tidious:
Fuck me! I tried to upgrade tview and the first thing I notice is a shitload of added dependency versions:
go.mod | 18 ++++-----
go.sum | 97 ++++++++++++++++++++++++++++++++++++++-----------
My code does not compile anymore as the view.FormItem interface was extended. Get/SetDisabled(ā¦) are quickly implemented, no worries.
But the tview.Primitive (what makes a widget) interface has now a bunch of PRIVATE methods. For focus handling. Would you believe that!? Thanks, I cannot satisfy this interface in my very custom widgets anymore. Okay then, I just embed *tview.Box. tt now successfully compiles, but does not react anymore on key presses and the message tree is not focused either.
Iām not in the mood to debug this shit. :-( Lunch time.
tt. But then, in the message tree, I spot another missed typo. My process is then to go to my twtxt.txt and fix it by hand. However, I still have to clean up tt's cache. This is rather tidious:
Getting the vim key bindings to work for focus switching in this modal dialog took me forever. Only cursors and (Shift+)Tab are supported out of the box. I absolutely understand that, itās fine. I installed an input handler on the dialog, but the focus always stayed the same.
After two wasted hours, I was in despair to copy the tview.Modal into my own code base. Of course, I had to fix all the private tview field accesses first. But even installing the input handler directly on the buttons themselves did not work. Even though, the handler was definitely executed, the focus did not shift. Forcing redraws as a last resort also did not work.
Looking through all the messy chained input handling, I eventually stumbled across another place in the tview.Form, which is internally used by tview.Modal. This messed around with app focus receptions and input handlers. This gave me the idea to make the tview.Application refocus my modal dialog after I told the modal dialog which button to select. And would you look at that, this did the trick! I havenāt completely figured out what is going on exactly, but I could get rid of my Modal clone again.
I always go through hell with focus handling in tview. Each and every time. It just does not feel natural to me. Complete brainfuck to wrap my head around. The Urwid API felt sooo much more refined, it never was an issue. It just works. In fact, I cannot think of any other TUI library that has remotely the same pain level when it comes to focusing widgets as tview.
Now Iām curious how movwin deals with that. ;-)
Every now and then, I think that I have carefully proof-read my message enough times and hit the āAdd messageā button in tt. But then, in the message tree, I spot another missed typo. My process is then to go to my twtxt.txt and fix it by hand. However, I still have to clean up ttās cache. This is rather tidious:
- Recall the
sqlitebrowser ~/.local/share/twtxt/tt2.sqlitefrom my shell history.
- Switch to the āBrowse dataā tab.
- Go to the
messagestable and wait a second or two until itās loaded.
- Sort by the
created_atcolumn twice, so that I get descending order.
- Select the first message, which is typically the one in question.
- Find the āRemove currently selected rowā button in the tool bar.
- Commit the changes.
- Close sqlitebrowser.
So, I finally implemented the removal of messages from the cache in tt. I can now hit d and confirm the removal. Bam! Should have done that ages ago!

Next up is the search, I think.
