linuxmemes
Hint: :q!
Sister communities:
Community rules (click to expand)
1. Follow the site-wide rules
- Instance-wide TOS: https://legal.lemmy.world/tos/
- Lemmy code of conduct: https://join-lemmy.org/docs/code_of_conduct.html
2. Be civil
- Understand the difference between a joke and an insult.
- Do not harrass or attack users for any reason. This includes using blanket terms, like "every user of thing".
- Don't get baited into back-and-forth insults. We are not animals.
- Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
- Bigotry will not be tolerated.
3. Post Linux-related content
- Including Unix and BSD.
- Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of
sudo
in Windows. - No porn, no politics, no trolling or ragebaiting.
4. No recent reposts
- Everybody uses Arch btw, can't quit Vim, <loves/tolerates/hates> systemd, and wants to interject for a moment. You can stop now.
5. π¬π§ Language/ΡΠ·ΡΠΊ/Sprache
- This is primarily an English-speaking community. π¬π§π¦πΊπΊπΈ
- Comments written in other languages are allowed.
- The substance of a post should be comprehensible for people who only speak English.
- Titles and post bodies written in other languages will be allowed, but only as long as the above rule is observed.
6. (NEW!) Regarding public figures
We all have our opinions, and certain public figures can be divisive. Keep in mind that this is a community for memes and light-hearted fun, not for airing grievances or leveling accusations. - Keep discussions polite and free of disparagement.
- We are never in possession of all of the facts. Defamatory comments will not be tolerated.
- Discussions that get too heated will be locked and offending comments removed. Β
Please report posts and comments that break these rules!
Important: never execute code or follow advice that you don't understand or can't verify, especially here. The word of the day is credibility. This is a meme community -- even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don't remove France.
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.
Yes eza is the new fork. I like the nerdfonts combo
When you havenβt proselytized Rust in the last 5 minutes
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.
Huh. My brain is on fire right now.
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.
Huh. My brain is on fire right now.
Go has a better mascot so is better
Objectively incorrect I hate that goddamn gopher
I never realized itβs a gopher. Thatβs cute and clever for such an awful mascot.
Opinion is subjective wonky gopher wins
Isnt Go incompatible with sealed build environments and possibly reproducible builds?
Rust needs to get off my damn lawn. Lousy kids with their type-safe bullshit fake pointers.
Go hang out with GoLang, it's fast too AND easy.
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.
if C and Python had a baby, it would be GoLang.
That's a great description.
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:
- It's practically always explicit when something is mutable.
- Whether something is mutable is associated with the variable binding rather than the data type. This means you can temporarily opt into mutability (if you have ownership of that variable).
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.
But you are ok with systemd doing the same?