duncan­lock­.net

Thanks, Andrew Gallant (burntsushi)!

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

GitHub Profile

I love to code.

Avatar
GitHub Profile

These are the projects of theirs that I love & use the most:

ripgrep

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.

xsv

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 headers, count, stats, select, sample, join & table commands:

# 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

Related Posts