You can give her limited sudo rights; even limit her to install and upgrade operations.
You can give her limited sudo rights; even limit her to install and upgrade operations.
Leaking isn’t really the issue, though I suppose Rust helps with that as well. Its memory sales pitch is more about memory safety, which is not reading or writing the wrong parts of memory. Doing that can have all sorts of effects, where the best you can hope for is a crash, but it often results in arbitrary execution vulnerabilities. Memory _un_safety is pretty rare and most prominent in languages like C, C++ and Zig.
Rust also has more information contained in it, which means resulting programs can actually be faster than C, as the optimizer in the compiler is better informed.
Rust is already in the kernel and Torvalds wants more, faster. He’s being obstructed by C purists, who at this point are the people who should fork the kernel if they see anything but C as heresy.
Thing is, there is already Rust in Linux, and Torvalds wants more, faster. He’s being sabotaged by C purists, who at this point should stop acting unprofessionally, or at the very least make their own “only C” fork if they disagree with his leadership so much.
Reads more like if you made a mess as a kid and cleaned up before your parents came home. The state between when they leave and when they arrive is up for experimentation.
How do you know a post was written by a systemd hater? Easy, they’ll spell it with a big D for some reason. It reminds me of how Norwegian rabid anti-cyclists are unable to spell “cyclist” for some reason.
Claiming you don’t want to restart an old debate and then trying to restart it anyway is pretty funny.
You might also want to keep in mind that you can’t really force an init system on Linux distros. Systemd became the norm through being preferred, as in, the people using and maintaining it think it’s good. At this point you might as well be ranting about how “LinuX is evil somehow” and we should all be using GNU HURD or Minix or something.
Also: Haven’t thought about suckless in well over a decade, maybe closer to two? I guess way back in the day I was kinda intrigued by their ideas and used some of their products; these days I’d rather see them as something between an art shop and people who are playing a somewhat unusual game with themselves, but not particularly relevant to mainstream software engineering.
I imagine the German response here is to be annoyed that they’ve worked very hard to be able to do this without telefax, indeed without paper at all, and it’s still not considered good enough by the peanut gallery.
Yeah, while -e
has a lot of limitations, it shouldn’t be thrown out with the bathwater. The unofficial strict mode can still de-weird bash to an extent, and I’d rather drop bash altogether when they’re insufficient, rather than try increasingly hard to work around bash’s weirdness. (I.e. I’d throw out the bathwater, baby and the family that spawned it at that point.)
Yeah, there’s also a subtle difference between ${1:-}
and ${1-}
: The first substitutes if 1
is unset or ""
; the second only if 1
is unset. So possibly ${foo-}
is actually the better to use for a lot of stuff, if the empty string is a valid value. There’s a lot to bash parameter expansion, and it’s all punctuation, which ups the line noise-iness of your scripts.
I don’t find it particularly legible or memorable; plus I’m generally not a fan of the variable amount of numbered arguments rather than being able to specify argument numbers and names like we are in practically every other programming language still in common use.
Yeah, another way to do it is
#!/bin/bash
set -euo pipefail
if [[ $# -lt 1 ]]
then
echo "Usage: $0 argument1" >&2
exit 1
fi
i.e. just count arguments. Related, fish
has kind of the orthogonal situation here, where you can name arguments in a better way, but there’s no set -u
function foo --argument-names bar
...
end
in the end my conclusion is that argument handling in shells is generally bad. Add in historic workarounds like if [ "x" = "x$1" ]
and it’s clear shells have always been Shortcut City
Side note: One point I have to award to Perl for using eq/lt/gt/etc
for string comparisons and ==/</>
for numeric comparisons. In shells it’s reversed for some reason? The absolute state of things when I can point to Perl as an example of something that did it better
#!/bin/bash
set -euo pipefail
if [[ -z "${1:-}" ]]
then
echo "we need an argument!" >&2
exit 1
fi
The logs are handled, but I mostly use it for command separation and control, including killing unruly child processes.
I suspect my habit of having an alias userctl="systemctl --user"
is slightly unusual, as is running Firefox, Steam, and some other graphical programs as systemd units is somewhat unusual (e.g. mod4-enter
runs systemd-run --user alacritty
)
But what I’m actually pretty sure is unique is my keyboard layout. I taught myself dvorak a summer some decades ago, but the norwegian dvorak layout has some annoyances, so I’ve made some tweaks. Used to be a Xmodmap
file, but with the switch to wayland I turned it into a file in /usr/share/X11/xkb/symbols/
.
Part of what I did to teach myself dvorak and touch-typing at the same time was randomize the placement of the keycaps too. It has a side effect of being a kind of security by obscurity layer: I type quickly and confidently, but others who want to use my machines have an “uhh …” reaction.
There’s also no uppercase d in systemd
, the word is entirely lowercase (but I’ll still write it with an uppercase s at the start of sentences).
Yeah, the manpages for systemd are large but also informative. Most of us only use a small subset of the features—much like we never explored everything possible with separate init programs.
Having used Linux on the desktop for some two decades and worked as a Linux sysadmin for a good while I don’t miss the init scripts. My impression is more that a certain cohort wants to pretend that service management is easy by ignoring large amounts of it. It’s easy to write a bad init script that breaks when you really need it, or be out of your depth with more complex cases.
Not to mention the whole conformity by convention thing. Systemd unit files are descriptive and predictable by their nature. So-called init scripts didn’t really have to be scripts, they just usually were, and their arguments and output and behaviour was also unenforced—there’s nothing really stopping you from writing a compiled program that self-daemonizes and place the binary with the init scripts rather than in /bin. Ultimately people who make programs also have to be good at writing init programs with that setup.
So we’d have people doing dumb shit themselves and getting angry at others doing dumb shit. PHP was also pretty popular and full of dumb shit. Lots of “worse is better” to go around.
Ultimately it’s more of the stuff covered in Bryan Cantrill’s Platform as a reflection of values. Some of us value predictability and correctness, others feel it’s a straitjacket. There’s no way of pleasing everyone with the same platform.
And currently the people who want to distribute their own riced-out init programs in bash, perl, php, node.js and so on are SOL. (They can still use them on their own machines.)
By that logic we would still be using horses since technically we don’t -need- cars.
Most of us would be using our feet and transit (and possibly bikes); both our households and our economies would be better off financially and bodily if car use was restricted to goods hauling and some few other uses (not to mention the environment). Mass motorism has turned out to be mostly a way to enrich the auto industry, not our societies, with North America as a warning to the rest of us. (See [email protected] for more.)
There are plenty of times where humanity has chased the latest fad without considering the costs & benefits properly. The amount of energy and hardware being blown away on LLMs are another example; same goes for creepto and NFTs.
That said, having a look around for various applications, including terminals, is generally good. If someone finds something that covers their needs but with lower costs, that’s good. And if they find something with a shiny new bell or whistle at exorbitant cost, eh, maybe think twice before choosing it.
Yeah, Rust tries to find as many problems as it can during compilation. It’s great for those of us who want the bugs to be found ahead of release, not great for those who just want something out the door and worry about bugs only after a user reports them.
Different platforms have different values, and that also affects what people consider fun. At the other end of the scale you find the triple-equals languages like js and php, which a lot of people think are fun and normal, but some of us think are so wobbly or sloppy that they’re actually much harder languages than other, stricter languages.
If you value correctness and efficiency, Rust is pretty fun.
I think I’ll stick to alacritty, but options are always fun
Idunno, that might be approaching “one day of patchy electricity can change how you view computers vs mechanical typewriters”. Here people would likely use their mobile internet, especially if the company is paying their phone bill.
I used Ratpoison for well over a decade, and only replaced it with sway once I had a new machine and figured it was time to try Wayland. Apparently that’s some 4-5 years ago already.