Itās been a week, so⦠Arcade Time!
@movq@www.uninformativ.de Wow, Iām sorry to hear about that. Permanent emergency mode sucks, Iāve been there, and it always felt like drowning.
Fortunately, at my current job, weāve been given time to keep our technical debt from overtaking the project. Unfortunately, weāve been forced to use AI (mostly in the form of GitHub Copilot). Of course, now that the tokens cost more than a developerās salary, theyāve been rethinking that position somewhat. š
In my experience, you are 100% correct - even in the best case, AI is a force multiplier. If the code is clean, it can speed you up. But if the code is a mess, itāll just multiply the mess.
@movq@www.uninformativ.de One at a time, until you build up trust, coherence to make them a maintainer š
@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.
My name is changed every time I ho here. Only if I come over gooher floodgap.com/gopher/gw it is allways the same name.
Proxmox setup on home server home⦠time to play
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.)
Played some games, boosted some toots, tweaked some code⦠now itās time for bed.
@movq@www.uninformativ.de Itās the āLyse types the entire HTML by handā generator. Yes, no kidding. I write articles so rarely, that I can do that once in a while. Itās fun to some degree, but also not.
After some time, I finally recorded some Vim macros to insert <b>ā¦</b>, <var>ā¦</var>, <span class=s>ā¦</span> etc. around the tokens. This helped a little bit. But I was still questioning my mental state doing it like that. I also had to fix a bunch of the end tags by hand, because the word movement wasnāt enough or the end movement went too far. Quite the annoying process for sure.
But I think the HTML looks a wee bit nicer and is maybe even semantically a little bit better than having only <span>s everywhere. I find the <span class="whatever"> just soo awfully long. Of course, I never look at the code again, but knowing, that e.g. there is a <b> and it saves so many bytes in comparison, makes me happy. It is a more elegant solution in my opinion. Not by much, but better nonetheless. Itās a matter of simplicity. Admittedly, even I canāt avoid the <span>s alltogether. Oh well. On the other hand, Iām sure that this does not make any difference whatsoever. I bet, nobody and nothing, like a screenreader, analyzes the HTML for that, where this would be truly useful.
Oh! Maybe text browsers, though. It just occurred to me while composing this reply. :-) Haha, I lost my bet quickly. w3m picks up at least the <b> for keywords and builtin types, <u> for filenames and <i> for comments. Yey. No different styles for <var> and <mark>, unfortunately. elinks only renders the bold. Itās cool that I had the right intuition right from the beginning, despite being unable to pinpoint it. :-)
All the <span> hell with common syntax highlighters is a downer for me that keeps me from looking more into them. If I wrote more articles, I might rig something up with Pygments. At least thatās somehow positively connotated in my brain. Not sure if it actually deserves it, but I dealt with that in some loose form (canāt even remember) years and years ago. Apparently, it wasnāt too terrible.
To prepare the table of contents, I used grep and sed with some manual intervention in the end. The entire process can be improved. Absolutely.
You wrote your own site generator, didnāt you?
@prologic@twtxt.net I do! I paginate usually 10 times on HN. Their algo is so messed up (but it works, I guess) that not doing that will make me miss a lot of good, interesting, things.
express-twtkpr npm library), and it kind ran amok a few times. So again, sorry - I've added a minimum 10-minute cool-down period between pulls which should help (I hope š).
@prologic@twtxt.net @bender@twtxt.net Thanks! Yeah, it already supports Twt Hash via twtxt-lib (both v1 and v2, when the time is right), plus most of the other features (multiline, user-agent, and metadata), and Iām working on (re-)implementing threading, mentions, and hash filtering (to make conversations easier to follow).
Hereās a current snapshot of my local version, in case anyone is interested:

@lyse@lyse.isobeef.org LOL. Always ahead of times! Lyse, the man from the future! Sic mvndvs creatvs est!
I was wondering why all the twt hashes in my replies today were still so short. I was ahead of the times. The Twt Hash v2 Epoch only begins next month.
@movq@www.uninformativ.de Interesting read! The current state is already a very great achievement. I felt honored being able to already have followed your development along here on twtxt. :-)
Thatās a cool clock, I should remind myself of my working time, too.
Apologies to anyone whoās seen an uptick in twtxt pings from me today⦠Iāve been working on shoe-horning my twtxt reader (TwtStrm) into my editor (TwtKpr, aka the express-twtkpr npm library), and it kind ran amok a few times. So again, sorry - Iāve added a minimum 10-minute cool-down period between pulls which should help (I hope š).
@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.
<updated> of the feed, too. But for some reason, some articles were suddenly marked as new.
I wasted my entire weekend on the writeup. If you have way too much time to spare and also are interested in a bug analysis of a software that you donāt even use, I have you covered: https://lyse.isobeef.org/newsboat-time-parsing-bug-analysis/
Last minute entry for #caturday (at least in this time zone)ā¦
This is Shadow. Heās an incredibly sweet boy who likes long walks (on your shoulder), loving on his puppies, and laying in his bowl(s).

Last minute entry for #caturday (at least in this time zone)ā¦
This is Shadow. Heās an incredibly sweet boy who likes long walks (on your shoulder), loving on his puppies, and laying in his bowl(s).
@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).
Oh, nice. In my endeavors of time in C++, I came across cal 9 1752. https://www.redhat.com/en/blog/brief-history-mktime
@prologic@twtxt.net Ahh, I see. Okay, Iām with you there. On this high level, I can understand how the thing works.
Maybe my wording isnāt good. š¤ Letās take a real life example from what we do at work.
Thereās this AI chatbot. It gets support requests from users, so the user says something like āI need access to a particular systemā. This triggers the bot to ārunā the instructions stored in a large Markdown file, like ācheck if the user is authorized to do this, then issue the following API requestsā, and so on. This is essentially like running a little script, except itās written in natural language (German) and thereās no āscript interpreterā but just the AI.
Now, suppose that the AI doesnāt quite do what was intended. Thereās some subtle bug. How do you debug this? How do you find out how the AI came to the āconclusionā to run step A instead of step B? And how do you find out how exactly you have to change your prompt so this doesnāt happen again next time?
If this was an actual script/program instead of AI, you could repeat the request and attach a debugger or throw in some printf() or whatever. How do you do that kind of thing with AI? How do you pinpoint exactly what the problem was?
(Or is this just a stupid idea? Do we have to give up that way of thinking when using AI? Is the era of debuggability over?)
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.
Most of the time, I take a very very long time to do anything. If I say, for example, āIāll build an IRC Web Clientā, that may not happen for weeks, if not months, until my sub conscience has has time to process everything. Itās like basically a āfeelingā of internal readiness. I never talk through it, never actively think about it, it just happens.
@bender@twtxt.net So yeah, no, I do not have an inner monologue at all. Most of the time my inner mind is busy just replaying music or visuals (or at least it used to before I lost my sight, these days it just replays visuals and sounds), but there is never a time when I ātalk to myselfā, ever, I donāt ever think through something, a problem or an activity and have self-arguments. I just do.
@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?
@bender@twtxt.net Nope. Trust me I do not. The only time I do is when Iām reading/writing. I otherwise have no inner monologue when doing anything.
@prologic@twtxt.net let me ask you this. Would you want your children not to learn anything, because āthey have AIā? Are you OK with your children using the AI for all of their homework? What sense will it make? What kind of future would that bring for them? We need to analyse the repercussions from all angles, even if AI were to provide absolutely flawless answers every single time. Even if AI were to become omniscient. What will it be of the human race then? What would we do? Serve the AI? Maintain the AI? Would we have found the true meaning of life then? To care for AI. Is that it?
Is it the fact that ābig techā companies have basically stolen all of human knowledge to their benefit to build these AI(s) thatās the problem? Or is it that these AI(s) can write code better than you can (some of the time)? Or is it that because of all of the above, thereās no joy left in writing code anymore? š¤
happy boards of canada album release day! 13 years was a long time to wait.
@lyse@lyse.isobeef.org Alright. š
Yeah, donāt waste time on this. I have a vacation coming up and I wonāt touch this subject, either. Fuck this shit.
I really like your style of writing, btw. Itās much calmer and less aggressive then mine. :-) When I turned my bullet points into paragraphs, I got a bit mad in the process.
This is like the 32nd iteration of that list and it was much worse in the beginning. š
<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. :-)
@lyse@lyse.isobeef.org maybe the time has come to dust off that https://lyse.isobeef.org/ page? ;-)
@movq@www.uninformativ.de I really like your style of writing, btw. Itās much calmer and less aggressive then mine. :-) When I turned my bullet points into paragraphs, I got a bit mad in the process.
Sure, feel free to include anything you want. Regarding citing, this is where twtxt falls short in my opinion. Especially with feed rotation, classic links die quickly. Message hashes only help so much. Nobody outside the twtxt universe knows how to deal with them. So, not perfect for inclusion on a web page. Linking to a thread or message on some yarnd instance might be the more user-friendly option. But the disadvantage is that itās ājustā a mirror, not the primary or original source. In all reality, this could be considered splitting hairs, though.
I should have probably written a proper article. That would have given me time to review the result more carefully, too. ;-) Perhaps thatās something for the future. But honestly, Iām not sure if I really want to waste my time and energy on that subject. So many other fun or useless things come to mind right away that I could do instead. 8-)
So, yeah, do whatever feels best to you. I donāt mind being cited or linked, but I also donāt mind not to be cited or not to be linked to. :-D Not a helpful answer, I know. Sorry. ;-) But anyway, thanks for asking, mate! I do appreciate it.
To finish my thought, linking to my frontpage is probably also useless, since I deliberatly do not have a table of contents there. In fact, my entire frontpage is rather silly.
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. :-)
@lyse@lyse.isobeef.org Yeah, Iāve heard of that option (āAufhebungsvertragā). I guess the real challenge will be finding something else that isnāt just as silly.
And on the bright side, you donāt even have to hand over anything.
They actually say that with a straight face. (Did I mention that already?) āThe age of maintainership is over. Anyone can now contribute to any project at any time.ā
@prologic@twtxt.net oh, I see, convoluted pleasures have taken over your time, eh? One day I will grow up to be like you. I hope. Maybe. š
@bender@twtxt.net I have no time for simple pleasures anymore š³
Iāve started collecting reasons against AI usage here, so I donāt have to repeat myself all the time:
Itās official now: People are vomiting AI code into a repo that Iām supposed to maintain. At the same time, I donāt have the authority to decline those PRs.
RIP.
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.
I just missed the 20 year anniversary of my blog. š¬ What a stupid long time to do this.
This started out as a PHP page with user comments, MySQL as a database, a PHP webadmin ⦠can you believe that? Totally unnecessary. But everything was āLAMPā back then, so thatās what I was using as well. I kicked out MySQL in 2011 (it just stored files since then) and eventually switched to static HTML pages in 2015.
RSS feeds have only been there since 2009, because I was late to the party. For a long time, I didnāt understand what they were good for. š¤¦
@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.
I should have changed the key binding from Print to Shift+Print a long time ago to launch import and upload the screenshot to my server. I was constantly hitting that stupid key on accident when I actually wanted to press [AltGr].
If I only could map a key binding to slap these damn ThinkPad T15 keyboard layout designers at Lenovo remotely in the face. Seriously, who in their right mind puts Print (in German Druck) between AltGr and Ctrl at the bottom row to begin with?! Exactly. Nobody. What a horrible location.

@kiwu@twtxt.net Wuuiii, what to do with all this free time suddenly!? Wait, what? Free time? Nah, nevermind. Now, the time begins where it gets even worse once you start a fulltime job. Congratulations, mate! :-D
Itās time soon to buy a new PC. Why? Because browsers are getting slow.
@bender@twtxt.net Apologies, Iām still working through some layout issues with TwtStrm and frequently miss mentionsā¦
Magic: the Gathering does not use a Game Master (although professional referees are often used in sanctioned events). While the game has alot of thematic crossover with with D&D (or fantasy games in general), the system is much more of an abstract, card-dueling system involving things like āthe stackā and insanely specific rules on card timing and interactions.
Like, we joke about āIām sending my army of (goblins / elves / angels / whatever) at you,ā but thatās about as far into the ārole-playingā element most magic games get in my experience (and most of the āofficialā competitive games Iāve played at my FLGS were even more abstract and less thematic, although itās been years since I played in one of those).
So, itās plenty good enough for them.
Yeah, but on the other hand, you canāt even log in normally to a Matrix/Element account. I mean using username + password. Itās not expected that you ever log out or lose your browser session. If you do, you must use a one-time backup code (that you must create and save beforehand) to log in again.
To be fair, I canāt say that I fully understand what Matrix is doing in the first place. The text that I quoted reads like they have your keys. But they also claim that they only store this stuff encryped: https://element.io/en/help#encryption5 So ⦠encrypted with what? Only option here is my password, isnāt it? (But if my password was good enough to reclaim an account ⦠why do all the other stuff ā¦)
Matrix takes end-to-end encryption seriously. When I ran a Matrix server for the family, the family members would regularly lose their keys, because they didnāt pay attention to something. Thatās on purpose! Or rather, that was on purpose. Maybe itās different these days?
No clue.
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.
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.
@movq@www.uninformativ.de I see, thank you. Maybe I remember next time. :-)