I found my tripod and headed into the woods. There was a ton of glow. \o/ The fireflies were everywhere, super cool. It looked so amazing, especially with all the flying boys. There was one amazing spot in particular, I had 80-100 individuals in my view at once. Absolutely breathtaking. Unfortunately, the mozzies were also delighted about my visit.
I tried my best, but itās impossible to capture anything on film with my equipment. The fireflies are just way too dim. In the end, I managed to get some very bright girls in the bush. Thatās the best I could do, but still really bad. Sorry @bender@twtxt.net. :-(
https://lyse.isobeef.org/gluehwuermchen-2026-06-19/
And no idea what the heck is going on with the CSS there. Anyway. Garbage to trash, seems fitting. ;-)
@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 Gotta make the economy go āaroundā and keep public services in play š Good luck! š¤
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.
@prologic@twtxt.net Awesome work!
Iāve been thinking about learning Go for a while, maybe this will be the thing that finally gets me to do it.
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!
https://lyse.isobeef.org/tmp/tt-confirm-message-removal.png
Next up is the search, I think.
Belhod! I present Swag ā Build offline-first web apps in pure Go and HTML.
@lyse@lyse.isobeef.org Thanks!
On the AI changelog part, though, Iād rather recommend to just not have a changelog at all.
Iām afraid that ship has sailed. You can rest assured that someone who uses AI/LLMs for their code (which is almost everybody at this point) will most certainly also use it for changelogs.
I actually considered not mentioning AI output at all, because this just opens a huge can of worms ⦠š
While going through these terrible GitHub release pages, I also found these āNew Project Contributorsā sections
Yeah, they play on a nerdās pride.
Now, itās just the same auto shitshow with MR titles in a rolling date-versioned release scheme. Itās just our team who has to deal with that, though. I think Iām the only one who is not a fan of it.
Iāve found that this whole situation is much worse at work than it is in the Free Software world. At work, itās literally work and hardly anybody actually cares. We still donāt have all people convinced that writing good commit messages or using good branch names is worth the time. Itās ⦠oh god, no, Iām going to stop here, this is bad for my mental health. š
Suffice it to say, all release notes at work are now AI-generated. Nobody gives a fuck.
@movq@www.uninformativ.de Hahaha, great timing! :-D I love your article and agree with almost all your points.
On the AI changelog part, though, Iād rather recommend to just not have a changelog at all.
Another important thing for me is the deprecation notice section. What do I need to look out for in the future? Should I start to migrate to another API soon? Even right now? Or does it have time?
While going through these terrible GitHub release pages, I also found these āNew Project Contributorsā sections (yeah, for that, they found the time to make a section) annoying. Donāt get me wrong, sure, credit where credit is due. But come on. Soooooo much space for an inefficiently formatted (and also unsorted) list. At least it was easy enough to skip over it.
And then, there are also these changelogs or rather notice documents in general that are infested with multicolored emojis all over the place. My brainās spam filter kicks in and shoves everything to /dev/null immediately. Itās especially a thing at work.
In my previous work project, we also used the Keep A Changelog Format. That was great. You wouldnāt believe how often I resorted back to that document. At least twice a week, often several times a day. I was very glad that we put in this effort. Of course, writing the changelog took its time, but it was worth every minute and more. Reading a many months old item, it was immediately clear. I was our best customer in that regard.
Now, itās just the same auto shitshow with MR titles in a rolling date-versioned release scheme. Itās just our team who has to deal with that, though. I think Iām the only one who is not a fan of it.
@apptester@twtxt.net Cool! š My Offline-first Go/WASM + HTMX powered Yarn / Twtxt client is working š
Got absolutely jack and sick of all the fucking useless bots, C&C and shit⢠hitting my Git server tonight 𤬠So I sat down and built a lightweight version of Anubis, called caddy-pow. So now going forward, youāll have to (sorry) have a HS-enabled browser to hit git.mills.io which will hopefully make most (if not all) bots just go the fuck away š¤¦āāļø #Hostile #Web
There you go, it really does look better: https://movq.de/v/69d82e39f4/vid-1781183062.mp4
Heads up (literally): Thereās going to be a solar eclipse in August: https://en.wikipedia.org/wiki/Solar_eclipse_of_August_12,_2026 Mostly partial, unless you happen to live in Greenland/Iceland/Spain.
@itsericwoodward@itsericwoodward.com Yes, but is how we want to be behaving. We donāt like something so we go out of our way to be malicious and poison things? I get it though, the hypocrisy is very real here, with burning trees, eating up water supplies, and the massive amounts of energy going into this, but still, this is petulant behaviour and I donāt think it services any useful purpose other than rage and anger.
@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.
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.)
@kiwu@twtxt.net I like your enthusiasm. Go, go, go! :-)
@bender@twtxt.net Hahaha! :-D
I join the tired masses. So tired, I slept through my alarm this morning (something that hasnāt happened for over 20 years, easily), and wife woke me up asking āArenāt you going to work today?ā So yeah, I could have slept for a while more this morning, for sure.
Go get āem! š
@movq@www.uninformativ.de Hahaha, a ride indeed. Exactly, this affected each and every Atom feed and only Atom feeds. All RSS feeds worked like nothing ever happened. This std::string to time_t to std::string to time_t dance only happens for Atom feeds. RSS feeds, on the other hand, go right from std::string to time_t and be done. Thatās precisely what the second option is aiming to propose for Atom feeds, too.
I will clarify that tomorrow in the article.
Itās very interesting what kind of quirks accumulate in software over the years. Especially quirks, the basically noone knows of anymore. Until something explodes and gets rediscovered. Luckily, that doesnāt happen all that often.
@arne@uplegger.eu Iām similar⦠I use āIā most of the time (mostly in planning or trying to focus, ex: āIām going to do X, then Yā), but I also use āyouā when fussing at myself for my perceived faults or mistakes (thatās my ālizard brainā, we donāt get along so well because heās kind of a jerk).
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
And every time I ask it to do the same thing, it produces basically the same result. It will sometimes not produce a go.mod, but thatās probably because doing so isnāt as statically high as writing the code to sum numbers from stdin.
So going back to the understanding of how it generated this, is quite simply the most statistically relevant search space of itās weights it has been trianed on and it has basically just produced a series of tokens, one after another that are relevant to the input, the next token and so on. Itās a trivial example I know, but it basically pattern matches itās way through itās vast search space just producing outputs based on context.
@movq@www.uninformativ.de I think your points are pretty clear to me, thatās fine. Iām just seeing if you can perhaps see things a different way maybe?š¤ I would challenge the assertion that you cannot understand how Claude Code generated an output; which I can demonstrate easily with a fairly trivial example by the input:
Write a program in Go that sums a list of numbers from stdin and prints the result.
You can basically think of this as pattern-matching. Iām very very good at very fast pattern matching and piecing pices of a puzzle together very quickly, sometimes with very little to go on, itās often gotten me into a lot of trouble at work in my career because I can make a lot of assumptions very very quickly.
@bender@twtxt.net Fine, Let me answer properly and concretely š
Would you want your children not to learn anything, because āthey have AIā?
No, children still need to learn. That will never change. What they learn however will over time.
Are you OK with your children using the AI for all of their homework?
Yes, frankly I am. Why? Because much of what we teach them in school is utterly pointless.
For example, learning to read Shakespear never taught me anything useful in my life. I regret much of my school years to be honest.
I leanred to read and write, sure. But I learned Math, Science, Computing and how things work on my own by being very curious.
What sense will it make?
That assumes I answered ānoā, which I did not. So it all makes perfect sense :D
What kind of future would that bring for them?
This assumes I said āYesā, which I did :D It will be an itneresting future thatās for sure. I donāt think we can just bury our heads in teh sand and pretend itās all going to go away, It will not. It will make things very interesting for sure, as weāre already starting to see whatās possible and whatās changeing. For example; ordinary people are using these LLM(s) to write their legal suit and defense in courts with varying levels of success.
Even if AI were to become omniscient, what will it be of the human race then?
Iām not convinced it ever will. In fact, I am not convinced we know how to create true intellience at all.
What would we do?
What would be so different from say an Alien invasion from far superious beings?
What would we do that? Band together and defend humanity?
Serve the AI? Maintain the AI?
That assumes that āAIā will become intelligent and omniscient, which I donāt believe it ever will.
Would we have found the true meaning of life then?
If the meaning of life is to create our own sub-species liken to ourselves, sure, maybe. But is that even a reality? not sure, I doubt it. We barely understand ourselves at the best of times, let alone how our minds works.
To care for AI, Is that it?
How would this be different to caring for a friend, a family member If we could ever truly reate an actual sentient being with real feelings and intelligenace, is there any reason to worry? Could we not be freinds and have mutual goals and form relationships?
<updated> of the feed, too. But for some reason, some articles were suddenly marked as new.
Aha, yesterdayās newly added support for LC_TIME to render localized timestamps also broke the feed parsing with my LANG=de_DE.UTF-8 and LC_CTYPE=de_DE.UTF-8 environment. :-)
Atom feeds make use of RFC 3339 timestamps. They are first converted into RFC 882 timestamp representation, which is the one that RSS feeds use. However, this conversion now results in localized RFC 882 timestamps, which cannot be parsed into Unix timestamp numbers via curl_getdate(ā¦). I bet that it doesnāt know about the localization at all and expects English month and weekday names. Looking at its docs, I reckon that function was selected because of its myriad of supported timestamp formats: https://curl.se/libcurl/c/curl_getdate.html RFC 3339 is not included, though, hence the transformation up front.
The intermediate Item objects in the parser domain use std::string for the timestamp representation. This isnāt all that silly, because Newsboat supports all sorts of different feed formats with different timestamp formats. These RFC 883 timestamps are centrally parsed into time_t.
Speaking of time: Itās time to go to bed after this late bug hunting fun. :-)
noai.html page. Apart from the global updated field in my feeds (that one got changed), everything else should be stable, though.
@movq@www.uninformativ.de Thanks. I noticed the <updated> of the feed, too. But for some reason, some articles were suddenly marked as new.
On some YouTube feed <entry>s, I noticed updated <updated> fields showing todayās timestamps. But unless there is no <published>, the <updated> is not even considered. I verified that in the source code. Yet, all the affected articles in Newsboat show todayās timestamp, not the years old publication timestamp. I generate the YouTube feeds from the original feeds myself once a day, so I doubt that this is cause by some YouTube shenanigans.
Very weird, it doesnāt make any sense at all. What is going on here? O_o It doesnāt appear that I have duplicates in the database either.
Of course, @movq@www.uninformativ.de! Most of my points are also included in your list.
First of all, programming is what I really do enjoy the most. So, it doesnāt make any sense at all to not do this anymore. āBut you could use your now free time to do something much cooler and more valuable!ā, others might reply. Fuck no, I donāt want to waste my time with other shit that doesnāt fulfill me, why on earth would I want to do that?
All this hallucination reduces quality badly. In my experience, itās also happening much more rapidly than I expected. Even though developers are still supposed to own and understand whatever has been generated under their name and even be responsible for that, the sad reality is that teammates often blindly trust the AI output. āBut I asked the AI and it told me that $this was impossibleā, āIāve no idea either, but the AI just generated itā are responses I get more often. What really makes my angry is when I point out a flaw and suggest an alternative and this is the reaction. It happened several times that just trying it out and seeing it clearly work to proof my point only took me half a minute, but people still did something handwavy else instead.
The learning effect is drastically reduced. The more time I spend on a topic, the better the odds that whatever I learned actually makes it over into long-term memory. Itās like if a collegue just says ādo it like thatā or āthis solves your problemā, but neither explains the why or how. Somehow, people are still convinced that itās a completely different story when you replace the human counterpart with a computer program in this equation.
Skills are unlearned. Itās like with automation in general, just much worse. You end up in a state where youāve no clue how anything works under the hood or how to actually find out important information that are needed to solve your problem. Youāre screwed when a process breaks out of the blue. Even though it can become also rather terrible, with classical automation youāre typically still be able to decipher how exactly the thing was supposed to do something.
The energy consumption is sooo high, I absolutely do not want to be a part in burning down our planet. Iām sure I find (and probably have long found without knowing) other ways to contribute to worsen our climate crisis.
The scraper part is already covered in detail in your list. :-)
Iām convinced that license and copyright violations are only played down or even refused entirely because companies want to make big money quickly. With the work of others of course. Their double standards are obvious, they still try to actively keep their own stuff secret and out of any training sets. At most for internal use only. Virtually noone in charge is interested in good long-term solutions. Short-term for the win, when disaster eventually strikes, the causers are long gone, the responsibilities in other hands.
Vendor lock-in is something that lots of folks are only realizing very slowly. Itās completely crazy to me. This drug dealer routine should be well-known by now. Itās fucking everywhere. Yet, people are always surprised when they found themselves caught in it.
Adding new AI stuff only increases complexity. But complexity is the enemy that everybody should fear and reduce as much as possible. Of course, this is not limited to AI at all. And everywhere I look around, people in charge looooove to make things way more complicated than they ever need to be. Yet, simplicity is the real art and much harder to achieve.
I donāt understand why we have to go back full force to the ambiguity of natural languages. This alone should be more than enough to realize what a stupid idea all that is. Linked to that is that the āinstruction setā is interpreted differently with newer model versions. I mean, is has to be. Why else would somebody want to upgrade in the first place than to get more Powerful⢠Featuresā¢?
Some people argue that with AI the democratization is empowered. However, in my view, the exact opposite is the case. Models are getting so large that you can basically not run them locally or even train them. So, you have to rely on whatever the vendor offers you and runs for you. In the end, this only gives the owners more power, the multi billionaires. Not exactly what I understand by democratization.
Finally, technology assessments are missing completely. Or they are faked such that mostly only the (questionable) benefits are listed. But all the negative impact is just ignored.
Letās keep some popcorn around for when this all explodes. :-)
@movq@www.uninformativ.de If you really like to, you can try to negotiate with your employer that you can leave earlier. At least some mates were successful in that. I mean, itās also in the companyās interest to not have to pay someone who has already mentally resigned long ago.
And on the bright side, you donāt even have to hand over anything. Your boss doesnāt have to look for a successor, so they can just let you go even sooner. This AI shit will simply continue whatever you did, no problem!!
Itās so crazy. I should probably also look for something else. :-(
@movq@www.uninformativ.de ooooh, yes! I am going to subscribe to that. Well done.
@movq@www.uninformativ.de What are you going to do about this? š§
I went 1-for-2 again at Magic today, winning the first game with my (mostly standard) Fallout āHail, Caesarā deck by creating a swarm of soldiers and slapping people across the face with them (LOL!), before quitting the 2nd game for lack of time after my board got wiped (I mean, I might have lucked into something eventually, but it was getting late, so I dropped out).
I hope to play more regularly going into the summer, but who knows.
@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.
@tftp@tilde.town hey, my pleasure! Have a great weekend! I am going to off for a few days to do a whole lot of nothing. Canāt wait! š
@a9b5c: Just donāt go all Richard Lopez ok?
@prologic@twtxt.net Yep, thatās what Iām going for. š I mean, I donāt want to make an exact clone, just catch some of the DOS vibe.
@lyse@lyse.isobeef.org LOL! Thatās brilliant. (Weāre going back to that. Some Amazon employees probably already are.)
Many people started to become distrustful of big tech in the wake of the COVID-19 pandemic. I began feeling pessimistic back in 2016, when AlphaGo beat master Go player Lee Sedol four games to one. Something about that event has soured me on the future of technology ever since.
I completely forgot, I saw my very first badger in the wild the day before yesterday. :-) That was absolutely cool! <3
I heard something comparatively large rustling in the bush right next to me and thought that it must be dear. Naturally, I stopped and tried to see whatās in there. The rustling went up the bank and it suddenly came down again towards the road I was on. Thatās when I first layed eyes on it and identified it as a badger. For a split second I thought that itās going to get after me and was ready to get running. But it just hadnāt noticed me yet. When it eventually spotted me, it froze for a few seconds and ran off uphill. My camera took too long to boot, so it was already gone by the time the photo machine was good to go.
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! šā
@bender@twtxt.net There ya go! 8-) https://lyse.isobeef.org/abendhimmel-2026-04-27/wiiiiiiiiiide.jpg
@lyse@lyse.isobeef.org I see him on those photos, and his singing starts ringing in my ears. I also thought, āI am going to miss himā because, you know, nothing is everlasting. But then I reproached myself; āenjoy the moment, dude, donāt taint itā. And so I shall.
@prologic@twtxt.net I am going to give it a more serious spin (meaning I am going to go read the help page). Iāve got to tell you though, most successful games do not need a help. But I am fully aware that there is a subset of gamers that would not mindāif not appreciateāa game with help, manual, and the likes.
@kiwu@twtxt.net Working on my game Frontier Crown ā Going to push a new version today hopefully that includes much improved graphics, expanded ruleset and scope.
@lyse@lyse.isobeef.org maybe they go after the impact. A single? Meh. An album? āWoah! These guy(s)/gal(s) are busy!ā Also more possibilities for people liking at least one song. Anyway, thatās my theory, and I am sticking to it! :-P
With all these new ways of digital publishing, Iām wondering for years why music artists still release entire albums. I would have imagined that most bands simply publish a new song whenever itās good to go. But no, at least in my bubble, everybody still collects a bunch of new songs before throwing them as a collection into the crowd. I never used any of these streaming services, though, so maybe Iām just completely uninformed.
Thereās a joke for win fans. Q: I have a problem with my win system. Can you help me? A: Yes. Go to the dos prompt and type format c:, then press OK and all your problems cease within a minute.