

So, containers do not get you reproducibility.
For dev environments, repeatable is okay. If you want actually reproducible binaries that you can ship, Nix is better fit for that purpose.
Hello, tone-policing genocide-defender and/or carnist 👋
Instead of being mad about words, maybe you should think about why the words bother you more than the injustice they describe.
Have a day!
So, containers do not get you reproducibility.
For dev environments, repeatable is okay. If you want actually reproducible binaries that you can ship, Nix is better fit for that purpose.
Care to elaborate? Containers give you repeatable environments, which are not the same thing as reproducible environments.
Okay, so this definitely feels like bad practice to not change the version number or URL, even in something trivial like example texts here. But what real-world significance does this have?
It almost seems equivalent to just changing a variable name based on how it’s being used, which – to be clear – should come with a version bump, but I can’t imagine this having any meaningful impact anywhere.
The biggest downside to containers vs. Nix for me is that Nix can produce binaries for Linux and macOS, whereas docker only helps with Linux unless you can perform literal magic to cross-compile your project on Linux for macOS.
Containers also don’t give you reproducible environments, and Nix does.
That said, Nix documentation is ass, so I usually end up going with containers because they require far less suffering to get working because writing a containerfile is much easier than guessing how to hobble together a Nix flake with a mostly undocumented language.
Yeah. I was annoyed by this, but wouldn’t assume bad faith on the part of the Fennec devs.
All those packages, but terrible/lacking documentation and LSP support 😭 And, yes, I’ve tried nixd
and nil
, and they’re not even close.
I’ve tried to learn Nix multiple times, and even got by okay running NixOS for a year or so, but doing almost anything that isn’t just adding a package to a list in a nix file or flake was like pulling teeth because everything is documented so poorly (or not at all). It would take me hours to do what I could have done in seconds with any other package management tool or configuration management because I’d have to scour hundreds of search results to find someone that did the thing I’m trying to do because there was little-to-no documentation for it.
Nix is a tool with amazing promise that could solve so many problems if they could get their documentation and LSP support up to the standard of something like Rust.
I would say that development is the one thing that can get very annoying on immutable distros.
Flatpaks can only get you so far (as seen by the VS Code Flatpak’s limitations that have to be worked around). I don’t even use VS Code, so I can get around that pretty comfortably, but I have to use Distrobox for a lot of miscellaneous developer tools, and even then, I still run into problems and I can’t install container tools inside of the containers that I’m already working in.
Not to discourage you from trying. I can still get by with some dev work on Bazzite, but it’s waaay easier to do the same dev work on CachyOS (Arch-derivative) because I can just install shit normally and it will work.
I highly doubt that those “couple dozen” patches are trivial though. Even Pixel devices can’t run the vanilla mainline kernel without a bunch of added code to make it work with the hardware (see: the Greg KH interview I linked).
And abstracting the hardware is what you do when you make drivers, so this is a distinction without a difference.
I mean, Linux is the driver layer, and you mentioned GNU (userspace) / Linux (hardware layer), and the Linux part of that solid base can’t just be the vanilla Linux kernel that you’d run on a computer.
Sort of. Whatever hardware these are intended to run on require something like 3X the driver code (at least in the case of the Android Linux kernel, according to Greg Kroah-Hartman). Phones tend to have more specialized and proprietary hardware, so you can’t just take the standard Linux kernel, use it there, and call it a day.
But I’d be surprised if the people working on this weren’t aware of that fact, and I hope they are working on abstracting the hardware layers more so that every mobile Linux project doesn’t have to start from scratch every time.
Edit: source (YouTube, sorry) for the claim about how much driver code is required for mobile devices.
How would one DIY HDCP stripping? I’ve never looked into this.
Yeah. A lot of the extra nice things about Ghostty come from native macOS features. It’s a very different story on Linux, but still a solid terminal emulator there as well.
Ghostty is amazing on macOS. On Linux, it’s basically another GTK terminal emulator with a lot of nice configuration options, but nothing that special.
I beg of you: try something that isn’t going to shove a broken packaging format like Snaps down your throat.
Try Pop!_OS or Linux Mint if you want something like Ubuntu, only not broken.
If my first experience with Linux involved wasting time trying to figure out why the applications I installed appeared to freeze because they take 30-60 seconds to open after installation or updates, randomly didn’t work because of dogshit sandboxing, etc., I probably would have turned away.
Not really. IMO, the determining factor for this is how “sticky” a given service is.
Leta is a public search engine that you don’t have to pay for their VPN to use, and switching search engines is quite trivial, making this a very easy switch in the event that either service is unsatisfactory.
That said, I have no idea why anyone would want Google search results in 2025 because their search engine is terrible, but more power to anyone that does.
I use vertical tabs because horizontal tabs use more screen in wide aspect ratios (16:9 or greater) and I want to optimize my screen usage for the actual content, rather than the tabs.
Actually yeah. You’re right. Even better 😌
A lot of incorrect assumptions in this article. If you don’t like the idea of a key exchange over passwords, I hope you use password auth when you SSH into things 😁
The word passwordless is nonsense. In most cases, most passkey implementations, you need a PIN to unlock your private key to authenticate. PIN = password, except it’s numbers only. Nonsense. Passkeys simply obfuscate the problem and move it somewhere else, most often into a PROPRIETARY key management tool. For example, Microsoft wants you to use THEIR authenticator app. Not just any app that adheres to the standard. Nope. This effectively means super-vendor-lock-in. Absolute nonsense.
You can argue that the term “password less” is nonsense, but there is literally nothing about the spec that prevents you from using passkeys as they were designed: with hardware keys that support the open FIDO2 authentication protocol. Yes, you still need a second factor to verify the authentication attempt (via a PIN), but unless you’re mailing that key to hackers, the private key generated by your SoloKey, NitroKey, or another open source hardware key, is more secure than any password ever will be.
Passkeys usually require a phone - this is a single point of failure, and one that gives the big companies extra control over you. Phone, number, SIM, and so forth. A beautiful bevy of data. The whole idea of actually having to use your phone as an identity vector is horrible.
Phones support storing passkeys. Phones also support storing passwords. In no way does this mean you must use them for this. You can either use hardware keys, or you can use your favorite open source password manager to store passkeys where you should already be storing your passwords anyway.
You need “biometrics” to supposedly prove you’re you to unlock your private key. Biometrics are a form of password, except you can’t replace it, and it also gives yet more of your personal data to the big companies. More nonsense.
This is literally a direct contradiction of what the author said in their first bullet point. Use a PIN if you don’t like using biometric auth.
The implementation of passkeys is fragmented, vendor-specific, and complicated. Only diehards who love technology can use this. The same kind of people who were “all in” when IoT/cloud crap came out, and now they see their smart homes slowly go offline as big vendors almost arbitrarily cut support for old gadgets and effectively kill products. Because cloud.
Most of this is actually a fair critique. The FIDO Alliance is still working on the spec, and I think they should require any implementation of passkeys to follow the spec to a tee without adding any kind of nonstandard bullshit to their authentication.
However, most advancements in tech begin with only appealing to enthusiasts and later become adopted by wider audiences. It doesn’t make them bad that they aren’t immediately popular with everyone.
Passkeys only solve one use case - phishing where the user inputs their password and MFA into a fake site.
I’m glad the author can at least recognize that there’s at least one thing that passkeys solve that passwords can’t. But it’s not the only thing. When you enter a password on a site, you’re hoping like hell that the service you’re using hashes it and hashes it properly. When you authenticate with passkeys, you’re sending the site a public key. This key will have way more entropy than any password will, so anyone trying to crack a hashed public key is in for a long, miserable time (obviously not impossible though). But even if they wasted their time doing that, it’s a public key. Who cares?
Any service you use passkeys with instead of passwords won’t put you in another leaked password database. The public key just needs to be invalidated and you can move on with your life.
What is the opposite of thoughts and prayers? Apathy and ill will?
Thoughts and prayers. It has the exact same effect as apathy and ill will.
🤡