I recently completed a #100binaries series on Twitter wherein I shared one open-source Rust tool or application each day, for one hundred days (Jul—Nov 2020). This post lists binaries 1–50. See page 2 for binaries 51–100.
All images and videos without an explicit source were created by me for the series. Most picture the Alacritty terminal emulator running on Linux. I use the PragmataPro font and my prompt is generated by vim-promptline. The colour scheme is Base16 Default Dark.
I also wrote a follow-up post about how this page was built and the considerations that went into making it as lightweight as possible: Turning One Hundred Tweets Into a Blog Post.
-
Kicking off a little series today: #100binaries! I'm going to share one open source @rustlang tool or application a day, for the next 100 days!
— Wesley Moore (@wezm) July 25, 2020
Starting off with hexyl by @sharkdp86: a hex dump tool that uses colour to distinguish categories of bytes. https://github.com/sharkdp/hexyl -
Day 2 of #100binaries
— Wesley Moore (@wezm) July 25, 2020
exa by @cairnrefinery: an improved file lister (like ls) with more features and better defaults. It uses colours to distinguish file types and metadata. It knows about symlinks, extended attributes, and git. https://the.exa.website/ -
Day 3 of #100binaries
— Wesley Moore (@wezm) July 26, 2020
This one has actually been pictured in the previous two posts: Alacritty by @i_am_jwilm. Alacritty is a fast GPU accelerated terminal emulator that supports BSD, Linux, macOS, and Windows. https://github.com/alacritty/alacritty -
Day 4 of #100binaries
— Wesley Moore (@wezm) July 27, 2020
Amp by @wastedintel is a modal text editor inspired by vi/vim. It comes with usable defaults and includes syntax highlighting, a fuzzy file finder, local symbol jump, and basic git integration out of the box. https://amp.rs/ -
Day 5 of #100binaries
— Wesley Moore (@wezm) July 28, 2020
Tokei by @XamppRocky quickly calculates and presents statistics about source code such as line and comment count, grouped by language. It also handles files containing multiple languages such as Markdown containing code snippets. https://github.com/XAMPPRocky/tokei -
Day 6 of #100binaries
— Wesley Moore (@wezm) July 29, 2020
Silicon by Aloxaf: Create a beautiful image of your source code. Handy for sharing code on Twitter! https://github.com/Aloxaf/silicon -
Day 7 of #100binaries
— Wesley Moore (@wezm) July 30, 2020
wool by grapegrip: Live preview Markdown documents as you edit, using GitHub styling. Great for checking READMEs and similar files before pushing to GitHub. https://github.com/grapegrip/wool -
Day 8 of #100binaries
— Wesley Moore (@wezm) July 31, 2020
broot by @DenysSeguret is a swiss army knife of file hierarchies — even huge ones! Interactively navigate, search, sort, and preview file trees with ease to find just the right file or directory. Then open or cd into it. https://dystroy.org/broot/ -
Day 9 of #100binaries
— Wesley Moore (@wezm) August 1, 2020
skim by @jinzhouz is a fast and versatile fuzzy finder. It can be plugged into your shell and vim, as well as used in shell pipelines. It can also invoke commands dynamically based on the selection, and show file previews. https://github.com/lotabout/skim -
Day 10 of #100binaries
— Wesley Moore (@wezm) August 2, 2020
Nu (@nu_shell) is a command line shell for Linux, macOS, and Windows that operates on structured data in the form of tables instead of unstructured text streams. https://www.nushell.sh/ -
Day 11 of #100binaries
— Wesley Moore (@wezm) August 3, 2020
viu by Atanas Yankov is a tool for viewing bitmap images in the terminal. Handy for quickly checking the contents of an image file or picking the perfect meme. It even supports animated GIFs. https://github.com/atanunq/viu -
Day 12 of #100binaries
— Wesley Moore (@wezm) August 4, 2020
gitui by @Extrawurst is a blazing fast terminal UI for git. Inspect, stage, unstage, and commit changes. Save, apply, drop, and inspect stashes. Browse the commit log, diff committed changes, and more. https://github.com/extrawurst/gitui -
Day 13 of #100binaries
— Wesley Moore (@wezm) August 5, 2020
fd by @sharkdp86 is an alternative to `find` with sensible defaults. It rapidly lists files and directories with names matching a regex, whilst respecting .gitignore files. https://github.com/sharkdp/fd -
Day 14 of #100binaries
— Wesley Moore (@wezm) August 6, 2020
Emulsion by Artúr Kovács is a fast and minimal image viewer for Linux, macOS, and Windows. https://arturkovacs.github.io/emulsion-website/ -
Day 15 of #100binaries
— Wesley Moore (@wezm) August 7, 2020
rusty-man by Robin Krahl is a command-line viewer for rustdoc documentation that presents the content in a style akin to man pages. https://git.sr.ht/~ireas/rusty-man -
Source: https://github.com/imsnif/diskonaut/blob/2cf5c7bd061f42443288e538ae75fedf7a846d76/demo.gifDay 16 of #100binaries
— Wesley Moore (@wezm) August 8, 2020
diskonaut by @im_snif is a tool for visualising disk space usage. You can navigate the tree and choose what to delete. https://github.com/imsnif/diskonaut -
Source: https://user-images.githubusercontent.com/12150276/75177190-91d4ab00-572d-11ea-80bd-c5e28c7b17ad.gifDay 17 of #100binaries
— Wesley Moore (@wezm) August 9, 2020
Spotify TUI by @AlexKeliris is a terminal user interface for Spotify. Play music and podcasts from your library and playlists, and visualise them with the built in spectrum analyser. https://github.com/Rigellute/spotify-tui -
Day 18 of #100binaries
— Wesley Moore (@wezm) August 10, 2020
dijo by Akshay is a scriptable, curses-based, digital habit tracker. Use it to track activities you want to do each day, or a specific number of times each day. View an overview of your progress by week or month. https://github.com/NerdyPepper/dijo -
Day 19 of #100binaries
— Wesley Moore (@wezm) August 11, 2020
pastel by @sharkdp86 is a command-line tool to generate, analyse, convert and manipulate colours. It has a selection of 22 sub-commands for all manner of colour operations. https://github.com/sharkdp/pastel -
Day 20 of #100binaries
— Wesley Moore (@wezm) August 12, 2020
DWFV by @Ptishell is a command line digital waveform viewer for standard Value Change Dump (VCD) files, with vi-like key bindings. https://github.com/psurply/dwfv -
Day 21 of #100binaries
— Wesley Moore (@wezm) August 13, 2020
Zenith by Benjamin Vaisvil is a system monitoring tool like top. It monitors CPU, memory, disk, and network activity and has a process list for viewing and manipulating processes. You can also navigate back through old data. https://github.com/bvaisvil/zenith -
Day 22 of #100binaries
— Wesley Moore (@wezm) August 14, 2020
dtool by guoxbin is a collection of mini-tools to assist developers. They including number encoding, string and URL encoding/decoding, hashing, encryption/decryption, and more. https://github.com/guoxbin/dtool -
Day 23 of #100binaries
— Wesley Moore (@wezm) August 15, 2020
Castor by Julien Blanchard is, "a browser for the small internet". It's is a GUI application implemented with GTK for browsing Gemini, Gopher, and Finger pages. https://git.sr.ht/~julienxx/castor -
Day 24 of #100binaries
— Wesley Moore (@wezm) August 16, 2020
watchexec is a language agnostic, full-featured tool for running a command in response to file-system changes. It's great for automatically recompiling Rust projects in response to changes. https://github.com/watchexec/watchexec -
Source: https://meli.delivery/images/screenshots/threads.webpDay 25 of #100binaries
— Wesley Moore (@wezm) August 17, 2020
meli by epilys is a mail client for the terminal. It aims for configurability and extensibility with sane defaults, whilst being suitable for both new and power users. https://meli.delivery/ -
Day 26 of #100binaries
— Wesley Moore (@wezm) August 18, 2020
delta by @dandavison7 is viewer for git and diff output that presents diffs with rich styling. It allows extensive configuration to the layout and appearnce of the output and integrates with git. https://github.com/dandavison/delta -
Day 27 of #100binaries
— Wesley Moore (@wezm) August 19, 2020
sharewifi by @bradyj is tool for macOS that lets you quickly share Wi-Fi connection details. It uses the Keychain and can display a QR code that iOS and Android devices can scan to connect to the network. https://github.com/bradyjoslin/sharewifi -
Day 28 of #100binaries
— Wesley Moore (@wezm) August 20, 2020
eva by @N3rdyP3pp3r is a command line calculator. It has an interactive mode with syntax highlighting and persistent history but can also be used non-interactively. https://github.com/NerdyPepper/eva -
Day 29 of #100binaries
— Wesley Moore (@wezm) August 21, 2020
bat by @sharkdp86 is an alternative to cat with beautiful syntax highlighting for a large number of languages, git integration, automatic paging, and yes, it can concatenate files too. https://github.com/sharkdp/bat -
Day 30 of #100binaries
— Wesley Moore (@wezm) August 22, 2020
git-absorb by Stephen Jung automates the `git commit --fixup` workflow. When you have changes you want to meld into previous commits git-absorb will automatically find the right commits and make the fixup commits. https://github.com/tummychow/git-absorb -
Day 31 of #100binaries
— Wesley Moore (@wezm) August 23, 2020
dust by Andy Boot aims to be more intuitive alternative to `du -sh`. It provides a summary of the top consumers of disk space in a file tree. A visualisation accompanies the results to show how they contribute overall. https://github.com/bootandy/dust -
Day 32 of #100binaries
— Wesley Moore (@wezm) August 24, 2020
shotgun by the neXromancers is a tool for taking screenshots on X11 based desktops. It was used to take most of the screenshots shared in this series so far. https://github.com/neXromancers/shotgun -
Day 33 of #100binaries
— Wesley Moore (@wezm) August 25, 2020
ripgrep by @burntsushi5 is a very fast recursive search tool (like `grep -r`, `ack`, and `ag`) that honours ignore files, and skips binary files by default. https://github.com/BurntSushi/ripgrep -
Day 34 of #100binaries
— Wesley Moore (@wezm) August 26, 2020
ion by @redox_os is a high performance shell. It's usable as an interactive shell or for writing scripts using its powerful, user friendly scripting syntax. https://doc.redox-os.org/ion-manual/html/ -
Day 35 of #100binaries
— Wesley Moore (@wezm) August 27, 2020
mdcat by Sebastian Wiesner is a Markdown renderer for the terminal. It renders headings, styled text, quotes, lists, and code blocks. With appropriate terminal support it can also render clickable links, and images. https://github.com/lunaryorn/mdcat -
Day 36 of #100binaries
— Wesley Moore (@wezm) August 28, 2020
sd by Gregory is an alternative to sed for common search and replace tasks. It supports regex search and replace, as well as literal matching. Also, changes are made in-place when a file path is specified — no more fighting with GNU vs. BSD sed `-i`! -
Day 37 of #100binaries
— Wesley Moore (@wezm) August 29, 2020
swc is a JavaScript and TypeScript compiler that aims to be a fast alternative to Babel for compiling modern JavaScript into more broadly compatible JavaScript. It also provides bundling and tree shaking for dead code elimination. https://swc-project.github.io/ -
Day 38 of #100binaries
— Wesley Moore (@wezm) August 30, 2020
espanso by @terzi_federico is a cross-platform text expansion tool. Define trigger keywords and when you type them espanso will replace them with what you choose. Replacements can be text, dates, the output of scripts, and more. https://espanso.org/ -
Day 39 of #100binaries
— Wesley Moore (@wezm) August 31, 2020
Hyperfine by @sharkdp86 is a benchmarking tool. It compares commands and provides statistical analysis. It can do warm-up runs and run cache clearing commands before running the tests. Progress is reported while the test runs. https://github.com/sharkdp/hyperfine -
Day 40 of #100binaries
— Wesley Moore (@wezm) September 1, 2020
verco by @ahvamolessa is git TUI for *BSD, Linux, macOS, and Windows. I features a keyboard centric UI that can be used to perform many common git tasks. https://github.com/matheuslessarodrigues/verco -
Source: https://github.com/hatoo/oha/blob/10b1dc0103c11e8144f3a61cbb481092d24a2062/demo.gifDay 41 of #100binaries
— Wesley Moore (@wezm) September 2, 2020
oha (おはよう) by @hatookov is a load testing tool for web applications. It generates load and shows a live dashboard while the test runs, then prints a summary at the end. https://github.com/hatoo/oha -
Source: https://starship.rs/demo.webmDay 42 of #100binaries
— Wesley Moore (@wezm) September 3, 2020
Starship is a fast, customisable shell prompt generator compatible with bash, fish, ion, PowerShell, and zsh. It can surface status information from a vast selection of modules, which you arrange however you want. https://starship.rs/ -
Source: https://raw.githubusercontent.com/foriequal0/git-trim/master/screencast.pngDay 43 of #100binaries
— Wesley Moore (@wezm) September 4, 2020
git-trim by @lee_seongchan automates cleaning up git branches whose tracking remote refs are merged or stray. https://github.com/foriequal0/git-trim -
Source: https://github.com/imsnif/bandwhich/blob/fde53ddb3bcb769bc3474ba3d739d268619bf138/demo.gifDay 44 of #100binaries
— Wesley Moore (@wezm) September 5, 2020
bandwhich by @im_snif helps you answer the question: what's using all my bandwidth!!? bandwhich provides a live view of processes and their network utilisation, as well as utilisation by destination address. https://github.com/imsnif/bandwhich -
Day 45 of #100binaries
— Wesley Moore (@wezm) September 6, 2020
xsv by @burntsushi5 is the Swiss Army knife of CSV! Slice, select, search, join, analyse, and more with its large selection of composable sub-commands. https://github.com/BurntSushi/xsv -
Source: https://github.com/jeff-hughes/shellcaster/blob/f6cb4c55c4a6765483d7810a2b6d08a928e799e1/img/screenshot.pngDay 46 of #100binaries
— Wesley Moore (@wezm) September 7, 2020
Shellcaster by Jeff Hughes is a terminal based podcast manager. Subscribe, sync, and download episodes for local playback. https://github.com/jeff-hughes/shellcaster -
Day 47 of #100binaries
— Wesley Moore (@wezm) September 8, 2020
cargo-edit by @killercup adds three handy cargo sub-commands for editing the Cargo.toml in Rust projects:
• add — Add new dependencies
• remove — Remove dependencies
• upgrade — Upgrade dependencieshttps://github.com/killercup/cargo-edit -
Day 48 of #100binaries
— Wesley Moore (@wezm) September 9, 2020
yj by Bruce Adams converts YAML to JSON. It works well paired with jq for querying, or any other tool expecting JSON.https://github.com/bruceadams/yj -
Day 49 of #100binaries
— Wesley Moore (@wezm) September 10, 2020
websocat by Vitaly Shukela is netcat, curl and socat for WebSockets. websocat can act as client, server, or both (proxy). It can even proxy TCP connections over a web socket connection. It supports BSD, Linux, macOS, and Windows. https://github.com/vi/websocat -
Day 50 of #100binaries
— Wesley Moore (@wezm) September 11, 2020
tealdeer by @dbrgn is a tldr pages client. tldr pages are community maintained, concise, example-driven alternatives to man pages for command line tools. https://github.com/dbrgn/tealdeer