Ignoring the interactive features (or lack thereof) in dash/ksh, removing bash is not really something that’s possible on most distros (excluding Alpine and possibly Debian) since it’s used in scripts everywhere. And if you need to have bash installed anyways, why opt for the less pleasant shell in daily usage?
she/they
- 0 Posts
- 7 Comments
If your DE/Launcher uses systemd scopes properly you might be able to see something in the journal. As an example somewhere in my logs I can see this:
Jan 17 17:52:50 sky systemd[2171]: app-niri-steam-40213.scope: Failed with result 'oom-kill'. Jan 17 17:52:50 sky systemd[2171]: app-niri-steam-40213.scope: Consumed 6h 32min 39.773s CPU time, 9.4G memory peak, 6.2G memory swap peak.That’s pretty clearly severe thrashing and an eventual OOM event caused by a game. If you’re not familiar, the command
journalctl -e -b -1gives you the last log lines from the last boot. Usedanduto navigate the pager andqto quit. This will only work if the launcher you are using sets up transient systemd scopes and doesn’t just fork-exec into the application (Fuzzel does the wrong thing by default, as do many others).I’ve also seen large Steam downloads causing such issues, so capping your download speed might help. As could enabling ZRAM.
Edit: Also, this is most likely completely unrelated but do note that Neon is basically abandoned. You should very much consider switching to a maintained distribution, whether that’s another Ubuntu spin or Fedora or something else entirely.
Oinks@lemmy.blahaj.zoneto
Programming@programming.dev•How useful are functional programming languages?
3·2 days agoA “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 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).
Oinks@lemmy.blahaj.zoneto
Programming@programming.dev•How useful are functional programming languages?
6·2 days agoIs 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.
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.
Oinks@lemmy.blahaj.zoneto
Linux@lemmy.ml•swww renamed to awww, due to the author's guilt from obliviously naming it "final solution"
0·3 months agoIn defense of the author and their education… They’re Brazilian so English probably isn’t their native language, and their history education was almost certainly in Portuguese. I don’t think it’s necessarily an indictment of their education that they weren’t taught about the English translation of a German phrase, and I don’t think it’s reasonable to apply the same standards of subtext awareness to native and non-native speakers either.
Bad RAM is still a thing (even on regular PCs), there’s a reason ECC memory has a market (true ECC, not the stuff that DDR5 has built-in). But I agree that it’s likely just an OOM/Thrashing situation. Linux famously doesn’t handle them very well, and the behavior OP is seeing is very much consistent with that.