Interesting, so that’s sort of customising the image somehow? Does it use an overlay FS or something?
Interesting, so that’s sort of customising the image somehow? Does it use an overlay FS or something?
Hmmm I guess this kind of makes sense - most distros push Gnome above KDE (probably because it doesn’t look like this - where’s Tantacrul when you need him?). On the other hand, there’s already Kubuntu…
I’m a bit skeptical about immutable distros too. What if I want to install a package that isn’t already installed and isn’t available as a Flatpak/Snap? Seems like it’s going to run in similar issues to everything else that tries to wade upstream against the bad decisions of the existing Linux packaging zeitgeist, e.g. how Nix has to install everything in one root-owned directory because nobody cares about portable installation.
That’s cool, but in my experience if you get to the OOM killer then 80% of the time it’s too late and your system is basically dead. My laptop hard reboots most of the time when this happens.
Hopefully it works with the early-OOM hacks.
I have 32 GB but it’s not enough. Try opening 8 instances of VSCode, Firefox and Chrome with a few dozen tabs. Unfortunately my laptop doesn’t support 64 GB of RAM.
I have never seen a single C++ codebase do that. It helps but it’s not a practical full solution.
… in one benchmark.
Yes, but I was talking about Linux in general. I’m pretty sure Gnome at least has commercial backing.
And Linux advocate never say “don’t use Linux; it isn’t a commercial product so it isn’t as good as Windows” do they? They say “you’re an idiot for using Windows; Linux is better”.
GPU reset recovery
Woah catching up to Windows 18 years ago! :D
Tbf I did not think we would ever see this feature. What next, secure login prompts (“press ctrl-alt-del to login in”, which admittedly Windows seems to have dropped)?
Yeah I mean it’s definitely a reference volume of last resort, rather than a tutorial you would read cover to cover. Clearly a genius but he explains things as if you already understand them, and can also read his mind.
That said, for a lot of the content the only alternative is research papers and they are even less accessible. I definitely would only use it if I couldn’t find answers anywhere else though.
This is about Spectre, not about buggy hardware implementations.
Spectre is a fundamental flaw in speculative execution that means it can leak information, so it’s a security vulnerability. Apparently Intel has been imposing draconian requirements on software to work around the issue rather than fixing it in hardware, which is obviously what they should do, but is not at all trivial.
Oof found the Java developer. No thanks.
The C++ standards committee don’t see memory safety or UB as a problem. If they did they wouldn’t keep introducing new footguns, e.g. forgetting return_void()
in a coroutine. They still think everyone should just learn the entire C++ spec and not make mistakes.
I think I disagree with everything here.
Exceptions Are Much Easier to Work With
Well, they’re “easier” in the same way that dynamic typing is easier. It’s obviously less work initially just to say “screw it; any error gets caught in main()
”. But that’s short term easiness. In the long term its much more painful because:
try {
int& foo = bar();
} catch (...) {
std::cout << "bar failed, try ...\n";
return nullopt;
}
foo = 5;
(It actually gets worse than that but I can’t think of a good example.)
Over 100× less code! [fewer exception catching in their C++ database than error handling in a Go database]
Well… I’m guessing your codebase is a lot smaller than the other one for a start, and you’re comparing with Go which is kind of worst case… But anyway this kind of proves my point! You only actually have proper error handling in 140 places - apparently mostly in tests. In other words you just throw all exceptions to main()
.
System errors [he’s mainly talking about OOM, stack overflow & arithmetic errors like integer overflow]
Kind of a fair point I guess. I dunno how you can reasonably stack overflows without exceptions. But guess what - Rust does have panic!()
for that, and you can catch panics. I’d say that’s one of the few reasonable cases to use catch_unwind
.
Exceptions Lead to Better Error Messages
Hahahahahaha. I dunno if a bare stack trace with NullPointerException
counts as a “better error message”. Ridiculous.
Exceptions Are More Performant
Sure maybe in error handling microbenchmarks, or particularly extreme examples. In real world code it clearly makes little difference. Certainly not enough to choose an inferior error handling system.
I would say one real reason to prefer exceptions over Result<>
s is they are a fair bit easier to debug because you can just break on throw. That’s tricky with Result<>
because creating a Err
is not necessarily an error. At least I have not found a way to “break on Err
”. You can break on unwrap()
but that is usually after the stack has been unwound quite a bit and you lose all context.
There’s a “proper” version of this hack called early oom. I haven’t used it though and now that I look at it it seems like it uses the same completely broken “guess which process to kill, who cares if it’s
init
” system that the normal oom killer uses so your solution sounds better.Is it so hard to just pause the system and ask the user which app to kill?