Instance: lemmy.blahaj.zone
Joined: 2 years ago
Posts: 0
Comments: 89
she/they
Posts and Comments by Oinks, oinks@lemmy.blahaj.zone
Posts by Oinks, oinks@lemmy.blahaj.zone
Comments by Oinks, oinks@lemmy.blahaj.zone
The site works for me. This is the actual news:
Last week, the Fedora Infrastructure Team lifted the IP range block on IP addresses in Syria. This action restores download access to Fedora Linux deliverables, such as ISOs. It also restores access from Syria to Fedora Linux RPM repositories, the Fedora Account System, and Fedora build systems. Users can now access the various applications and services that make up the Fedora Project.
This discourse post has more details. Essentially: Nixpkgs is an 83 GiB repository with 20,000 forks that incurs a ton of API usage from CI and bots. It turns out this caused some scaling issues. It’s unclear to me if other forges would have run into exactly the same issues but if the repo can cause replication failures at GitHub it can almost certainly cause problem at Codeberg.
Edit: For comparison, the Gentoo repository is 20 GiB and has 2.2k forks (on GitHub). The largest repository on Codeberg is 30 GiB, but that’s just a blocklist data mirror with no CI.
Edit 2: Also, since I’m reading through Gentoo’s mail archives for this they also seem to be at least slightly worried:
So far I don’t think we really deliberated on [using Codeberg for the sync-friendly mirror]. The key point here is that unlike GitHub, Codeberg is running on community funding, and we don’t want to abuse their resources with the huge syncing repo.
Note that Nixpkgs doesn’t have a syncing mirror. Majority of Nix users pull directly from github.com/NixOS/nixpkgs.
I would expect Git forges (and other configuration control adjacent software) to be the easiest services to federate. Git is already decentralized, and the usual concerns regarding encryption and privacy are essentially irrelevant since everything is meant to be public anyways.
If you ask me it’s strange that the federated social media (which leaks PII everywhere) and federated messaging (which is a security nightmare) have taken off but decentralized Git forges don’t exist. My best guess is that the people who care are already using mailing lists?
Hooray to underspecified file formats.
From patch(1):
patch tries to skip any leading garbage, apply the diff, and then skip any trailing garbage. Thus you could feed an email message containing a diff listing to patch, and it should work.
From git-am(1):
The patch is expected to be inline, directly following the message. Any line that is of the form: - three-dashes and end-of-line, or - a line that begins with “diff -”, or - a line that begins with “Index: "
is taken as the beginning of a patch, and the commit log message is terminated before the first occurrence of such a line.
Ideally git-am should use a better file format, but I suppose the more realistic lesson now is to never have inline diffs in Commit messages.
Only one out of four. Showtime, Totem and Light Video all use GStreamer.
I thought that was a solved problem on Linux. Is it the reluctance to use binary blobs?
Yes. For the same reason you also don’t get firmware updates on Guix. Or Firefox.
Yeah that’s a KDE classic. I think I had one KDE version a few years back that had no issues with my dock but it broke on a kernel update. Maybe it’s not entirely fair to blame KDE but I never had the same issues on GNOME, Sway or Niri…
I’m not sure that description makes a lot of sense. Nixpkgs/NixOS is a fairly large community project. Some of the contributors are certainly anti-woke (although quite a few of those were banned from official spaces a while back), and some are MIC employees (Anduril is somewhat infamous with a seat on the so-called “steering council"). That’s not especially unusual by itself, and you can definitely do worse than “one guy is a MIC employee” (just ask the GNU or suckless folks). What is unusual is the very public meltdowns that happened surrounding it, including the moderation team resigning. The community fortunately seems to have survived all of that though.
Anyone curious can read through the most recently active governance related thread and the rest of the discourse meta category. Outside of that the subreddit had an issue with Lunduke spam at the time, but this has since died down (and the posts were removed). I don’t frequent the Matrix (official) or Discord (unofficial) so maybe those are really bad and I don’t know about it, but from my experience I honestly have little to complain about.
Do you have some specific threads in mind? Maybe I’m lucky to never click on the bad ones but my experience is that nobody is more cynical regarding Nix/NixOS jank than the long time NixOS users. You might not always get the answer you want, because it is very jank and doing some things will get you into trouble. But people pointing that out isn’t the same thing as gaslighting.
Guix SD might be worth a look, it seems to be just straight up better in many technical regards. It has no flakes, comprehensive documentation and a blessed way to manage user homes. At least as long as you don’t really need WiFi of course…
A “pure” function could instead work around it by returning (without executing) a query, accepting a state and returning a new, modified state, or otherwise returning some kind of commands to the caller without directly querying the database.
At least in Haskell due to lazyness this is (almost) always what happens. A monad is just one kind of deferred computation, with an operator >>= ("bind") that happens to prevent compiler reordering or deduplication. Any IO actions are only executed when main is evaluated and no earlier. Strict functional languages to my knowledge don’t need monads to do IO since they don’t have the same issues with evaluation order that Haskell does (though they might want them for type safety purposes).
Is a database handle you can write to not … basically mutable state, the arch-nemesis of functional languages?
Well, kind of. You would treat it the same way you would treat pipe/terminal or file IO: You write some impure functions that do the actual IO (database calls), and some pure functions that work on your data types. Then you compose them together to make an application. Hopefully most of your code is in the pure part which means you can test it without having to mock the world.
This honestly isn’t all that different from how a well written imperative code bases turn out. You generally don’t want to put all of the IO and all of the business logic into one super function or method or even class, because that makes things really hard to test (and hard to reason about too if you go far enough).
You can have actual in-memory mutable state in functional programming too, you just don’t get it on every variable by default. At least in Haskell you would usually achieve this by using a type that does it for you, like IORef or ST or MVar or TVar. The reasoning above applies to those - You would generally use them sparingly, when you really need mutability (e.g. to pass data between threads), and not everywhere.
Der Vermieter hat, zumindest theoretisch, das Kapital aufgebracht um das Haus und die Wohnungen zu bauen, und ist auch für die Instandhaltung des Gebäudes verantwortlich und trägt entsprechende finanzielle Risiken. Klar ist das in der Realität eher ein Feigenblatt, eine Wohnung zu vermieten ist im Großteil der Fälle sehr wenig Arbeit und sehr profitabel, aber der Hauptmieter kann nicht einmal das von sich sagen. Er hat gar keine Arbeit, hat kein Kapital und trägt keine Risiken. Und meinte trotzdem er kann 500 € im Monat absieben.
Ich habe ehrlich gesagt wenig Sympathie für diesen Hauptmieter. Er bereicherte sich vollständig auf Kosten des Untermieters ohne selber irgendeinen Wert zu schaffen und erhöht damit auch indirekt die örtlichen Mietpreise. Das ist das selbe Modell wie Scalping von GPUs zur GPU-Krise oder Toilettenpapier während Corona, nur halt für Immobilien.
Tragisch ist nur, dass die Wohnung in Zukunft höchstwahrscheinlich nicht für den ursprünglichen Preis vermietet werden wird.
Edit: Ich sehe gerade dass das in Berlin war. Wäre es dem Vermieter hier überhaupt erlaubt gewesen, den Preis für den nächsten Mieter so stark zu erhöhen? Sonst war das zusätzlich noch eine heimliche Umgehung der Mietpreisbremse.
As far as I’m aware Home Manager doesn’t set PATH at all, though the Nix installer does. I’m not sure where it adds to the PATH, it might edit /etc/profile or something like that. You should be able to change it since you’re not on NixOS.
Alternatively this should also do the trick, although it’s a bit ugly:
home.sessionVariables.PATH = "$HOME/.local/bin:$PATH";
While you’re still in reinstalling mood, you could try out something with KDE, Xfce and Cinnamon desktops to see if you like those better than GNOME (you wouldn’t be alone if you do). However this part in particular:
Easy access to the launcher (Ubuntu only has SUPER key and then you can switch via mouse between all running programs aswell as start any installed app by typing)
Sounds a lot like you actually just want GNOME. While we have a lot of choice for Windows clones, there’s nothing that does the Super workflow quite like GNOME does.
You can also try the PopOS Shell or PaperWM extensions to try out some tiling functionality. You’ll have to spend a few minutes fixing up some key bindings, but you’ll still be running GNOME and won’t have to worry about desktop portals or authentication agents or notification daemons. You also won’t have to reinstall if you end up not liking it, you can just remove the extension, reset the key bindings and you’re back to the default experience.
I don’t really like the mix of snap and apt, that’s why I wanted to try an arch based distro with pacman but it failed in so many other ways.
Unfortunately it’s not that easy to stay on just one package manager unless your expectations for available software are very low (or you are willing to jump into NixOS, which I would not recommend). Even on Arch you end up with two because pacman does not pull from the AUR. You might get away with running a Fedora Atomic Desktop (or a derivative like Bazzite) and just pretending that Flatpak is the only thing that exists though.
I would tentatively suggest Fedora Silverblue actually, because while it isn’t without issues (missing codecs, Fedora Flatpak vs. Flathub, etc.) it is designed with the non-technical user in mind (which, with no offense intended, you are). That’s not true of Arch or any of its derivatives. Debian and Mint are also good options. That being said… there’s not really anything wrong with Ubuntu either. It’s not “cool” and of course Lemmings (like Redditors) will always recommend their own favorite distribution you’ve never head of, but if Ubuntu works for you, you can just keep using it.
NB: If you do end up trying GNOME on a non-Ubuntu distribution, you will want the AppIndicator extension. Ubuntu installs this by default, but Fedora doesn’t. Without it you won’t have Steam or Discord in your panel.
These… don’t even remotely solve the same problem?
- (1) AshOS: Package managers are fragile, and partial or broken updates can break systems (up to not booting at all).
- (2) Nix: Package managers need to solve a SAT problem (which may be impossible) to resolve dependencies.
- (3) Distrobox: Containerized programs are annoying to work with.
- (4) Homebrew: Your system doesn’t have a package manager (e.g. MacOS).
Problems (1) and (2) (arguably also (3)) are quite difficult and don’t have trivial solutions. Fedora Silverblue solves (1) but has to jettison a reasonable package manager, creating problem (4) and the demand for Linuxbrew. NixOS solves (1) and (2) while avoiding (4) but at the cost of recompiling the world and breaking SELinux/AppArmor.
I wouldn’t consider running AshOS personally (even ignoring the abandoned status) as any package install or update requires a reboot (a variation of (4)), so the UX doesn’t appear to meaningfully different from just running Silverblue or MicroOS. I have doubts that the design space here has been completely explored, but you have to look back at the mediocre past attempts to understand why they were mediocre.
But /etc/fstab has the same UUID for every drive, I have no idea what to do with it.
That would be because every entry (except /boot and /tmp) is a subvolume of the same btrfs volume. Your other drives just aren’t in there.
You might want to read man fstab and maybe the Arch wiki pages for fstab and NTFS. It’s not that difficult as long as you make sure to not reboot with a broken fstab (using nofail is also a good idea). And yes you can just mount them to /media if you want, as long as the mount point is an empty directory.
Ubuntu Studio might have achieved this in a different way but since you’re in Arch land now it’s probably better to do what the Arch documentation recommends.
From what I can tell, it has to do with the drives mounting on /run/media, and apparently /run is a temp folder or something.
Probably not. Yes /run is a tmpfs, but that doesn’t affect any other filesystems mounted inside of it - those have their own permissions (or don’t in the case of FAT).
Since the drives are being mounted in /run/media they’re probably being mounted by your file manager, not via /etc/fstab. You could instead have them mounted on boot by the root user via /etc/fstab (the classic way) or systemd.mount (slightly friendlier), or configure polkit to allow mounting drives without a password (more reasonable if you’re talking about external or thumb drives).
The permission issue is probably for a different reason. Are you sure the filesystem(s) you’re mounting supports POSIX style permissions? FAT doesn’t, and NTFS requires a special flag for it. The files might look like they have permissions, but they’re coming from the mount options and modifying them will either fail outright or not do anything.
Edit: Run lsblk -f to see all connected drives, partitions and file systems and their file system type.
I’m not much of a one-liner collector but I like this one:
vim +copen -q <(grep -r -n <search> .)
which searches for some string and opens all instances in vim’s quickfix list (and opens the quickfix window too). Navigate the list with :cn and :cn. Complex-ish edits are the obvious use case, but I use this for browsing logs too.
Neovim improves on this with nvim -q - and [q/]q, and plenty of fuzzy finder plugins can do a better version using ripgrep, but this basic one works on any system that has gnu grep and vim.
Edit:
This isn’t exactly a command, but I can’t imagine not knowing about this anymore:
$ man grep
/ -n # double space before the dash!
brings you directly to the documentation of the -n option. Not the useless synopsis or any other paragraphs that mention -n in passing, but the actual doc for this option (OK, very occasionally it fails due to word wrap, but assuming the option is documented then it works 99% of the time).
This isn’t a very good article IMHO. I think I agree (strongly) with what it’s trying to say, but as it’s written, it just isn’t it.
Wrappers and VMs and bytecodes and runtimes are bad: they make life easier but they are less efficient and make issues harder to troubleshoot.
Runtimes/"VMs” like the JVM also allow nice things like stack traces. I don’t know about the author but I much prefer looking at a stack trace over “segmentation fault (core dumped)”. Having a runtime opens new possibilities for concurrency and parallelism too.
The COSMIC desktop looks like GNOME, works like GNOME Shell, but it’s smaller and faster and more customisable because it’s native Rust code.
This just doesn’t make any sense. COSMIC is more configurable because it wants to be, this has absolutely nothing to do with Rust vs Javascript.
Dennis Ritchie and Ken Thompson knew this. That’s why Research Unix evolved into Plan 9, which puts way more stuff through the filesystem to remove whole types of API. Everything’s in a container all the time, the filesystem abstracts the network and the GUI and more.
And here the author just contradicts themselves. So wrappers, runtimes and VMs are bad, except when it’s Ken Thompson doing it in which case adding containers and a language runtime into a kernel is a great idea actually?
Lastly, I didn’t address the efficiency arguments in the quotes because it’s mostly just true… but I do think it requires some more careful consideration than “JS bad Rust good”. Consider this unscientific sample of different apps on my PC and how much of my (expensive!) RAM they use:
- Spotify (Electron): 1G
- Ghostty (Zig/GTK): 235M
- Decibels (Typescript/GTK): 140M
- Anyrun (Rust/GTK): 110M
Note that Electron, and only Electron, is a supermassive black hole of bloat. Whatever is going on here, it’s not Javascript.

The site works for me. This is the actual news:
This discourse post has more details. Essentially: Nixpkgs is an 83 GiB repository with 20,000 forks that incurs a ton of API usage from CI and bots. It turns out this caused some scaling issues. It’s unclear to me if other forges would have run into exactly the same issues but if the repo can cause replication failures at GitHub it can almost certainly cause problem at Codeberg.
Edit: For comparison, the Gentoo repository is 20 GiB and has 2.2k forks (on GitHub). The largest repository on Codeberg is 30 GiB, but that’s just a blocklist data mirror with no CI.
Edit 2: Also, since I’m reading through Gentoo’s mail archives for this they also seem to be at least slightly worried:
Note that Nixpkgs doesn’t have a syncing mirror. Majority of Nix users pull directly from
github.com/NixOS/nixpkgs.I would expect Git forges (and other configuration control adjacent software) to be the easiest services to federate. Git is already decentralized, and the usual concerns regarding encryption and privacy are essentially irrelevant since everything is meant to be public anyways.
If you ask me it’s strange that the federated social media (which leaks PII everywhere) and federated messaging (which is a security nightmare) have taken off but decentralized Git forges don’t exist. My best guess is that the people who care are already using mailing lists?
Hooray to underspecified file formats.
From
patch(1):From
git-am(1):Ideally
git-amshould use a better file format, but I suppose the more realistic lesson now is to never have inline diffs in Commit messages.Only one out of four. Showtime, Totem and Light Video all use GStreamer.
Yes. For the same reason you also don’t get firmware updates on Guix. Or Firefox.
Yeah that’s a KDE classic. I think I had one KDE version a few years back that had no issues with my dock but it broke on a kernel update. Maybe it’s not entirely fair to blame KDE but I never had the same issues on GNOME, Sway or Niri…
I’m not sure that description makes a lot of sense. Nixpkgs/NixOS is a fairly large community project. Some of the contributors are certainly anti-woke (although quite a few of those were banned from official spaces a while back), and some are MIC employees (Anduril is somewhat infamous with a seat on the so-called “steering council"). That’s not especially unusual by itself, and you can definitely do worse than “one guy is a MIC employee” (just ask the GNU or suckless folks). What is unusual is the very public meltdowns that happened surrounding it, including the moderation team resigning. The community fortunately seems to have survived all of that though.
Anyone curious can read through the most recently active governance related thread and the rest of the discourse meta category. Outside of that the subreddit had an issue with Lunduke spam at the time, but this has since died down (and the posts were removed). I don’t frequent the Matrix (official) or Discord (unofficial) so maybe those are really bad and I don’t know about it, but from my experience I honestly have little to complain about.
Do you have some specific threads in mind? Maybe I’m lucky to never click on the bad ones but my experience is that nobody is more cynical regarding Nix/NixOS jank than the long time NixOS users. You might not always get the answer you want, because it is very jank and doing some things will get you into trouble. But people pointing that out isn’t the same thing as gaslighting.
Guix SD might be worth a look, it seems to be just straight up better in many technical regards. It has no flakes, comprehensive documentation and a blessed way to manage user homes. At least as long as you don’t really need WiFi of course…
At least in Haskell due to lazyness this is (almost) always what happens. A monad is just one kind of deferred computation, with an operator
>>=("bind") that happens to prevent compiler reordering or deduplication. Any IO actions are only executed whenmainis evaluated and no earlier. Strict functional languages to my knowledge don’t need monads to do IO since they don’t have the same issues with evaluation order that Haskell does (though they might want them for type safety purposes).Well, kind of. You would treat it the same way you would treat pipe/terminal or file IO: You write some impure functions that do the actual IO (database calls), and some pure functions that work on your data types. Then you compose them together to make an application. Hopefully most of your code is in the pure part which means you can test it without having to mock the world.
This honestly isn’t all that different from how a well written imperative code bases turn out. You generally don’t want to put all of the IO and all of the business logic into one super function or method or even class, because that makes things really hard to test (and hard to reason about too if you go far enough).
You can have actual in-memory mutable state in functional programming too, you just don’t get it on every variable by default. At least in Haskell you would usually achieve this by using a type that does it for you, like IORef or ST or MVar or TVar. The reasoning above applies to those - You would generally use them sparingly, when you really need mutability (e.g. to pass data between threads), and not everywhere.
Der Vermieter hat, zumindest theoretisch, das Kapital aufgebracht um das Haus und die Wohnungen zu bauen, und ist auch für die Instandhaltung des Gebäudes verantwortlich und trägt entsprechende finanzielle Risiken. Klar ist das in der Realität eher ein Feigenblatt, eine Wohnung zu vermieten ist im Großteil der Fälle sehr wenig Arbeit und sehr profitabel, aber der Hauptmieter kann nicht einmal das von sich sagen. Er hat gar keine Arbeit, hat kein Kapital und trägt keine Risiken. Und meinte trotzdem er kann 500 € im Monat absieben.
Ich habe ehrlich gesagt wenig Sympathie für diesen Hauptmieter. Er bereicherte sich vollständig auf Kosten des Untermieters ohne selber irgendeinen Wert zu schaffen und erhöht damit auch indirekt die örtlichen Mietpreise. Das ist das selbe Modell wie Scalping von GPUs zur GPU-Krise oder Toilettenpapier während Corona, nur halt für Immobilien.
Tragisch ist nur, dass die Wohnung in Zukunft höchstwahrscheinlich nicht für den ursprünglichen Preis vermietet werden wird.
Edit: Ich sehe gerade dass das in Berlin war. Wäre es dem Vermieter hier überhaupt erlaubt gewesen, den Preis für den nächsten Mieter so stark zu erhöhen? Sonst war das zusätzlich noch eine heimliche Umgehung der Mietpreisbremse.
As far as I’m aware Home Manager doesn’t set PATH at all, though the Nix installer does. I’m not sure where it adds to the PATH, it might edit
/etc/profileor something like that. You should be able to change it since you’re not on NixOS.Alternatively this should also do the trick, although it’s a bit ugly:
While you’re still in reinstalling mood, you could try out something with KDE, Xfce and Cinnamon desktops to see if you like those better than GNOME (you wouldn’t be alone if you do). However this part in particular:
Sounds a lot like you actually just want GNOME. While we have a lot of choice for Windows clones, there’s nothing that does the Super workflow quite like GNOME does.
You can also try the PopOS Shell or PaperWM extensions to try out some tiling functionality. You’ll have to spend a few minutes fixing up some key bindings, but you’ll still be running GNOME and won’t have to worry about desktop portals or authentication agents or notification daemons. You also won’t have to reinstall if you end up not liking it, you can just remove the extension, reset the key bindings and you’re back to the default experience.
Unfortunately it’s not that easy to stay on just one package manager unless your expectations for available software are very low (or you are willing to jump into NixOS, which I would not recommend). Even on Arch you end up with two because pacman does not pull from the AUR. You might get away with running a Fedora Atomic Desktop (or a derivative like Bazzite) and just pretending that Flatpak is the only thing that exists though.
I would tentatively suggest Fedora Silverblue actually, because while it isn’t without issues (missing codecs, Fedora Flatpak vs. Flathub, etc.) it is designed with the non-technical user in mind (which, with no offense intended, you are). That’s not true of Arch or any of its derivatives. Debian and Mint are also good options. That being said… there’s not really anything wrong with Ubuntu either. It’s not “cool” and of course Lemmings (like Redditors) will always recommend their own favorite distribution you’ve never head of, but if Ubuntu works for you, you can just keep using it.
NB: If you do end up trying GNOME on a non-Ubuntu distribution, you will want the AppIndicator extension. Ubuntu installs this by default, but Fedora doesn’t. Without it you won’t have Steam or Discord in your panel.
These… don’t even remotely solve the same problem?
Problems (1) and (2) (arguably also (3)) are quite difficult and don’t have trivial solutions. Fedora Silverblue solves (1) but has to jettison a reasonable package manager, creating problem (4) and the demand for Linuxbrew. NixOS solves (1) and (2) while avoiding (4) but at the cost of recompiling the world and breaking SELinux/AppArmor.
I wouldn’t consider running AshOS personally (even ignoring the abandoned status) as any package install or update requires a reboot (a variation of (4)), so the UX doesn’t appear to meaningfully different from just running Silverblue or MicroOS. I have doubts that the design space here has been completely explored, but you have to look back at the mediocre past attempts to understand why they were mediocre.
That would be because every entry (except
/bootand/tmp) is a subvolume of the same btrfs volume. Your other drives just aren’t in there.You might want to read
man fstaband maybe the Arch wiki pages for fstab and NTFS. It’s not that difficult as long as you make sure to not reboot with a broken fstab (usingnofailis also a good idea). And yes you can just mount them to/mediaif you want, as long as the mount point is an empty directory.Ubuntu Studio might have achieved this in a different way but since you’re in Arch land now it’s probably better to do what the Arch documentation recommends.
Probably not. Yes
/runis a tmpfs, but that doesn’t affect any other filesystems mounted inside of it - those have their own permissions (or don’t in the case of FAT).Since the drives are being mounted in
/run/mediathey’re probably being mounted by your file manager, not via/etc/fstab. You could instead have them mounted on boot by the root user via/etc/fstab(the classic way) orsystemd.mount(slightly friendlier), or configure polkit to allow mounting drives without a password (more reasonable if you’re talking about external or thumb drives).The permission issue is probably for a different reason. Are you sure the filesystem(s) you’re mounting supports POSIX style permissions? FAT doesn’t, and NTFS requires a special flag for it. The files might look like they have permissions, but they’re coming from the mount options and modifying them will either fail outright or not do anything.
Edit: Run
lsblk -fto see all connected drives, partitions and file systems and their file system type.I’m not much of a one-liner collector but I like this one:
which searches for some string and opens all instances in vim’s quickfix list (and opens the quickfix window too). Navigate the list with
:cnand:cn. Complex-ish edits are the obvious use case, but I use this for browsing logs too.Neovim improves on this with
nvim -q -and[q/]q, and plenty of fuzzy finder plugins can do a better version using ripgrep, but this basic one works on any system that has gnu grep and vim.Edit:
This isn’t exactly a command, but I can’t imagine not knowing about this anymore:
brings you directly to the documentation of the
-noption. Not the useless synopsis or any other paragraphs that mention-nin passing, but the actual doc for this option (OK, very occasionally it fails due to word wrap, but assuming the option is documented then it works 99% of the time).This isn’t a very good article IMHO. I think I agree (strongly) with what it’s trying to say, but as it’s written, it just isn’t it.
Runtimes/"VMs” like the JVM also allow nice things like stack traces. I don’t know about the author but I much prefer looking at a stack trace over “segmentation fault (core dumped)”. Having a runtime opens new possibilities for concurrency and parallelism too.
This just doesn’t make any sense. COSMIC is more configurable because it wants to be, this has absolutely nothing to do with Rust vs Javascript.
And here the author just contradicts themselves. So wrappers, runtimes and VMs are bad, except when it’s Ken Thompson doing it in which case adding containers and a language runtime into a kernel is a great idea actually?
Lastly, I didn’t address the efficiency arguments in the quotes because it’s mostly just true… but I do think it requires some more careful consideration than “JS bad Rust good”. Consider this unscientific sample of different apps on my PC and how much of my (expensive!) RAM they use:
Note that Electron, and only Electron, is a supermassive black hole of bloat. Whatever is going on here, it’s not Javascript.