

I’m now imagining you going to the grocery store, pretending to be your twin, to get the employee discount. 🙃


I’m now imagining you going to the grocery store, pretending to be your twin, to get the employee discount. 🙃


Would love to know, too. To my European eyes, it looks like onions, potatoes, apples and tomatoes, but surely they have some different produce there. Whatever is in the bottom-left does look unfamiliar, at least…


Lots of “modern” languages don’t interop terribly well with other languages, because they need a runtime environment to be executed.
So, if you want to call a Python function from Java, you need to start a Python runtime and somehow pass the arguments and the result back and forth (e.g. via CLI or network communication).
C, C++, Rust and a few other languages don’t need a runtime environment, because they get compiled down to machine code directly.
As such, you can call functions written in them directly, from virtually any programming language. You just need to agree how the data is laid out in memory. Well, and the general agreement for that memory layout is the C ABI. Basically, C has stayed the same for long enough that everyone just uses its native memory layout for interoperability.
And yeah, the Rust designers weren’t dumb, so they made sure that Rust can also use this C ABI pretty seamlessly. As such, you can call Rust-functions from C and C-functions from Rust, with just a bit of boilerplate in between.
This has also been battle-tested quite well already, as Mozilla used this to rewrite larger chunks of Firefox, where you have C++ using its C capabilities to talk to Rust and vice versa.
Yeah, I’ve considered setting up a scrappy rsync solution, because Syncthing felt like overkill for that use-case and like it might stop working one day.
There’s the Syncopoli app on F-Droid, which hasn’t been updated in three years, but it seems to just be a thin wrapper around rsync, which has been stable for decades, so I still kind of trust it more to continue working. Or at the very least, if I need to fix something or update the app myself, I feel like I’ll be able to do it.
To my knowledge, the only problem was that there was no communication about the handover. If there had been a post on the original repo with reasoning for Catfriend stepping down, instead of the repo just disappearing (from what I heard), there would’ve been no drama…
Admittedly, I did not look into it too deeply, though.


But how many ants are there? […] “According to our estimates, the global ant population is 20 x 10¹⁵ – that is, 20 quadrillion animals. […]”
Divided by 8 billion yields the 2.5 million per person.


These bad boys are really great: 🧑🏼🤝🧑🏿
It has to encode the skin color and gender and that it is two persons and that all of that needs to be joined together. Or in other words:

Since no one mentioned it yet, this is the classic card game “Klondike”.
KPatience is a program that implements multiple such card games…
Hmm, good question. I know of one such implementation, which is Delta RPM, which works the way I described it.
But I’m not sure, if they just designed it to fit into the current architecture, where all their mirrors and such were set up to deal with package files.
I could imagine that doing it rsync-style would be really terrible for server load, since you can’t really cache things at that point…
Had to search for a bit, too, but finally found the relevant keyword: Delta RPMs
(Which also explains why it’s a Red Hat / SUSE thing. 😅)
Here’s a decent article, which links to some more in-depth explanations: https://www.certdepot.net/rhel7-get-started-delta-rpms/
This doesn’t work too well for rolling releases, because users will quickly get several version jumps behind.
For example, let’s say libbanana is currently at version 1.2.1, but then releases 1.2.2, which you ship as a distro right away, but then a few days later, they’ve already released 1.2.3, which you ship, too.
Now Agnes comes home at the weekend and runs package updates on her system, which is still on libbanana v1.2.1. At that point, she would need the diffs 1.2.1→1.2.2 and then 1.2.2→1.2.3 separately, which may have overlaps in which files changed.
In principle, you could additionally provide the diff 1.2.1→1.2.3, but if Greg updates only every other weekend, and libbanana celebrates the 1.3.0 release by then, then you will also need the diffs 1.2.1→1.3.0, 1.2.2→1.3.0 and 1.2.3→1.3.0. So, this strategy quickly explodes with the number of different diffs you might need.
At that point, just not bothering with diffs and making users always download the new package version in full is generally preferred.
openSUSE Leap does have differential package updates. Pretty sure, I once saw it on one of the Red-Hat-likes, too.
But yeah, it makes most sense on slow-moving, versioned releases with corporate backing.
It shows up as “Terminal” in the search results, so I imagine that’s what it matches against, even if it is colloquially referred to as “Windows Terminal”…
On KDE, it’s just one of the suggestions, I believe, that you could search this term on the web. If you trigger that suggestion, it then opens the web browser to do the search.
As such, searching “terminal” wouldn’t yield a suggestion from a web result that matches, but I’m pretty sure applications are prioritized above other results either way.
A few years ago, I set up a home-server with music and some pictures on there, and recently I noticed that my storage disk was getting full. Then I saw that the disk only had 16 GB and wondered, where the hell I got that small of a disk from.
So, I go to plug in a bigger disk and can’t even find the original disk at first. Turns out my whole storage capacity was one of these bad boys:

And yeah, I’ve got about 1800 songs, clocking in at 5.8 GB, so even that tiny storage would easily be enough for a much larger collection.
And I do also have them replicated on my phone, for listening on the go. (Don’t even need an SD card in my case.)
Presumably, that ampersand needs to be replaced with &…


Yeah, I just thought that’s called “dry shampoo”, but not sure where I got that idea from. Might’ve just been a brainfart. 😅


Huh, I thought, dry shampoo is a bar soap with additives. Sounds like it’s pretty much the polar opposite…
The description in the ticket isn’t too bad:
allows users to make a window disappear and keep only its title bar visible.
It really just hides the window contents. In effect, it is similar to minimizing a window, except that it doesn’t spring into your panel and rather stays in place as just the window title bar without the contents.
It is a niche feature, if you couldn’t tell. But it isn’t some KDE specialty feature; various other desktops and window managers also support it. I think, it was more popular in the early days of graphical user interfaces, when we were still working out, how we want to do panels and such.
And conversely, I do think it makes more sense as a feature on big screens like you can have today, where your panel might be quite a bit away.
Don’t think, window shading will make a big comeback just yet, but yeah, probably enough existing users that use it, so that it would be cool to support that workflow.
Yeah, I figured, once I actually thought about it. 😅