Just another Swedish programming sysadmin person.
Coffee is always the answer.
And beware my spaghet.
The predictable interface naming has solved a few issues at work, mainly in regards to when we have to work with expensive piece-of-shit (enterprise) systems, since they sometimes explode if your server changes interface names.
Normally wouldn’t be an issue, but a bunch of our hardware - multiple vendors and all - initialize the onboard NIC pretty late, which causes them to switch position almost every other boot.
I’ve personally stopped caring about interface names nowadays though, I just use automation to shove NetworkManager onto the machine and use it to get a properly managed connection instead, so it can deal with all the stupid things that the hardware does.
It’s somewhat amusing how Itanium managed to completely miss the mark, and just how short its heyday was.
It’s also somewhat amusing that I’m still today helping host a pair of HPE Itanium blades - and two two-node DEC Alpha servers - for OpenVMS development.
Going to be really amazing to play Factorio again without knowing how to solve everything.
Go has a heavy focus on simplicity and ease-of-use by hiding away complexity through abstractions, something that makes it an excellent language for getting to the minimum-viable-product point. Which I definitely applaud it for, it can be a true joy to code an initial implementation in it.
The issue with hiding complexity like such is when you reach the limit of the provided abstractions, something that will inevitably happen when your project reaches a certain size. For many languages (like C/C++, Ruby, Python, etc) there’s an option to - at that point - skip the abstractions and instead code directly against the underlying layers, but Go doesn’t actually have that option.
One result of this is that many enterprise-sized Go projects have had to - in pure desperation - hire the people who designed Go in the first place, just to get the necessary expertice to be able to continue development.
Here’s one example in the form of a blog - with some examples of where hidden complexity can cause issues in the longer term; https://fasterthanli.me/articles/i-want-off-mr-golangs-wild-ride
Go really does do well in the zero-to-hero case, that’s for certain. Unfortunately it doesn’t fare nearly as well in terms of ease when it comes to continued development.
Well, one part of it is that Flatpak pulls data over the network, and sometimes data sent over a network doesn’t arrive in the exact same shape as when it left the original system, which results in that same data being sent in multiple copies - until one manages to arrive correctly.
We’re mirroring the images internally, not just because their mirrors suck and would almost double the total install time when using them, but also because they only host the images for the very latest patch version - and they’ve multiple times made major version changes which have broken the installer between patches in 22.04 alone.
What is truly bloated is their network-install images, starting with a 14MB kernel and 65MB initrd, which then proceeds to pull a 2.5GB image which they unpack into RAM to run the install.
This is especially egregious when running thin VMs for lots of things, since you now require them to have at least 4GB of RAM simply to be able to launch the installer at all.
Compare this to regular Debian, which uses an 8MB kernel and a 40MB initrd for the entire installer.
Or some larger like AlmaLinux, which has a 13MB kernel and a 98MB initrd, and which also pulls a 900MB image for the installer. (Which does mean a 2GB RAM minimum, but is still almost a third of the size of Ubuntu)
If you’re going to post release notes for random selfhostable projects on GitHub, could you at least add the GitHub About text for the project - or the synopsis from the readme - into the post.
I’ve been hoping to find a non-PHP alternative to Nextcloud for a while, but unfortunately I’ve yet to find one which supports my base requirements for the file storage.
Due to some quirks with my setup, my backing storage consists of a mix of local folders, S3 buckets, SMB/SFTP mounts (with user credential login), and even an external WebDav server.
Nextcloud does manage such a thing phenomenally, while all the alternatives I’ve tested (including a Radicale backed by rclone mounts) tend to fall completely to pieces as soon as more than one storage backend ends up getting involved, especially when some of said backends need to be accessed with user-specific credentials.
To be fair, having to interact with MS Teams with any part of your body is painful.
I think the only project I’ve seen so far where I’ve felt that a blockchain has actually been the correct choice is Alfis, which is a decentralized DNS that uses the blockchain as the public append-only ledger that it is, and it uses proof-of-work to add arbitrary costs to updates - to make spamming or namesquatting expensive.
Well, there are people running Linux in all manner of ways, like VRChat shaders.
If you build a linked list in C, and put the pointer to the next entry as the first element in your struct, then you only need a single variable (and two comparisons) to do sorted insertion into the list.
Steve Rogers might have America’s Ass, but Mothman has the Buns of Steel.
Here’s a .jxl
JPEG-XL upload I did on Lemmy three days ago;
https://lemmy.ananace.dev/pictrs/image/ad4e745e-0135-4cc3-889c-052600828d82.jxl
The built-in Firefox support is only activated for unstable builds, so you can’t enable it on stable unless you manually enable it during compile-time.
Why is it .jpg
and not .jxl
? That’s the registered extension for JPEG-XL.
You’re lucky to not have to deal with some of this hardware then, because it really feels like there are manufacturers who are determined to rediscover as many solved problems as they possibly can.
Got to spend way too much time last year with a certain piece of HPC hardware that can sometimes finish booting, and then sit idle at the login prompt for almost half a minute before the onboard NIC finally decides to appear on the PCI bus.
The most ‘amusing’ part is that it does have the onboard NIC functional during boot, since it’s a netbooted system. It just seems to go into some kind of hard reset when handing over to the OS.
Of course, that’s really nothing compared to a couple of multi-socket storage servers we have, which sometime drop half the PCI bus on the floor when under certain kinds of load, requiring them to be unplugged from power entirely before the bus can be used again.