this post was submitted on 13 Feb 2024
588 points (97.4% liked)

Technology

59672 readers
2852 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 6 points 9 months ago* (last edited 9 months ago)

That’s the whole point, you are not suppose to use grep if sed works. You are not suppose to use cp if cat file > new.file works.

No. You grep if you are searching for something. You sed when you're editing a file in an automated manner. You use cp if you copy a file. cat foo > bar is not, in the very slightest, idiomatic, and never was: cat foo bar > baz is and that's precisely why cat is named like that, quoth the man page: "cat - concatenate files and print on the standard output". cp can't do that. If you use cat with a single argument then without redirection, as the equivalent of DOS's type.

Don't think of "one thing, and one thing well" as "there must be no overlapping features", but "every program has a clearly-defined use case". If it can be used for something else, like single-argument cat, then that's fine, but that doesn't make cat the program to use when copying files.

And it means "there must be no overlapping features when combining random programs in arbitrary ways" even less: Your cat foo > bar uses two programs, cat and sh. If the combination between multiple programs was restricted to not have features available elsewhere then you wouldn't get any of the benefits of being able to combine programs, this explosion of possibilities and with that approaches is precisely the advantage of combination.

Grep is fine for some things RipGrep and SilverSearcher for others.

Never heard of silversearcher, but ripgrep is a straight-up grep replacement. Grep is 50 years old, ripgrep takes 50 years of experience people had with using the original to design a program that fulfils grep's purpose even better. There's no council of greybeards saying "there already is a program like that you shall use, we can't have two programs doing the same thing", that's not Unix but python.

It’s time we get rid of old ways and embrace modern computing,

I tend to agree. I use nushell, haven't really gotten into ripgrep I probably just don't grep often enough to care. My editor is helix which breaks in may ways with the line that started with ed but keeps the core philosophy intact, nay, adheres better to it because it was bold enough to get rid of hysterical raisins. As ripgrep it's an iteration of the same core idea and principles of an old program, in the light of 50 years of experience people had using it.

up to a point where people started building note taking applications in whole web browsers.

You could also combine a text editor and maybe pandoc. Different notes? Different files, that's what the file system is for. Need to find something in your notes? grep.

You'll be hard-pressed to find an actual use-case for a simple note-taking app under unix because the combination of things everyone half-way acquainted with the system already does it. There's org mode, yes, but org mode isn't simple. Also emacs is a completely different operating system.