File this under #shell #functions I should have written years ago:

function grepc { #Do a grep -c, but skipping files with no results grep -c "$@" |grep -v ':0$' }

#unix #UnixShell #ShellScripting #bash #ksh

@rl_dane

Oh, didn't know about -c. I usually just pipe to wc -l I guess.

@amin

-c, -l, -h, -H, and -q are my favorite #grep flags. :D

Huh, that almost became a [Marcel Duchamp] reference. 😅

Marcel Duchamp - Wikipedia

@rl_dane

I just use -v and -E

@amin @rl_dane you guys use flags?... :p
@amin @rl_dane @sotolf You guys still use grep instead of ripgrep. Tst

@thedoctor @amin @sotolf

...and bash instead of zsh
...and grep/awk/sed instead of jq
...and firefox instead of chrome
...and the fediverse instead of facebook

Face it... I'm an unpopular-opinion neckbeard level boss. XD

cc: @mirabilos

@rl_dane Those are so not comparable!

@amin @sotolf @mirabilos

@thedoctor @rl_dane @amin @mirabilos At least bash and zsh is comparable to grep ripgrep, as zsh is just a strictly better bash ;)

@sotolf @thedoctor @rl_dane @mirabilos

Mm, not really though? ripgrep is meant for bulk grepping of files

@amin @thedoctor @rl_dane @mirabilos I think I had it installed, I just never remembered to use it :p

@sotolf @thedoctor @rl_dane @mirabilos

I mostly just use it to run rg TODO and see all the spots in a codebase I marked as still needing work.

@amin @sotolf @thedoctor @mirabilos

Why is ripgrep better than just grep -R?

@rl_dane @amin @sotolf @thedoctor @mirabilos it's somehow a lot faster if you want to grep a few GiB of code, like 15 minutes to 30 seconds

@kabel42 @amin @sotolf @thedoctor @mirabilos

Interesting! I wonder what kind of algorithmic optimizations (as opposed to compiler optimizations) they're using to do that, and if regular (GNU/BSD) grep could do the same.

Because I'll wear clown shoes and a tutu before changing to a "rewrite the world in rust!" utility 😂

@rl_dane @amin @sotolf @thedoctor @mirabilos From what little i have read, some assumptions about what you are greping and different defaults. Doing the same in existing grep would probably break compatibility.
@kabel42 @rl_dane @amin @thedoctor @mirabilos Ah, so it's basically cheating, I mean, it does work, and I do it often when I create small tools, with the excuse that "It wasn't meant for that"
@sotolf @rl_dane @amin @thedoctor @mirabilos Is it cheating, if it is the second sentence in you README.md?
"ripgrep will respect gitignore rules and automatically skip hidden files/directories and binary files. (To disable all automatic filtering by default, use rg -uuu.)"
or, you didn't want to grep in .git anyway you are just too lazy to look up the flag to skip that
@kabel42 @rl_dane @amin @thedoctor @mirabilos All optimisation are just different ways of cheating ;)
@sotolf @rl_dane @amin @thedoctor @mirabilos doesn't cheating imply that you are dishonest about it?
@kabel42 @rl_dane @amin @thedoctor @mirabilos I don't know, it might be just that my mother-tongue's word for it "jukse" also has a connotation of taking the easy way out or a shortcut instead of doing the whole thing. And I transferred that over to english.
@sotolf @rl_dane @amin @thedoctor @mirabilos could be the same for German, where you have the choice of "Schummeln" and "Betrügen" :)

@kabel42 @rl_dane @amin @thedoctor @mirabilos Yeah, cheating as in Schummeln, not as in Betrügen.

I also saw now when looking the word up that it comes from german "juxen" which is "playing around, having fun" which is kind of a fun way that the word has been wandering :)

@sotolf @rl_dane @kabel42 @thedoctor @amin cheating can be Schummeln but I think it is usually somewhat more down the scale towards Betrügen, unless explicit in e.g. game
night context
@mirabilos @sotolf @rl_dane @thedoctor @amin
If using assumptions for optimization is cheating, is using Newtonian physics cheating?

@kabel42 @mirabilos @sotolf @thedoctor @amin

If you rely on relativistic/Einsteinian accuracy, yes? ;)

#KSP cheats by not computing gravity between the various planets and moons. They're all on (invisible) rails. Only ships, crew, and asteroids are affected by actual gravity.

@rl_dane @mirabilos @sotolf @thedoctor @amin but your assumption when using Newtonian physics would be, that the error from doing so is irrelevant.
@kabel42 @rl_dane @mirabilos @thedoctor @amin Yeah, but you're doing less work, so you're basically cheating ;)

@sotolf @kabel42 @mirabilos @thedoctor @amin

Sometimes the cheats are a valid way to make a system more efficient ;)

https://fosstodon.org/@RL_Dane/110483983267674662

R. L. Dane :debian: :openbsd: (@[email protected])

Attached: 1 image @[email protected] HA :) Reminds me of something I saw today... #LossyPNG

Fosstodon
@rl_dane @kabel42 @sotolf @thedoctor @amin hmmmm, would be fun if a planet is so barely near its rails that a starship moving around would be enough to derail it, so to speak

@mirabilos @kabel42 @sotolf @thedoctor @amin

That game uses all kinds of crazy tricks to keep the various calculations away from floating point dead zones.
Folks have found tricks to force KSP to plot things with reduced precision, and the outcome is kind of hilarious. Things like very jagged plots and incredibly unpredictable trajectories. ;)