Searching We Love Privacy Club

Twts matching #FUN
Sort by: Newest, Oldest, Most Relevant
In-reply-to » @movq Thanks. I noticed the <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. :-)

⤋ Read More
In-reply-to » @lyse (Do you want to be linked on that page? Do you want your name to be there at all? 🤔)

@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.

⤋ Read More
In-reply-to » The original twt is unavailable. It may have been edited or deleted, or is from an unknown or muted feed.

@tftp@tilde.town you say that like it is a bad thing. It is not! 😅 Once you have learned your way around, all works together quite lovely. Of course, experimenting with new clients is fun too!

⤋ Read More

I’m pleased to announce that express-twtkpr (my ExpressJS library for hosting, editing, and posting to a twtxt.txt file) continues to crawl towards a full release with another (pre-alpha) update published to NPM. This update includes a whole new plugin system, and even a (little) more documentation. Check it out, if you dare (and use it at your own risk): https://www.npmjs.com/package/express-twtkpr

And speaking of plugins, here’s where the fun’s at: announcing express-twtkpr-core-plugins, a set of 3 plugins for your TwtKpr install: emojiButton, uploadButton, and postToMastodon. Like express-twtkpr, this set of plugins is still in pre-alpha, and lacks documentation, examples, tests, installation flexibility, or polish (so also use them at your own risk). Other than that, they work great: https://www.npmjs.com/package/express-twtkpr-core-plugins

Image


Image


Image

Stay tuned for more! 🤘

⤋ Read More
In-reply-to » @lyse your wildlife photography is getting much better! Got to name them, what do you think? Too early? :-)

@bender@twtxt.net I misread that sentence and thought that your first crush was called Gisela, and was like “wait, he’s not that old”.

Turns out, Gisela is a much younger name than I thought:

https://namecensus.com/first-names/gisela-meaning-and-history/

A peak in the late 1970is and late 1990ies? What?

But then it turned out that, in Germany, the popularity dropped rapidly in the late 1950ies, which actually matches my expectations:

https://www.beliebte-vornamen.de/5203-gisela.htm

In other words, some other countries picked up the name Gisela after it had already faded away in Germany.

What a fun rabbit hole. 😅

⤋ Read More
In-reply-to » @lyse Turns out, this actually was a little machine once (small netbook): https://movq.de/blog/postings/2011-04-28/0/POSTING-de.html And then I moved the whole installation to a different laptop later. I love that you can easily do that on Linux.

@movq@www.uninformativ.de Oh, nice! I never was brave enough to try to move the OS to a different machine, always reinstalled from scratch. :-S

A mate also had this or a very similar white Samsung netbook. I remember typing on that thing was no fun at all for me, never hit the single right key. :-D

I’m not a fan of netbooks, there’s not remotely enough screen space for my taste. I always had 15 inch notebook. Sure, they are way heavier, but I can actually get work with them done. And yes, glared screens are an invention right from the devil himself. Completely stupid.

⤋ Read More
In-reply-to » The original twt is unavailable. It may have been edited or deleted, or is from an unknown or muted feed.

@kiwu@twtxt.net I returned home from an on-site week at work. Commute was an adventure every day. It started off with a canceled train on Monday morning. Luckily, some very good mates granted my asylum. But even with shorter rides, I faced delays due to fuckwits on the tracks, then the train was terminated early due to the large delay, so we had to change trains. On the bright side, they then sent an entirely empty one, but I don’t get why they just didn’t continue with the first one instead. Due to another delayed train I didn’t catch my connection and the next one was canceled, so I had to wait for the following one. Super great fun. I’m very exhausted now and am very glad that I had already filed in flex time for tomorrow before the on-site event was scheduled.

Meeting my workmates in person was actually nice. It’s okay to do that once a quarter, I don’t need to do that more often. We should have had more meetings, though, trying to work in the office was expectedly incredibly inefficient. We certainly would have had more topics to actually discuss and think about. And most of them would have really benefited from nearly everybody being in the same room. Anyway.

Today, I even met my workmates from past projects in the office, too. So, the socializing was great.

⤋ Read More

[$] Tagging music with MusicBrainz Picard
Part of the “fun” that comes with curating a self-hosted music library is tagging
music so that it has accurate and uniform metadata, such as the band names, album titles,
cover images, and so on. This can be a tedious endeavor, but there are quite a few
open-source tools to make this process easier. One of the best, or at least my
favorite, is MusicBrainz Picard. It is
a cross-platform music-tagging application that pulls information from the
well-curated, … ⌘ Read more

⤋ Read More

We cleaned up the forest today with the scouts at absolute dream weather. Blue sky, no clouds, 19°C sunshine. In the morning it was still quite chilly and windy, though. We didn’t find anything spectacular, maybe a rubber dinghy, three car tires and a broken ratchet strap are the most outstanding things to me apart from all the general rubbish, cigarettes, glass, wet wipes, etc. Still, a very fun activity. In the end we had bockwurst, grilled cheese and lye buns on the camp fire.

I then went for a quick stroll with my mate. It’s crazy how quickly the clouds moved in, 30-45 minutes tops. There will be rain in an hour. And the coming days only reach half the temps. I’m glad I took advantage of the great spring day. Haven’t seen Azabache yet and with the rain on deck, the odds are against him and me.

https://lyse.isobeef.org/waldspaziergang-2026-04-11/

⤋ Read More
In-reply-to » Eehhh, what the hell is going on here!?

@movq@www.uninformativ.de Yup, I’ve also seen the floating point conversion happening with (1 << 63) - 1 yesterday night. But instead of pausing to think about it for a second, somehow all I had in mind was “give me a better representation, ain’t gonna have time for this shit”, so I turned it to hex. Beyond my comprehension what I was thinking there. O_o That’s embarrassing, unbelievable. Well, I blame late o’clock where my brain had already quit on me and went to bed.

Very interesting data point you raise there. The fun part didn’t cross my mind yet or at least I couldn’t pinpoint it. In hindsight it’s totally obvious, though. Past experience also tells me the exact same. Dealing with a problem and researching something myself is a so much more better teacher. The longer I faced up with a topic, the higher the chance to really manifest in long- or at least mid-term memory. If I just get told something, the odds are that it’s completely erased from memory in a matter of days if not hours.

⤋ Read More
In-reply-to » Eehhh, what the hell is going on here!?

@lyse@lyse.isobeef.org AI result ahead, feel free to ignore.

I “asked” the AI at work the same question out of morbid curiousity. It “said” that SQLite converts that integer to floating point internally on overflows and then, when converting back, the x86 instruction cvttsd2si will turn it into 0x8000000000000000, even if the actual floating point value is outside of that range. So, yes, it allegedly actually saturates, as a side effect of the type conversion.

I couldn’t find anything about that automatic conversion in SQLite’s manual, yet, but an experiment looks like it might be true:

sqlite> select typeof(1 << 63);
╭─────────────────╮
│ typeof(1 << 63) │
╞═════════════════╡
│ integer         │
╰─────────────────╯

sqlite> select typeof((1 << 63) - 1);
╭──────────────────────╮
│ typeof((1 << 63) ... │
╞══════════════════════╡
│ real                 │
╰──────────────────────╯

As for cvttsd2si, this source confirms the handling of 0x8000000000000000 on range errors: https://www.felixcloutier.com/x86/cvttsd2si

The following C program also confirms it (run through gdb to see cvttsd2si in action):

<a href="https://we.loveprivacy.club/search?q=%23include">#include</a> <stdint.h>
<a href="https://we.loveprivacy.club/search?q=%23include">#include</a> <stdio.h>

int
main()
{
    int64_t i;
    double d;

    /* -3000 instead of -1, because `double` can’t represent a
     * difference of -1 at this scale. */
    d = -9223372036854775808.0 - 3000;

    i = d;
    printf("%lf, 0x%lx, %ld\n", d, i, i);

    return 0;
}

(Remark about AI usage: Fine, I got an answer and maybe it’s even correct. But doing this completely ruined it for me. It would have been much more satisfying to figure this out myself. I actually suspected some floating point stuff going on here, but instead of verifying this myself I reached for the unethical tool and denied myself a little bit of fun at the weekend. Won’t do that again.)

⤋ Read More
In-reply-to » Just a couple of shots from our trip to Bald Rock—finally got reception so I can share them!

Lovely pics, mate! Looks like the weather cooperated nicely too! 😍 Take more, share, but, most importantly, continue having fun! 🙏🏻

⤋ Read More

April 1 Linux Patches: Verified Birth Date For File Creation, Block Emacs From Running
What’s more annoying: half-baked AI slop open-source patches or April Fools’ Day with programmers trying to have some fun? This year, April 1 is seeming more patches than usual… ⌘ Read more

⤋ Read More

Apple’s Early Days: Massive Oral History Shares Stories About Young Wozniak and Jobs
Apple’s 50th anniversary is this week — and Fast Company’s Harry McCracken just published an 11,000-word oral history with some fun stories from Apple’s earliest days and the long and winding road to its very first home computers:

Steve Wozniak, cofounder, Apple: I told my dad when I was in high school, “I’ … ⌘ Read more

⤋ Read More