In-reply-to » Come on, why is the bloody IBAN only in the damn HTML part of your e-mail but not in the plain text!? Grrr! Don't you wanna get paid, dealer!? Your new web shop system sucks so bad, I want the old version back.

@movq@www.uninformativ.de > That guy over there in the corner…

I’m literally sitting in a corner chuckles. I rarely get any emails nowadays. But if I do and it is not plain-text, then my Mutt gets to bark at it and I, just… won’t read it. 🤷🏽‍♂️

⤋ Read More
In-reply-to » Come on, why is the bloody IBAN only in the damn HTML part of your e-mail but not in the plain text!? Grrr! Don't you wanna get paid, dealer!? Your new web shop system sucks so bad, I want the old version back.

@movq@www.uninformativ.de Yeah. :-( But hey, there are at least six of us using mail as it should be™. :-)

I sent the dealer an e-mail about that with all sorts of other issues as well. Let’s see if they fix anything of that some day. Or yet just even read it.

⤋ Read More
In-reply-to » Come on, why is the bloody IBAN only in the damn HTML part of your e-mail but not in the plain text!? Grrr! Don't you wanna get paid, dealer!? Your new web shop system sucks so bad, I want the old version back.

@lyse@lyse.isobeef.org … because you, me, and that guy over there in the corner are the only three people left using plain-text email. 🫤 (And probably Stallman.)

⤋ Read More

It all started in New York in the early 1980s. Click, now 85, and his friends were sitting at the long bar of the New York Athletic club reading magazine articles about boxing, fencing, judo and wrestling. “One of my mates said, ‘Dude, we don’t do any of those things.’” They had to face it. They were dull. They decided to embrace their dullness.

As a joke, they started The Dull Men’s Club, which involved some very silly, dull activities. They chartered a tour bus but didn’t go anywhere. “We toured the bus. We walked around the outside of the bus a few times. And the driver explained the tyre pressures and turned on the windscreen wipers.”

https://www.theguardian.com/society/2025/jun/09/meet-the-members-of-the-dull-mens-club-some-of-them-would-bore-the-ears-off-you

⤋ Read More

Come on, why is the bloody IBAN only in the damn HTML part of your e-mail but not in the plain text!? Grrr! Don’t you wanna get paid, dealer!? Your new web shop system sucks so bad, I want the old version back.

⤋ Read More

Me: I had a 7-day working sprint I should relax today before I teach a class in the evening…

My brain: Good, as you don’t feel any obligation to work on your PhD today, you should just open the PhD working file and start working on it, no pressure. it will feel nice, I promise!

⤋ Read More

OpenBSD has the wonderful pledge() and unveil() syscalls:

https://www.youtube.com/watch?v=bXO6nelFt-E

Not only are they super useful (the program itself can drop privileges – like, it can initialize itself, read some files, whatever, and then tell the kernel that it will never do anything like that again; if it does, e.g. by being exploited through a bug, it gets killed by the kernel), but they are also extremely easy to use.

Imagine a server program with a connected socket in file descriptor 0. Before reading any data from the client, the program can do this:

unveil("/var/www/whatever", "r");
unveil(NULL, NULL);
pledge("stdio rpath", NULL);

Done. It’s now limited to reading files from that directory, communicating with the existing socket, stuff like that. But it cannot ever read any other files or exec() into something else.

I can’t wait for the day when we have something like this on Linux. There have been some attempts, but it’s not that easy. And it’s certainly not mainstream, yet.

I need to have a closer look at Linux’s Landlock soon (“soon”), but this is considerably more complicated than pledge()/unveil():

https://landlock.io/

⤋ Read More

fn sub(foo: &String) {
    println!("We got this string: [{}]", foo);
}

fn main() {
    // "Hello", 0x00, 0x00, "!"
    let buf: [u8; 8] = [0x48, 0x65, 0x6C, 0x6C, 0x6F, 0x00, 0x00, 0x21];

    // Create a string from the byte array above, interpret as UTF-8, ignore decoding errors.
    let lossy_unicode = String::from_utf8_lossy(&buf).to_string();

    sub(&lossy_unicode);
}

Create a string from a byte array, but the result isn’t a string, it’s a cow 🐮, so you need another to_string() to convert your “string” into a string.

I still have a lot to learn.

(into_owned() instead of to_string() also works and makes more sense to me, it’s just that the compiler suggested to_string() first, which led to this funny example.)

⤋ Read More
In-reply-to » So I was using this function in Rust:

@lyse@lyse.isobeef.org Rust is so different and, at the same time, so complex – it’s not far fetched to assume that I simply don’t understand what’s going on here. The docs appear to be clear, but alas … is it a bugs in the docs? Is it a lack of experience on my part? Who knows.

By the way, looks like there was a bit of a discussion regarding that name:

https://github.com/rust-lang/rust/issues/120048

⤋ Read More

So I was using this function in Rust:

https://doc.rust-lang.org/std/path/struct.Path.html#method.display

Note the little 1.0.0 in the top right corner, which means that this function has been “stable since Rust version 1.0.0”. We’re at 1.87 now, so we’re good.

Then I compiled my program on OpenBSD with Rust 1.86, i.e. just one version behind, but well ahead of 1.0.0.

The compiler said that I was using an unstable library feature.

Turns out, that function internally uses this:

https://doc.rust-lang.org/std/ffi/struct.OsStr.html#method.display

And that is only available since Rust 1.87.

How was I supposed to know this? 🤨🫩

⤋ Read More
In-reply-to » (#a2drj7a) @bender Both Gopher and Mastodon are a way for me to “babble”. 😅 I basically shut down Gopher in favor of Mastodon/Fedi last year. But the Fediverse doesn’t really work for me. It’s too focused on people (I prefer topics) and I dislike the addictive nature of likes and boosts (I’m not disciplined enough to ignore them). Self-hosting some Fedi thing is also out of the question (the minimalistic daemons don’t really support following hashtags, which is a must-have for me).

@bender@twtxt.net Yeah, well, it’s a bit like twtxt. There is a Gopher community, but it’s small. I actually don’t like that HTTP is so easily accessible. I don’t like it that much when people post links to my site on HackerNews or something like that. Too much exposure.

Gopher is a small world. It’s slow and cozy.

And much like twtxt, the protocol is simple®, so it’s easier to tinker with it.

⤋ Read More

Hmmm 🧐 Not what I thought was going on… No bug…

 time="2025-06-14T15:24:25Z" level=info msg="updating feeds for 8 users"
 time="2025-06-14T15:24:25Z" level=info msg="skipping 0 inactive users"
 time="2025-06-14T15:24:25Z" level=info msg="skipping 0 subscribed feeds"
 time="2025-06-14T15:24:25Z" level=info msg="updating 80 sources (stale feeds)"

⤋ Read More
In-reply-to » (#his4cya) @prologic I am finding writing my Notes very therapeutic. Just create a markdown file and commit, push, and it’s live. Whatever comes to mind, whatever I want to keep as relevant. Silly things, more like a dump.

@bender@twtxt.net I know I know! I don’t know why I ever signed up and used it and still continue to pay for the silly thing. Twtxt/Yarn is so much better in every way 🤣

⤋ Read More
In-reply-to » (#his4cya) @prologic I am finding writing my Notes very therapeutic. Just create a markdown file and commit, push, and it’s live. Whatever comes to mind, whatever I want to keep as relevant. Silly things, more like a dump.

@prologic@twtxt.net yes, I never understood you using micro.blog (and paying for it, nonetheless!). I don’t like it (as a platform), and have an unexplainable dislike for its creator.

⤋ Read More
In-reply-to » (#his4cya) @prologic I am finding writing my Notes very therapeutic. Just create a markdown file and commit, push, and it’s live. Whatever comes to mind, whatever I want to keep as relevant. Silly things, more like a dump.

@bender@twtxt.net Maybe one day I’ll take back over my prologic.blog domain from µBlog and redoit with my handy zs tool with some nice CSS 🤣

⤋ Read More
In-reply-to » (#ag2kqka) @movq why Gopher to babble, and not just HTTP? I mean, may as well just write plain text files on your machine, and leave them there, right?

@prologic@twtxt.net I am finding writing my Notes very therapeutic. Just create a markdown file and commit, push, and it’s live. Whatever comes to mind, whatever I want to keep as relevant. Silly things, more like a dump.

If I feel like it, I do. If not, I don’t. Not social, not intended for anyone to see them. I am enjoying it!

⤋ Read More
In-reply-to » (#a2drj7a) @bender Both Gopher and Mastodon are a way for me to “babble”. 😅 I basically shut down Gopher in favor of Mastodon/Fedi last year. But the Fediverse doesn’t really work for me. It’s too focused on people (I prefer topics) and I dislike the addictive nature of likes and boosts (I’m not disciplined enough to ignore them). Self-hosting some Fedi thing is also out of the question (the minimalistic daemons don’t really support following hashtags, which is a must-have for me).

@movq@www.uninformativ.de why Gopher to babble, and not just HTTP? I mean, may as well just write plain text files on your machine, and leave them there, right?

Gopher and Mastodon are two completely different things. That’s where my confusion comes from.

⤋ Read More
In-reply-to » (#a2drj7a) @bender Both Gopher and Mastodon are a way for me to “babble”. 😅 I basically shut down Gopher in favor of Mastodon/Fedi last year. But the Fediverse doesn’t really work for me. It’s too focused on people (I prefer topics) and I dislike the addictive nature of likes and boosts (I’m not disciplined enough to ignore them). Self-hosting some Fedi thing is also out of the question (the minimalistic daemons don’t really support following hashtags, which is a must-have for me).

@movq@www.uninformativ.de Me too 😅 – Speaking of which i know you’ve lost a bit of “mojo” or “energy” (so have i of late), rest assured, I want to keep the status quo here with what we’ve built, keep it simple and change very little. What we’ve built has worked very well for 5+ years and we have at least 3 very strong clients (maybe 4 or 5?).

⤋ Read More
In-reply-to » (#a2drj7a) @bender Both Gopher and Mastodon are a way for me to “babble”. 😅 I basically shut down Gopher in favor of Mastodon/Fedi last year. But the Fediverse doesn’t really work for me. It’s too focused on people (I prefer topics) and I dislike the addictive nature of likes and boosts (I’m not disciplined enough to ignore them). Self-hosting some Fedi thing is also out of the question (the minimalistic daemons don’t really support following hashtags, which is a must-have for me).

@prologic@twtxt.net Yeah, I’m very glad twtxt/Yarn doesn’t have this. ✌️

⤋ Read More
In-reply-to » Great article from Tailscale about how security policies we've often seen in many large complex organizations that we all love to hate don't actually provide the security that we assumed.

@bender@twtxt.net yes but my point is my handcrafted set up also achieves the same thing 🤣

⤋ Read More
In-reply-to » Great article from Tailscale about how security policies we've often seen in many large complex organizations that we all love to hate don't actually provide the security that we assumed.

@prologic@twtxt.net do you remember Hamachi? Tailscale/Headscale is Hamachi on steroids. They are used primarily for creating a VPN among all your devices so they can talk to one another as if they were on the same LAN, even when they’re not. That was, mostly, my WireGuard usage.

I still have WireGuard running—because it is so lite that it doesn’t matter—to use as regular VPN, but Headscale keeps all my devices connected forming their own “mini-Internet” 100% of the time.

⤋ Read More
In-reply-to » Great article from Tailscale about how security policies we've often seen in many large complex organizations that we all love to hate don't actually provide the security that we assumed.

@bender@twtxt.net What’s awesome about it btw? I use WireGuard pretty heavily here. And my entire family also use it to keep a VPN connection back to our home network

⤋ Read More
In-reply-to » (#a2drj7a) @bender Both Gopher and Mastodon are a way for me to “babble”. 😅 I basically shut down Gopher in favor of Mastodon/Fedi last year. But the Fediverse doesn’t really work for me. It’s too focused on people (I prefer topics) and I dislike the addictive nature of likes and boosts (I’m not disciplined enough to ignore them). Self-hosting some Fedi thing is also out of the question (the minimalistic daemons don’t really support following hashtags, which is a must-have for me).

@movq@www.uninformativ.de This was always my belief too re likes, etc.

⤋ Read More
In-reply-to » Of Pointlessware and CEOs Had a moment, to check up on some of the companies, I stopped following, get to The Browser Company and see their newest product - it's just Chrome, with an AI chat window pop-up and that's it. Something Canary Chrome, come with already. I see Theo from T3.gg, making fun of it on YouTube and promoting "his" product - an AI chat app, where you can choose from multiple models, by all the popular AI companies. Something I already have a worse version of, at work and I don't even use it. There's also an interview, about the future of virtual keyboards, surely this is at least actually a real thing and not more pointless horse shit. I check the website of the keyboard SDK, and it's around 20 identical apps, that just copy the same keyboard SDK/api and slap chatgpt features on top - in the App Store, these are surrounded by chatgpt clones, that just feed the users prompts, into the real thing and put ads, next to the answers.

@thecanine@twtxt.net … all these stupid, pointless “apps” are stuff that I eventually have to remove from family devices … Sigh.

⤋ Read More
In-reply-to » Gopher server is back online and I’ll be phasing out Mastodon.

@bender@twtxt.net Both Gopher and Mastodon are a way for me to “babble”. 😅 I basically shut down Gopher in favor of Mastodon/Fedi last year. But the Fediverse doesn’t really work for me. It’s too focused on people (I prefer topics) and I dislike the addictive nature of likes and boosts (I’m not disciplined enough to ignore them). Self-hosting some Fedi thing is also out of the question (the minimalistic daemons don’t really support following hashtags, which is a must-have for me).

I’ll probably keep reading Fedi stuff, I just won’t post that much, I think.

⤋ Read More
In-reply-to » (#baw3tka) I wanted to port this to Rust as an excercise, but they still have no random number generator in the core library: https://github.com/rust-lang/rust/issues/130703

@prologic@twtxt.net Yeah, it’s difficult, you often don’t get what you’d expect. They also make heavy use of 3rd party libraries. IIUC, for random numbers, they refer to this library. I’ve read many times that the Rust stdlib is intentionally minimalistic (to make it easier to maintain and port and all that).

I’m struggling with this, using 3rd party libs for so many things isn’t really my cup of tea. I’ll probably make my own tiny little “standard library”. It’s silly, but I don’t see any other options. 🤷

⤋ Read More
In-reply-to » (#hlikpha) @quark Plot twist: I only drink decaf. 🤯🤯🤯

@movq@www.uninformativ.de I had to look it up! “Is decaf coffee real coffee?”

“Yes, decaf coffee is real coffee. It’s made from the same coffee beans as regular coffee, but the caffeine content is significantly reduced through a decaffeination process. This process involves removing 97% or more of the caffeine, leaving behind the coffee’s flavors and aromas.”

OK then! 😅

⤋ Read More
In-reply-to » Great article from Tailscale about how security policies we've often seen in many large complex organizations that we all love to hate don't actually provide the security that we assumed.

@prologic@twtxt.net Tailscale is awesome! I run Headscale; it replaced my vanilla WireGuard install.

⤋ Read More
In-reply-to » (#qmi37rq) @lyse those are pretty cool! The one change I would recommend doing pronto is the colour of the hyperlinks. Ay, ay, ay, my retina! :-P

@quark@ferengi.one Ta. Hmm, what’s wrong with the blue text color? Is it too dark on the black background for you? :-?

Normal links are blue while images are teal. I thought I differentiate the two if I easily can. The underline of URLs comes from my terminal and is not tt’s fault.

Configuring colors is in the todo list. But of course, providing a sane default is definitely something I’d like to have.

⤋ Read More
In-reply-to » I swear that I have muted all the cat's feeds already. Yet, a new(?) one popped up.

@prologic@twtxt.net will do. No worries, not a show stopper. I will suggest that the muted numbered list not be sorted, but latest muted first. That way we have a better idea. Maybe adding timestamps to those too? Just a thought.

⤋ Read More

Of Pointlessware and CEOs
Had a moment, to check up on some of the companies, I stopped following, get to The Browser Company and see their newest product - it’s just Chrome, with an AI chat window pop-up and that’s it. Something Canary Chrome, come with already.
I see Theo from T3.gg, making fun of it on YouTube and promoting “his” product - an AI chat app, where you can choose from multiple models, by all the popular AI companies. Something I already have a worse version of, at work and I don’t even use it.
There’s also an interview, about the future of virtual keyboards, surely this is at least actually a real thing and not more pointless horse shit. I check the website of the keyboard SDK, and it’s around 20 identical apps, that just copy the same keyboard SDK/api and slap chatgpt features on top - in the App Store, these are surrounded by chatgpt clones, that just feed the users prompts, into the real thing and put ads, next to the answers.

⤋ Read More