Turun,

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

tinocofaidh,

Either your memory is getting rusty, or the old tools just give you immutable values

redempt,

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.

renzev,

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.

boredsquirrel,

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

dukatos,

But you are ok with systemd doing the same?

rtxn,

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.

palordrolap,

Let me guess: Haskell has become that language where you can write anything you want with only three lines of code, provided you use that definitions provided by someone else who did the same thing last month from a third person's code, etc, back to 1990.

PoolloverNathan,

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

StephenTallentyre,
@StephenTallentyre@lemmy.today avatar

Huh. My brain is on fire right now.

PoolloverNathan,

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.

StephenTallentyre, (edited )
@StephenTallentyre@lemmy.today avatar

Huh. My brain is on fire right now.

MajorHavoc,

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

jelloeater85,
@jelloeater85@lemmy.world avatar

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

MajorHavoc,

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.

jelloeater85,
@jelloeater85@lemmy.world avatar

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.

MajorHavoc,

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

That’s a great description.

evranch,

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

Ephera,

You seem to have gotten a wrong impression there. Rust absolutely has mutability: doc.rust-lang.org/rust-by-example/…/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).
evranch,

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

astraeus,
@astraeus@programming.dev avatar

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

HouseWolf,

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.

pipows,
@pipows@lemmy.today avatar

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

backhdlp,
@backhdlp@iusearchlinux.fyi avatar
SexualPolytope,
@SexualPolytope@lemmy.sdf.org avatar

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.

astraeus,
@astraeus@programming.dev avatar

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

Communist,
@Communist@lemmy.ml avatar

I just set


<span style="color:#323232;">upd = <distro update command>
</span><span style="color:#323232;">ins = <distro install command> 
</span><span style="color:#323232;">pur = <distro purge command>
</span><span style="color:#323232;">uin = <distro uninstall command>
</span>

in every distro, I don’t know why you’d want package management to be distro specific commands

astraeus,
@astraeus@programming.dev avatar

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

Feathercrown,

tsni feels so wrong 😭

astraeus,
@astraeus@programming.dev avatar

I know but some strange part of me loves it

acockworkorange,

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

astraeus,
@astraeus@programming.dev avatar

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

acockworkorange,

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

techt,

You could go for unst and drop sick rave beats

unst unst unst

dvlsg,
@dvlsg@lemmy.world avatar

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

calcopiritus,

Bash was a mistake.

astraeus,
@astraeus@programming.dev avatar

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

Ephera,

You could also use the pkcon command.

BreakDecks,

Writing all those aliases probably helped him learn pacman.

sirico,
@sirico@feddit.uk avatar

Go has a better mascot so is better

boredsquirrel,

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

cosmicrose,
@cosmicrose@lemmy.world avatar

Objectively incorrect I hate that goddamn gopher

sirico,
@sirico@feddit.uk avatar

Opinion is subjective wonky gopher wins

lars,

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

saddlebag,
  • All
  • Subscribed
  • Moderated
  • Favorites
  • linuxmemes@lemmy.world
  • ngwrru68w68
  • DreamBathrooms
  • thenastyranch
  • magazineikmin
  • InstantRegret
  • GTA5RPClips
  • Youngstown
  • everett
  • slotface
  • rosin
  • osvaldo12
  • mdbf
  • kavyap
  • cubers
  • megavids
  • modclub
  • normalnudes
  • tester
  • khanakhh
  • Durango
  • ethstaker
  • tacticalgear
  • Leos
  • provamag3
  • anitta
  • cisconetworking
  • JUstTest
  • lostlight
  • All magazines