this post was submitted on 12 Apr 2024
365 points (96.0% liked)

linuxmemes

21172 readers
828 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack members of the community for any reason.
  • 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.
  • These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
  • 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. Even if you watch it on a Linux machine.
  • 4. No recent reposts
  • Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.

  • Please report posts and comments that break these rules!

    founded 1 year ago
    MODERATORS
     
    all 45 comments
    sorted by: hot top controversial new old
    [–] [email protected] 2 points 6 months ago

    Eh, I did alias cat to bat, it fd is just easier to type and a million times better than find.

    [–] [email protected] 38 points 6 months ago (1 children)

    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.

    [–] [email protected] 3 points 6 months ago (1 children)

    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.

    [–] [email protected] 2 points 6 months ago

    Yes eza is the new fork. I like the nerdfonts combo

    [–] [email protected] 1 points 6 months ago

    But you are ok with systemd doing the same?

    [–] [email protected] 24 points 6 months ago (1 children)

    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.

    [–] [email protected] 6 points 6 months ago (1 children)

    ↑ 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.

    [–] [email protected] 2 points 6 months ago (1 children)

    Huh. My brain is on fire right now.

    [–] [email protected] 3 points 6 months ago (1 children)

    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.

    [–] [email protected] 5 points 6 months ago* (last edited 6 months ago)

    Huh. My brain is on fire right now.

    [–] [email protected] 9 points 6 months ago (2 children)

    Rust needs to get off my damn lawn. Lousy kids with their type-safe bullshit fake pointers.

    [–] [email protected] 5 points 6 months ago (1 children)

    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

    [–] [email protected] 5 points 6 months ago (1 children)

    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).
    [–] [email protected] 1 points 6 months ago

    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

    [–] [email protected] 8 points 6 months ago (1 children)

    Go hang out with GoLang, it's fast too AND easy.

    [–] [email protected] 3 points 6 months ago (1 children)

    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.

    [–] [email protected] 6 points 6 months ago* (last edited 6 months ago) (1 children)

    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.

    [–] [email protected] 4 points 6 months ago

    if C and Python had a baby, it would be GoLang.

    That's a great description.

    [–] [email protected] 29 points 6 months ago

    When you haven’t proselytized Rust in the last 5 minutes

    [–] [email protected] 64 points 6 months ago* (last edited 6 months ago) (5 children)

    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.

    [–] [email protected] 10 points 6 months ago (1 children)

    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.

    [–] [email protected] 2 points 6 months ago (1 children)

    I've found a cheat sheet from apt to pacman/yay that helped me with that

    [–] [email protected] 61 points 6 months ago

    Writing all those aliases probably helped him learn pacman.

    [–] [email protected] 27 points 6 months ago (2 children)

    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

    [–] [email protected] 2 points 6 months ago

    You could also use the pkcon command.

    [–] [email protected] 26 points 6 months ago* (last edited 6 months ago) (4 children)

    ins and uin for some reason feels wrong, like inst and tsni feels more right to me and I know it shouldn’t.

    [–] [email protected] 8 points 6 months ago (1 children)
    [–] [email protected] 2 points 6 months ago

    Creates a Time Machine to go back to 1988 and tell them do not create bash

    [–] [email protected] 10 points 6 months ago

    You could go for unst and drop sick rave beats

    unst unst unst

    [–] [email protected] 6 points 6 months ago

    ins feels like insert. uin feels like it skips the first n on accident. To me, anyways.

    [–] [email protected] 35 points 6 months ago (1 children)
    [–] [email protected] 7 points 6 months ago (1 children)

    I know but some strange part of me loves it

    [–] [email protected] 8 points 6 months ago* (last edited 6 months ago) (1 children)

    You’re the kind of guy that ends if statements with fi and you should be ashamed.

    [–] [email protected] 4 points 6 months ago (1 children)

    I can’t tell you how many times the missing fi has hurt my feelings and made me waste precious hours of my life

    [–] [email protected] 3 points 6 months ago

    A punishment fitting the crime, the universe is balanced once more.

    [–] [email protected] 3 points 6 months ago

    I’m kind of curious how far he got with this

    [–] [email protected] 14 points 6 months ago (3 children)

    Go has a better mascot so is better

    [–] [email protected] 1 points 6 months ago

    Isnt Go incompatible with sealed build environments and possibly reproducible builds?

    [–] [email protected] 30 points 6 months ago (2 children)

    Objectively incorrect I hate that goddamn gopher

    [–] [email protected] 4 points 6 months ago

    I never realized it’s a gopher. That’s cute and clever for such an awful mascot.

    [–] [email protected] 3 points 6 months ago

    Opinion is subjective wonky gopher wins