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.
- Location: Marlborough, MA
- Followers: 7905
- Public Repositories: 156
- @salesforce
- https://burntsushi.net
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