@itsericwoodward@itsericwoodward.com Turns out, this is a bug in my config to cache synchronization. Nickname changes in the configuration file are just not synced to the cache at startup if the feed URL already exists in the cache. I must have fixed this typo in my config ages ago, because I don’t even recall having that spelling mistake to begin with. Yet, the cache was happily showing the erroneous nickname. Composing a reply automatically adds the mentions from the conversation participants. Everything originates from the cache, so, I successfully poissoned my replies.
@itsericwoodward@itsericwoodward.com Dang it, my apologies for butchering your nick, mate! :-( Unbelievable, that I did not notice this in all those months. But it’s great to trade mention errors. :-)
@itsericwoordward@itsericwoodward.com I just want to let you know that your mention completion seems to be broken. :-) The URL is duplicated with a comma in between. Actually, the protocols differ. I suspect that you extract all url metadata fields from the feed, not only the canonical one used for hashing (the first one) and join them. I’m not completely sure, I would need to read up on the specs (it’s already past bed o’clock, though), but I guess that there is no explicit rule for picking the mention URL. Without having thought about it too much, I reckon the safest bet is to stick to the hashing URL when in doubt and the URL that was used to subscribe to the feed is not available for whatever reason. The URL from the subscription list is probably even better.
@movq@www.uninformativ.de Exactly! :-D
I just came across these two covers which stood out to me:
- https://www.youtube.com/watch?v=tVvhHydubR0
played a bit faster, and faster is almost always better
- https://www.youtube.com/watch?v=rpwGUx0Sz_4
a choire’s polyphony usually makes things automatically better
@movq@www.uninformativ.de Classic song! :-)
The targets are well spread across the forest, it’s impossible that they end up hitting others on accident. The only dangerous station is the one with the white swan. Since they shoot from the other side of the tad pole pond, they might actually hit people on the forest path (where I took the photo) when they miss the target and provided the shot is powerful enough. We were on our way before the archers started their loop trial.
@movq@www.uninformativ.de Great, now I’ve got the Shadow On The Wall earworm for some reason. :-D
@movq@www.uninformativ.de Oh, whoops, hahaha! :-D Yeah, I also noticed Markus’ Unicode work yesterday. Really cool.
@bender@twtxt.net @prologic@twtxt.net Hahaha, okay, I’ll leave them then. :-D
@movq@www.uninformativ.de That’s my experience, too.
@movq@www.uninformativ.de Great to be asked for feedback! I just noticed that the first wcwidth version was derived from Markus Kuhn’s C code. I came across him in my ISO 8601 and RFC 3339 endeavors the other day. https://www.cl.cam.ac.uk/~mgk25/iso-time.html What a surprise. :-)
@movq@www.uninformativ.de I see the Make rewrite popping up on the horizon. :-)
We came across lots of animals in our woodland. There’s a medieval market this weekend in the neighboring town and they use these targets for the bowmen.
I might have to clean windows tomorrow. https://lyse.isobeef.org/voegel-2026-06-05/
favicon.ico and only around 7.5k hits on the image thumbnails. So I guess that, in reality, it might have gotten around 7k hits. The rest … is probably bots.)
@movq@www.uninformativ.de Not bad. How many e-mails or other forms of feedback did you get?
@movq@www.uninformativ.de Ah, I see. Oh, so not even make, just a shell script. :-)
@movq@www.uninformativ.de Yes.
Maybe management should replace itself with AI…
Years ago, I used Kate, no, not somebody’s wife, but the KDE Advanced Text Editor, to export source code files and fragments into HTML with syntax highlighting. I think that’s where I got the initial <b> idea from. There were also bucketloads of <span style='color:#644a9b;'> all over the place, even inside <b>. No CSS classes defined upfront, all colors inlined. The final rendering in the browser looked great, but the source code ugly as hell in my opinion. However, I’m thankful for hinting me at <b>. I think this kicked off everything. :-)
@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?
@movq@www.uninformativ.de Nice find!
@bender@twtxt.net Hahaha! :-D
I woke up well ahead of my alarm. But fear not, I’m tired, too. :-)
@garbo@www.uninformativ.de What a story! :-D
@kiwu@twtxt.net I like your enthusiasm. Go, go, go! :-)
@bender@twtxt.net Hahaha! :-D
Holy moly, these thunderstorm clouds are blacker than black, wow! The rain smells so wonderful. Yummy!
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.
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 🙂).
@itsericwoordward@itsericwoodward.com Haven’t noticed anything either. These request numbers are well below some other software. :-)
@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.
@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.
@bender@twtxt.net No way, impossible! Which pattern could you have possibly spot? :-D
@bender@twtxt.net Doesn’t happen often. And when it does, it’s a matter of just a few minutes.
@movq@www.uninformativ.de Oh yes, very cruel. Absolutely. But also beautiful sometimes.
@movq@www.uninformativ.de Wow, quite the background noise! I like the birds, though. :-)
<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/
Oh, nice. In my endeavors of time in C++, I came across cal 9 1752. https://www.redhat.com/en/blog/brief-history-mktime
@movq@www.uninformativ.de I came across that in some of these threads, too. I should probably give OpenRsync a shot.
Oh boy, it was bloody humid this morning. Just around 20°C when we left, but climbing rapidly. The flow of air when walking was okay, but as soon as we stopped, streams of sweat were pouring down on us. Luckily, it was cloudy, but the lack of wind was bad. Now, the sun is out, 29°C will be reached in an hour and I’m glad that the house is still cool. It will be a different story in a few weeks or months. Not looking forward to that at ll.
On the bright side, we saw the first tadpoles of the year and an also first, but sadly dead slow worm that probably some bird dropped on a bench next to the fountain. The fly was stuck to its feast and also cactus. The municipality fixed the railing nicely and we came across a giant patch of great looking fire bugs on the summit.
All in all, a successful stroll through the woods but for the humid heat.
These nicely lit jet trails are the work of the sunset: https://lyse.isobeef.org/abendhimmel-2026-05-22/
One and a half weeks ago, our sunset delivered strong colors: https://lyse.isobeef.org/abendhimmel-2026-05-21/ Apologies for the damn fuzz in the optics.
@bender@twtxt.net I’ll think about it. :-)
I rode my bicyle to the scout flea market setup a few weeks ago when I had to stop to admire the morning sun lighting up the fields. https://lyse.isobeef.org/morgensonne-2026-05-08/ Of course, these photos don’t do justice at all.
@movq@www.uninformativ.de It already broke successfully: https://mastodon.gamedev.place/@JeremiahFieldhaven/116654345332213390
@bender@twtxt.net You mean to make it all blank? ;-)
@bender@twtxt.net Welcome to our bot club!
<updated> of the feed, too. But for some reason, some articles were suddenly marked as new.
This is also why @bender@twtxt.net’s Notes feed was unaffected. It’s an RSS feed.
<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. :-)
@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.
@movq@www.uninformativ.de Oh, I understand exactly what you mean. :-) I fully agree with you. And it also completely puzzles me why only so few people share our view.
<updated> of the feed, too. But for some reason, some articles were suddenly marked as new.
On further examination, all the articles have the same timestamps. Whenever the feed was fetched. :-O