Open source developers are often the unsung heroes of the technology world, creating & maintaining the software that powers our digital lives. Sadly, their contributions often go unnoticed, but without their dedication and expertise, much of the software & digital infrastructure what we take for granted today wouldn’t exist.
I want to recognize the awesome work of one developer and express my gratitude to them for making the world a better place through open source.
Andrew Gallant / burntsushi
I love to code.
These are the projects of theirs that I love & use the most:
ripgrep recursively searches directories for a regex pattern while respecting your gitignore
Ripgrep is a superfast replacement for grep, ag, ack etc… It’s not just way faster than all of them, it also has full Unicode support and better defaults: recursive, and ignores files in any .gitignore files that it comes across. These are usually what I want, so no aliases, less typing and faster results. It’s written in Rust, so just download the single static binary and run it - and, if for some reason you’re forced to use it, Ripgrep also works on Windows.
A fast CSV command line toolkit written in Rust.
XSV is a very fast command line utility for indexing, slicing, analyzing, splitting and joining CSV files. If you’re going to be importing the CSV into a DB, it’s very useful for figuring out the shape of the data contained in the file, as well as any problems. If you’re not, you can use it to do all that - as well a querying the data on the command line with simple SQL and JOIN support.
XSV’s written in Rust, so just download the single static binary and run it - and, works on Linux, MacOS & Windows.
The README is great and full of examples, but here’s a taster, showing the super useful
# Show the headers of a file: $ xsv headers file.csv # Count the number of entries: $ xsv count file.csv # Get an overview of the shape of entries: $ xsv stats file.csv | xsv table # Select a few columns: $ xsv select column_a,column_b file.csv # Show 10 random entries $ xsv sample 10 file.csv # Join a column from one file to another: $ xsv join --no-case column_a file_a.csv column_b file_b.csv | xsv table