Live data from Hacker News

App::Rak – 21st century grep / find / ack / ag / rg on steroids

github.com

51–60 of 98 posts

Re: App::Rak – 21st century grep / find / ack / ag / rg on steroids

#51
post #18
post #17

Earlier quoted context omitted.

While ripgrep is also 21st century, it's not on steroids. /s

I would go as far as to say that steroids are not a good idea most of the time anyway. :)

Depends on what you use them for. I squirt them up my nose to deal with dust allergies. Steroids work great!

(...I am somewhat disappointed that I don't have a ridiculously buff nose by now but at least it matches the rest of my body).

Re: App::Rak – 21st century grep / find / ack / ag / rg on steroids

#52
post #42

There is problem with nice modern Linux tools - they are not available on the generic servers and embedded boxes with you will likely use, or in the image someone else has given you etc. Therefore it is pointless (sorry for the strong term) to learn them, because they simply won't be available for when they are most needed. And learning new tools is not a free process, there are costs, mental and time.

I reject that heartily. I spend 90% of my shell time on my own machine, and I want it to be comfortable. Here “at home” I use nice editors, and Fish shell, and ripgrep/fzf/etc., because they make my daily life more pleasant and productive. Some remote servers are minimal to the point that they only have Bourne shell and plain vi available, and when I’m working on them, that’s what I use. But darned if I want to handcuff myself to the greatest common denominator in my daily work.

I promise, you can learn both grep and ripgrep at the same time.

Re: App::Rak – 21st century grep / find / ack / ag / rg on steroids

#54

Earlier quoted context omitted.

> ripgrep Whait what's that? I'm stuck with ag and {a..z}grep.

It's phenomenal, is what it is. An extremely fast, recursive-by-default, general-purpose `grep` clone in Rust. Alongside `fzf` and `fd` (a similar project for `find`) `rg` was what finally convinced me to put together a few shell scripts to bootstrap getting all my favorite modern command line tools on a new Ubuntu VM [1]. I'm working on an interactive playground you'll be able to SSH into to try it out yourself with…

At that point, why not use Home-Manager (nix pm) to configure your shell? Should be easier to manage

Re: App::Rak – 21st century grep / find / ack / ag / rg on steroids

#55
definitely not going to install cursed Raku for this single search lib. perhaps if they had a distributed binary in some byte-code format, but they don't. because forked-Perl-guys were busy figuring how to use all the Unicode and outpace APL in complexity, while others were figuring how to target reasonably large distribution medium (think wasm, .net, and jre if u want).

besides, ripgrep IS much more state of the art than anything else out there. very fast and can fallback to pcre2 for weird lookahead and utf8 (if i remember correctly, sorry). we have to admit that BurntSushi made incredibly good job at it.

ACTUALLY what I need most of the times is qgrep which can grep regexes in 100k files in less than second. is re2 + index essentially and none of its cousins can do similar searches reasonably fast. the only downside - it indexes per-line, so if you wanna grep some fancy multiline-SQL you have to do second pass over the files that match on more general basis

not sure why codeql could not get up to speed with SQL, but I've several times considered actually using multi-passes with tree-sitter in order to dig some SQL neatly hidden in multiline concatenated Java strings. why? well, the usual "order of things" in many large projects is after all nothing more than respectful mess of entangled enterprise-level orchestration (code) piled years after years. i guess this' why someone at google had to write qgrep to dig the monorepo.

Re: App::Rak – 21st century grep / find / ack / ag / rg on steroids

#56
post #50

Earlier quoted context omitted.

> §string > If the pattern starts with §, Is it April 1st already?!

Raku embraces Unicode in a big way, and probably influenced this decision. I wonder if keyboards in the future will settle on a way to provide access to more characters, than is currently common.

Fwiw, § is ASCII code 167, the "Section symbol". Long been used as a record separator and section marker.

I agree the keyboard thing is really annoying. Maybe the West should investigate the efforts China has put into different typing systems.

Re: App::Rak – 21st century grep / find / ack / ag / rg on steroids

#57
post #55

definitely not going to install cursed Raku for this single search lib. perhaps if they had a distributed binary in some byte-code format, but they don't. because forked-Perl-guys were busy figuring how to use all the Unicode and outpace APL in complexity, while others were figuring how to target reasonably large distribution medium (think wasm, .net, and jre if u want). besides, ripgrep IS much more state of the art…

I thought Raku can/could run on the JVM, but presumably the number of people actually doing so is very low so maybe it's fallen into disrepair.

Re: App::Rak – 21st century grep / find / ack / ag / rg on steroids

#58
post #50

Earlier quoted context omitted.

Raku embraces Unicode in a big way, and probably influenced this decision. I wonder if keyboards in the future will settle on a way to provide access to more characters, than is currently common.

Fwiw, § is ASCII code 167, the "Section symbol". Long been used as a record separator and section marker. I agree the keyboard thing is really annoying. Maybe the West should investigate the efforts China has put into different typing systems.

That's not correct. ASCII has only 128 codepoints and its maximum value is 127 or 0x7F. Code 167 is not part of ASCII. You're probably thinking of ISO 8859-1.

U+00A7 (codepoint 167) is also the Unicode codepoint for §. Its use on this very web page is via Unicode and the UTF-8 encoding as the bytes \xC2\xA7.

(This is meant as a narrow correction. It doesn't really change the broader point that § is not exactly easy to type on most keyboards. Whether its ASCII or not.)

Re: App::Rak – 21st century grep / find / ack / ag / rg on steroids

#59

Earlier quoted context omitted.

Fwiw, § is ASCII code 167, the "Section symbol". Long been used as a record separator and section marker. I agree the keyboard thing is really annoying. Maybe the West should investigate the efforts China has put into different typing systems.

That's not correct. ASCII has only 128 codepoints and its maximum value is 127 or 0x7F. Code 167 is not part of ASCII. You're probably thinking of ISO 8859-1. U+00A7 (codepoint 167) is also the Unicode codepoint for §. Its use on this very web page is via Unicode and the UTF-8 encoding as the bytes \xC2\xA7. (This is meant as a narrow correction. It doesn't really change the broader point that § is not exactly easy t…

Sorry, you're right. I guess I meant 8859-1 as opposed to Windows codepages or Unicode-exclusive. My Western bias is showing as I don't know if there are old locales that wouldn't have it that would affect any international users, but I assume not?

Re: App::Rak – 21st century grep / find / ack / ag / rg on steroids

#60
post #38
post #15

Earlier quoted context omitted.

> raku is perl 6 It used to be, but not anymore. It has grown to be its own thing with some happenstance parenthood through being born from an early attempt at Perl 6, and thus is now only being slightly more related to Perl than e.g Ruby is. Ok I'm pushing it but you get the idea: taking a biological analogy, it has mutated away far enough that it is now considered to be its own strain. And if that helps clear some…

It was Perl 6 from 2000 to 2019. It spent much more time as perl6 than it has as not-perl6.

No. Pug was the Perl 6 until rakudo took over. Raku was not until rakudo.
Post reply on HN