Setting Aliases because I can't remember the new ones
I got a buddy who switched to EndeavourOS after using Linux Mint for about a year, He said he was too lazy to learn pacman/yay so he spent an hour making fake apt aliases, I forgot what happened but after a while he gave up on it and just got use to pacman.
I just set
upd = <distro update command>
ins = <distro install command>
pur = <distro purge command>
uin = <distro uninstall command>
in every distro, I don't know why you'd want package management to be distro specific commands
ins and uin for some reason feels wrong, like inst
and tsni
feels more right to me and I know it shouldn’t.
I can’t tell you how many times the missing fi has hurt my feelings and made me waste precious hours of my life
I'm fine with using pacman
in general, but always forget how to uninstall an app completely. So I set the alias yeet
for that. Since then, I've also set it on different systems like dnf
.
I love it because software written in rust tends to be straight up better. because it makes it so easy to make your code parallel, because it makes it easy to be user friendly by design, people actually go that extra mile. because it's so easy to pull in a dependency to do something you'd be too lazy to do in C, the tools can get a bit big but they tend to work really well. I'll take a rust CLI app over a python CLI script any day, and I'll especially take it over software written in C. most people don't care as long as the tool works, but you can definitely feel the difference of the language it's written in in its design and performance.
Good software can come from almost any language, but yeah there's just something about rust CLI tools. I've pretty much always had issues with incorrect file type associations on Linux, until I started using handlr. exa
(or eza
?) is great too. Just like ls
but better in every way.
I feel the same way about Haskell. Every program I've used is either a "Look at what else Haskell can do!" example, or an endorsement of universal packages whenever I have to update 200 haskell modules.
↑ This. Haskell makes it super easy to get good CLI filters. All you need to do is interact
and process the string it gives you. You'll automatically get streaming behavior because of laziness without lifting a finger.
interact
is (String → String) → IO ()
, a function that takes a String → String
(a function that takes a string and returns a string) and returns an I/O operation (which is a separate type since Haskell doesn't have side-effects). The function you give it will receive all of stdin as a string and its output will be stdout. The magic comes because Haskell uses cons-lists that are lazy in their spine — the list doesn't actually exist until you look at it. This means that, from your perspective (probably not how this is actually implemented), the list you return is iterated character-by-character, and each character that gets printed only waits for the characters it needs, allowing the rest of the stdin list to remain unevaluated.
Rust needs to get off my damn lawn. Lousy kids with their type-safe bullshit fake pointers.
Yeah. Putting my old man crankiness aside, for a moment, I adore goLang. GoLang is like having a youngest grandchild. It can do whatever it wants and I'll praise it.
I literally learned it over a one week vacation. The only other language that comes close to being that easy to learn is Python. I often tell folks, if C and Python had a baby, it would be GoLang.
Rust is heresy. Everything should be mutable, the way that God intended it to be!
Seriously though as someone who has mainly done embedded work for decades and got used to constrained environments, the everything is immutable paradigm seems clunky and inelegant. I don't want to copy everything all the time.
Now if you'll excuse me, these null pointers aren't going to dereference themselves
You seem to have gotten a wrong impression there. Rust absolutely has mutability: https://doc.rust-lang.org/rust-by-example/scope/borrow/mut.html
I would even go so far that Rust is making mutability fashionable again.
More modern languages had generally kind of ousted mutability, but as you say, that means tons of copying, which was a no-go for Rust's performance goals.
So, they looked for ways to allow for mutability without it being a footgun. As such, Rust's mutability handling differs from many other languages in that:
I was more referring to the fact that everything is immutable by default. As someone who's just starting to get old (40) and literally grew up with C, it's just ingrained in me that a variable is... Variable.
If I want a variable to be immutable I would declare it const, and I'm just not used to the opposite. So when playing with Rust, the tutorial said that "most people find themselves fighting with the borrow checker" and sure enough, that's what I ended up doing!
I like the concepts behind it, it really encourages writing safe code, and I feel like it's not just going to be a fad language but will likely end up underlying secure systems of the future. Linux kernel rewrite in Rust when?
It's just that personally I don't have the flow of writing code like I would in C/++, just not used to it. The scoping, the way you pass variables and can sort of "use up a reference" so it's not available anymore just feels cumbersome compared to just passing &memory_location and getting on with it, lol
Eh, I did alias cat to bat, it fd is just easier to type and a million times better than find.