

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…


The problem is that Nazis love to appeal to some hypothetical right to freedom of speech, because they want to shift the Overton window. That is why people are being particular with the wording here and why your post is getting downvotes.
It also makes it hard to answer, because, well, if you are a Nazi, expect to be banned from various communities and instances significantly faster than on Reddit. Supporting the harm of others is not an opinion worth tolerating.
The moderators on my instance have banned people for repeatedly asking what exactly is allowed to be said, and I’ve come to support that decision, because yeah, Overton window and all that.


Perhaps, yes. 😅
It was a diplomatic way of saying that I doubt the author’s assessment that Ruby’s tooling is worse than Python’s. Partially, because Python’s tooling has traditionally been terrible (even if it’s been improving in the past two years, from what I hear). But yeah, partially because I do not see Ruby programs being as buggy as they insinuate here…
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.


I think it was that back when it was relevant (but replace data scientists with web devs)
Sure, but if programs from that era are still around, chances are the maintainer is quite experienced by now and has fixed all the funky behaviour. 🙃
I never got interested in the ecosystem myself, but I’ve run into it every now and then. I feel like it’s in the same place as PHP today: still used a lot for legacy reasons, but you’ll get weird looks if you start a new project with it and you’re under the age of 40
Ten years ago, a university buddy of mine discovered Ruby and you might’ve thought a miracle happened from how excited he was for it. But yeah, that was also the last time I met someone in real life who was excited about Ruby. 😅
Man, I haven’t done structural inheritance in years and by now, this reads like the ramblings of a mad person.
Like, I recently had a use-case, where I actually wanted to define multiple types with the same fields and for various reasons ended up using a macro for that.
And that still felt simpler than whatever is going on in this article, because there were no cross-relationships between the types at runtime. The macro templated the type definitions as if I had copy-pasted them, except there’s no actual code duplication, which is ultimately all I wanted.


Hmm, I don’t have too large of a sample size, but I don’t feel like Ruby programs are buggier than Python programs, on average. Not being the language for programming beginners and data scientists, probably aides that impression, though…
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.
The thing to me is always that, yeah, you need a huge commit for a breaking change in an internal library inside a monorepo, but you will still need to do the same work in a polyrepo eventually, too.
Especially since “eventually” really means “ASAP” here. Without going through the breaking change, you can’t benefit from non-breaking changes either and the complexity of your codebase increases the longer you defer the upgrade, because different parts of your application have different behavior then. So, even in a polyrepo, you ideally upgrade all library consumers right away, like you’re forced to in a monorepo.
Good question. My best guess is that the buttons have become less important, because:
But yeah, I got a new monitor at work, and instead of buttons, it has a joystick on the backside. Now the monitor’s menu pops up every so often, I’m guessing because something shook the joystick just enough to trigger it.
When I saw that joystick for the first time, I wondered how long it’ll take before it breaks, but it’s broken on day 1, so that’s great. 🫠


No idea, but I have not yet heard of a computer science department going exclusively for Apple…


Probably varies a lot between countries and universities. In my university, you were better off, if you were on Linux. But I’ve heard horror stories from the US before, where Windows was mandatory…


Yeah, the headline makes it sound like he’s insulting AI, but he’s just illustrating a fairly basic fact…
Yeah, I figured, once I actually thought about it. 😅