Thanks, David Peter (sharkdp)!

It’s too easy to overlook the countless hours of dedication poured into the open source software that powers our digital lives. I want to take a moment to express my appreciation and admiration for one of the many unsung heroes of my digital world, who’s software I use all the time.

David Peter / sharkdp

GitHub Profile

GitHub Profile

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


A cat(1) clone with wings.

Bat is a cat clone with syntax highlighting for loads of languages, Git integration - and it’s written in Rust, so it works on Linux/Windows/MacOS. It’s completely replaced cat for me:

alias cat="bat"


A simple, fast and user-friendly alternative to ‘find’

fd is very fast (parallelized directory traversal), flexible, and intuitive (fd PATTERN instead of find -iname 'PATTERN') utility for searching files and folders. It supports regular expressions or glob-based patterns, color-coded file type highlighting, and smart case-insensitivity. It ignores hidden files and directories and patterns from .gitignore by default - and also supports parallel command execution.

This is what tldr fd says:

Recursively find files matching a specific pattern in the current directory
fd "string|regex"
Find files that begin with foo
fd "^foo"
Find files with a specific extension
fd --extension txt
Find files in a specific directory
fd "string|regex" path/to/directory
Include ignored and hidden files in the search
fd --hidden --no-ignore "string|regex"
Run a command on each search result returned
fd "string|regex" --exec command`


A command-line benchmarking tool

I don’t always run benchmarks, but when I do I use Hyperfine! This is much better than running the traditional time <cmd>:

Short video of Hyperfine working in the console.

This is what tldr fd says:

Run a basic benchmark, performing at least 10 runs
hyperfine 'make'
Run a comparative benchmark
hyperfine 'make target1' 'make target2'
Change minimum number of benchmarking runs
hyperfine --min-runs 7 'make'
Perform benchmark with warmup
hyperfine --warmup 5 'make'
Run a command before each benchmark run (to clear caches, etc.)
hyperfine --prepare 'make clean' 'make'
Run a benchmark where a single parameter changes for each run
hyperfine --prepare 'make clean' --parameter-scan num_threads 1 10 'make -j {num_threads}'

Sponsor David Peter (sharkdp)


If you use any of their software, or just want to support the magnificent work of David Peter (sharkdp) – you should sponsor them on GitHub.

Related Posts