ripgrep
Parallel
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ripgrep
-
Replacing Kubernetes with Systemd
> The maintainer also has been pretty rude to me about this on HN.
This is AFAIK the only other interaction we've had: https://news.ycombinator.com/item?id=41051587
> but it's still crazy to think people won't be caught off guard by this behavior
Straw-manning is also crazy. :-) People have and will absolutely be caught off guard by the behavior. On the flip side, as I said 9 months ago, ripgrep's default behavior is easily one of the most cited positive features of ripgrep aside from its performance.
The other crazy thing here is... you don't have to use ripgrep! It is very specifically intended as a departure from traditional grep behavior. Because if you want traditional grep behavior, then you can just use grep. Hence why ripgrep's binary name is not `grep`, unlike many other implementations of POSIX grep.
> Its name is literally indicating it's a grep replacement.
I also tried to correct this 9 months ago too. See also: https://github.com/BurntSushi/ripgrep/blob/master/FAQ.md#pos...
For anyone else following along at home, if you want ripgrep to search the same files that GNU grep searches, then do `rg -uuu`. Or, if you don't want ripgrep to respect your gitignores but ignore hidden and binary files, then do `rg -u`.
-
ripgrep: Not Just a Faster grep, but a Sharper One
When you think ripgrep (rg), you probably think "fast regex search tool."
-
fd: A simple, fast and user-friendly alternative to 'find'
I'm sure you can get creative. :-) You can set an environment variable to control the encoding, expose a flag or any one of a number of other things to control the encoding.
You've also continued to ignore my most substantive rebuttal: that a specific example where ripgrep is not compatible with grep or doesn't behave the same doesn't mean it can't be used in shell pipelines. Literally nothing you've said has invalidated anything I've said. All you're doing is finding things that some implementations of grep can do that ripgrep (intentionally) cannot do in exactly the same way. But that's fine, because ripgrep was never, isn't and will never be compatible with grep: https://github.com/BurntSushi/ripgrep/blob/master/FAQ.md#pos...
So if you need grep compatibility get a fucking clue and just use grep.
-
I stopped everything and started writing C again
> Rust applications are sometimes (often?) slower than comparable C applications
Could you cite some examples? There are plenty of counter-examples
- ripgrep is 5-10x faster than grep (https://github.com/BurntSushi/ripgrep/blob/962d47e6a1208cf21...)
- Memory-safe implementations of PNG (png, zune-png, wuffs) now dramatically outperform memory-unsafe ones (libpng, spng, stb_image) when decoding images. (https://www.reddit.com/r/rust/comments/1ha7uyi/memorysafe_pn...)
- I don't consider the benchmarks game a worthwhile comparison because they're only writing assembly, but Rust and C are comparable in speed (https://benchmarksgame-team.pages.debian.net/benchmarksgame/...)
- Advent of Code - I came across Rust codebases which solved all of AoC 2024 in under 1 millisecond (almost fully assembly), and also ordinary, idiomatic code in under 100 milliseconds. I don't recall anyone ever posting a C codebase with perf measurements, but I could have missed this.
I'm surprised by the "often", but I'd be interested in any cases where C outperforms Rust. Please share if you've found any.
- How to combine rg with less in terminal
-
17 Essential CLI Tools to Boost Developer Productivity
ripgrep
- Resolving a mysterious problem with find
-
fd - A simple, fast and user-friendly alternative to 'find'
The original comment said nothing about modifying servers or AWS engineers installing random shit. That was you. I responded to "moving binaries around," and you started yapping about change management. Two totally different things. Like obviously if you have a locked down environment, then only install what you need. But this is not what the original poster was referring to specifically.
ripgrep even specifically calls out this exact use case right in its README: https://github.com/BurntSushi/ripgrep/?tab=readme-ov-file#wh...
> You need a portable and ubiquitous tool. While ripgrep works on Windows, macOS and Linux, it is not ubiquitous and it does not conform to any standard such as POSIX. The best tool for this job is good old grep.
So, you presume too much friendo. Now, go away.
- Techniques I Use to Create a Great User Experience for Shell Scripts
-
The Modern CLI Renaissance
Yeah I love that ripgrep has a different opinion on UX than grep (your "Can ripgrep replace grep" FAQ is great [0]) if only because the thought you put into it makes me also start thinking about those issues, which is fun. Like, maybe at first you balk at ripgrep not honoring locales, but then I was like, "wait why would I ever, ever want that". This is the kind of, I don't know, joy? Epiphany? Expansion? ... that we get from people like you just building a thing you think is good.
[0]: https://github.com/BurntSushi/ripgrep/blob/master/FAQ.md#can...
Parallel
-
GNU Parallel – shell tool for executing jobs in parallel, one or more computers
> Anyway, those three are just off the top of my head, unfairness-wise. Last I looked at the source for GNU parallel it looked like mountains upon mountains of Perl I would rather not depend upon, personally, but to each his own.
Well, there was a Rust version with zero Perl, now unfortunately archived. It wasn't 100% on a par with the original and wasn't really finished. On the other hand, built easily for Windows and helped me on a few occasions.
https://github.com/mmstick/parallel
-
What is a FOSS which is needed but doesn't exist yet/needs contributers?
I would love a rust implemention of gnu parallel (with better license). There was https://github.com/mmstick/parallel , but the author stopped development.
What are some alternatives?
ugrep - 🔍 ugrep 7.4 file pattern searcher -- a more powerful, ultra fast, user-friendly, compatible grep replacement. Includes a TUI, Google-like Boolean search with AND/OR/NOT, fuzzy search, hexdumps, searches (nested) archives (zip, 7z, tar, pax, cpio), compressed files (gz, Z, bz2, lzma, xz, lz4, zstd, brotli), pdfs, docs, and more
trust-dns - A Rust based DNS client, server, and resolver [Moved to: https://github.com/hickory-dns/hickory-dns]
fd - A simple, fast and user-friendly alternative to 'find'
PumpkinDB - Immutable Ordered Key-Value Database Engine
xsv - A fast CSV command line toolkit written in Rust.
alacritty - A cross-platform, OpenGL terminal emulator.