šŸ’¾ Archived View for gemini.circumlunar.space ā€ŗ users ā€ŗ adiabatic ā€ŗ words ā€ŗ computing ā€ŗ programs captured on 2024-05-12 at 15:29:46. Gemini links have been rewritten to link to archived content

View Raw

More Information

ā¬…ļø Previous capture (2024-05-10)

āž”ļø Next capture (2024-08-31)

-=-=-=-=-=-=-

Programs

I use Homebrew to get a lot of random small programs that I otherwise never would have bothered to get. However, the output of `brew list | wc -l` is currently up to the mid-200s, and a lot of these are mere dependencies of things I actually care about.

This page, then, is a list of all the things I carry around with me and why.

amfora

TUI-based Gemini client, much like Lynx. If youā€™re reading this, you probably know what Gemini is already.

ansible

Sets up computers remotely.

ansible-lint

Checks ansible playbooks.

bat

Better cat(1) with syntax highlighting and other stuff. I disable line numbers by default, though.

bfs

like find(1), but breadth-first search, not depth-.

Havenā€™t used it yet.

black

Python autoformatter.

boxes

Puts ASCII-art boxes and similar (scrolls, etc.) around text.

caddy

Web server with built-in Letā€™s Encrypt support. I donā€™t use it much these days, though.

colordiff

I forget about this one. I probably should use it more.

cowsay

Prints ASCII art of cows saying things.

csvprintf

Turns CSV files into something you can run printf against to extract data.

csvq

SQL-like query language for CSV files.

dasel

Like jq(1) but faster and does more formats (JSON, YAML, TOML, XML, and CSV). Written

in Go.

Seems neat, but I can never remember it, so I just use jq(1) unless I want YAML, at which point Iā€™ll probably only remember yq(1).

ddh

Duplicate file finder, written in Rust.

deno

JavaScript/TypeScript runtime and compiler and formatter.

di

like df(1), but more advanced.

diceware

Generates secure passphrases.

diff-so-fancy

Makes much more readable/understandable diffs at the command line. Has instructions to add a `git dsf` alias into your Git setup.

diskus

Mega-fast parallelized `du -sh .` replacement that just prints out results like

24.70 MB (24,702,976 bytes)

and nothing else.

dust

du(1), but in Rust, and itā€™s fancier.

eslint

Nag you to make your JavaScript less bad. I use this for one-offs when Iā€™m too lazy/unmotivated to make a package.json or whatever to pin the ESLint version.

eza

Fancy ls(1) replacement. I alias `ls` to it on all my machines and nothingā€™s broken so far.

This is a fork of exa. exa stopped being maintained a while back (its lead developer isnā€™t responsive anymore).

fd

Like find(1), but streamlined.

fend

Arbitrary-precision unit-ware calculator, so it says. I keep forgetting to use this as my instinct/habit is to run to a Google search box when I want to do calculations like `12 megabytes/sec in kilobits/sec`.

fish

A better shell, IMNSHO, than bash or zsh.

If you tried it five or ten years ago, itā€™s a lot less gratuitously incompatible with your muscle- and cut-and-paste memory than it used to be.

flac

While this is a dependency to things like ffmpeg, I occasionally have cause to rip CDs to WAV files. flac(1) will then convert the WAV files into the Format of Now and Forever. While I mostly use ALAC because it works properly in the Apple ecosystem, I like having something lossless that works great with everything that isnā€™t Apple.

fortune

Prints out funny sayings. May be, on average, more funny or less funny these days, depending on the type of humor that you like.

fx

ā€œTerminal JSON viewerā€, it says. I think I mostly use jq(1) for this sort of thing, but with fx you can click on things to collapse or expand them.

fzf

Fuzzy finder. Handy in ways that are hard to describe, even if you do end up combining it with other programs to pick from long lists of things.

git-delta

A Git-focused diff tool. I donā€™t use it much because I tend to use Tower for these sorts of tasks, but itā€™d be handy if I used it more often.

git-machete

I donā€™t remember ever using this, but it seems handy.

git-tools

Random handy things.

glances

Itā€™s like top(1), but fancier.

gojq

A pure-Go implementation of jq(1). I keep forgetting I have it, and I just use jq(1) instead.

helix

A Kakoune-alike (like vim, but range-first instead of verb-first), but doesnā€™t depend on the Meta key to get basic things done. Iā€™m using it right now to write this.

hledger

Keep track of money. Itā€™s not so good for forecasting, though, and it doesnā€™t exactly do graphs natively. On the other hand, ā€œyour transactions in a text file that is in a Git repositoryā€ is exactly as powerful as it sounds, and Iā€™m not sure I could go back to any other style of money tracker after this.

htmlq

Extracts bits of HTML from entire pages of HTML, using CSS selectors.

This is one of those things that Iā€™ve never needed to use (so far), but I want to keep in my back pocket in case the need ever arises.

http-prompt

HTTPie, but with autocomplete.

I donā€™t think Iā€™ve ever used this, but it looks neat. Usually Iā€™m using RapidAPI (formerly Paw) when most people use Postman.

httpie

Basically cURL. Itā€™s my go-to ā€œGET a page, check its headersā€ tool.

hugo

My go-to static site generator, although Iā€™m starting to prefer Astro these days.

hurl

Some kind of command-line API verification tool. Seems neat, but never had a need to use it yet.

hy

A Lisp for/in Python. I never really got into it because trying to write Lisp without Emacs handling your parentheses is an exercise in needless pain, and Iā€™m not an Emacs guy.

imgdiff

Diffs images.

jc

Turns normal programsā€™ output into JSON. Seems cool, but I havenā€™t needed this for anything yet.

jd

Diffs and patches JSON and YAML. I havenā€™t had a chance to use this yet.

jdupes

Duplicate file finder. Yes, another one.

jhead

Gets EXIF info from photos.

jo

Generates JSON at the command line. I donā€™t think Iā€™ve used this for anything yet.

jq

The JSON transmogrifier that everyone seems to reach for yet nobody can remember the syntax to actually extract anything with it.

I still use it for pretty-printing, though, so thereā€™s that.

jql

Another JSON query thing, similar to jq(1). The query language is different, possibly easier, probably not as powerful.

just

I use this as make(1) on my Windows machines. Otherwise, I just use make(1).

kalker

ā€œFull-featured calculator with math syntaxā€.

Seems neat, but I donā€™t think Iā€™ve ever used it. Normally, I reach for Soulver or PCalc if I need to do math.

ā€¦you may notice, as I did just now, that this is not the only math doer in this list.

Kalker, however, seems to really lean into UnicodeMath, of sorts. It lets you type in things like

>> āˆ«(0, Ļ€, sin2ix, dx) + e^(Ļ€i) Ć· 3

and so on.

killport

Kills processes that are listening on a specific port.

Looks handy but I havenā€™t used it yet.

librsvg

Contains rsvg-convert ((1), if it had a manpage). I use this to turn SVG files into PNGs. ImageMagick uses this (as a library) to do its thing anyway, so I figure I might as well cut out the middleman and get access to all the native knobs.

ls-lint

Seems neat. I might be able to use this for normal files.

mailcatcher

Point your in-development web app at this instead of SendGrid or whatever and youā€™ll be able to see all the mails your app sends out.

micro

A text editor written in Go. Itā€™s not modal like vi(m)/kakoune/helix, and itā€™s not written in a programmable programming language like Emacs, so it kind of smells like GNU Nano. To describe it as ā€œa better Nanoā€, though, would probably do it a grave disservice unless Nano got _way_ better when I wasnā€™t paying attention.

It kind of depends on the Meta key for semi-basic keyboard shortcuts, though, so itā€™s not really my cup of tea. I wouldnā€™t hesitate to recommend it ā€” strongly ā€” to anyone who isnā€™t a metalet like I am. If I needed to do some serious editing on a random Linux box and for some reason vim wasnā€™t a good option (donā€™t have my .vimrc and .gvimrc with me), Iā€™d probably just download Micro, make it user-executable, and then go to town.

monolith

Makes single-file archives of web pages.

mtr

Originally ā€œMattā€™s Tracerouteā€, but the original guy handed off maintenance to someone else.

If youā€™ve ever used pathping on Windows, you know how much better it is than either ping(8) or traceroute(8). Well, mtr(8) is even better than pathping. A useful tool and great blinkenlights on top of that.

neofetch

Get a colorful screenful of what your computer is like. Show your system stats off to impress your friends and terrify your enemies.

no-more-secrets

Screensaverish thing. Sort of. Never used it.

node

Oddly enough, I donā€™t care enough about Node stability to install the thing from nodejs.org. I just get updated whenever Homebrew gets around to updating it.

Itā€™s also nice to have a JavaScript REPL, but I usually reach for deno(1) first, even though node(1) will preview the results of expressions.

numbat

Calculator programming language with units as types. Iā€™ll probably use this if I need to do unit math and donā€™t want to ask Google.

onefetch

neofetch(1) tells you about your computer. onefetch(1) tells you about the source code in the current directory.

osx-cpu-temp

Gives you your CPU temperature or counts the number of your fans, at least on my machines.

oxipng

Compresses PNGs and uses lots of cores if at all possible. libdeflate will give you the best compression in seconds, whereas Zopfli compression will eke out a few more percent savings, but compressing with Zopfli will take you minutes or hours to compress a PNG file, and thatā€™s if youā€™re letting it have all six cores that it asks for in Zopfli mode.

Pro tip: As of this writing (2023-04-07), if you run this in a Shortcut on a Mac that has both fast and slow (ahem, performance and efficiency) cores like the M-series Apple Silicon chips, only slow (efficiency) cores will be devoted to the task, and it will take WAY longer for even a mere libdeflate compression. Your lap wonā€™t heat up, though.

pastel

Generates colors and lets you play around with them. You will very much want a terminal that handles 24-bit color for this (so, not Terminal.app as of macOS 13 Ventura).

prettier

Sometimes itā€™s just not worth it to add a node_modules.json file just so you can pin a version of Prettier to your project.

pup

ā€œParse HTML at the command lineā€, it says.

Another one in the ā€œlooks handy and cool, never usedā€ pile.

rbenv

ā€¦wait, I had this already? Whyā€™d I bother installing rvm(1), then?

rename

Seems crazy useful. Never used it.

resvg

Nice to see that thereā€™s more than one SVGā†’PNG converter out there. Never used it.

rslint

Written in Rust. Lints JavaScript and TypeScript.

I think I mostly get by with deno lint, but this is the kind of thing I like having around. I donā€™t think Iā€™ve started using it in any sort of CI or on-commit hook or anything, though.

rsync

The version that ships with macOS is ancient by now because Apple is allergic to the GPLv3.

If you asked me what newer versions do that older versions donā€™t, though, I wouldnā€™t be able to tell you.

ruff

Lints Python. Written in Rust.

I might have used this once or twice, but I donā€™t write Python regularly to really get a good feel for it or to give it a thumbs-up or thumbs-down. It gets frequent updates, though, at least as Iā€™m writing this, so I probably wonā€™t totally forget about it the next time Iā€™m writing Python.

sd

Kind of like sed(1). I donā€™t think Iā€™ve ever used it, though.

sk

fzf(1) clone in Rust (fzf is written in Go). Consider dropping down to #differences-to-fzf to see what the differences are.

I donā€™t think of this very often. I use fzf occasionally, but this? Havenā€™t needed it yet.

src

Primitive source control with modern porcelain.

While you might ask ā€œwhy not just use Git?ā€, you canā€™t safely use Git in a Dropbox- or SyncThing-synced folder because any sort of file conflict will generate copies with ā€œ(computernameā€™s conflicted copy)ā€ appended to them, and that will basically wreck your .git directory.

src wonā€™t do that. Itā€™s too primitive and single-player and single-file to get wrecked by shenanigans like this.

tart

Lets you spin up VMs on Apple Silicon machines. Most of the work is done by Apple.

I think I played around with it for a bit but I donā€™t think I got Debian running to my satisfaction.

the_silver_searcher

grep is nice, ack is better, ag is also better.

It feels weird to use this when Visual Studio Code has search built right into it, but sometimes Iā€™ll use it in VS Codeā€™s own terminal window even though ā‡§āŒ˜E is right there for me if I want it.

tidy-html5

This oneā€™s weird, honestly. Itā€™s like HTML-only Prettier from a time before when people routinely said ā€œscrew it, have the computer format the thing for me/all of usā€.

I remember needing it for something because Prettier (my go-to) couldnā€™t handle it, but I canā€™t remember what I needed it for.

tmux

I rarely need to split up a terminal a bunch of different ways or run a terminal remotely AND locally at the same time, but when I do, I use tmux.

ttyd

Iā€™ve never used this, but it seems damn cool.

typst

Kind of like TeX, which I never got into. I think it blows SILE out of the water, though, at least in my early poking around.

vhs

Records scripted keypresses to demonstrate CLI things.

Seems neat, but I havenā€™t needed to use it yet.

vivid

Generates LS_COLORS for you (or EXA_COLORS) so your colors all match a theme.

webp

Ever wanted to compress images to WebP? This is the reference encoder, and it has lots of great knobs that you should probably familiarize yourself with. Lossless WebP is great if you donā€™t care about wide color. Lossy? Ehā€¦

woff2

Use this to turn .ttf and similar files into woff2 files.

xh

Kind of like HTTPie (mentioned above), but the README says it focuses on improved performance.

I never thought that HTTPie was slow, but hey, everyoneā€™s gotta have a hobby, right?

See #how-xh-compares-to-httpie on the README for a list of differences.

I think I only use both because I can only remember one or the other when I need something like this.

xq

Another beautifier/extractor, but for XML and HTML.

ā€¦I donā€™t think Iā€™ve ever used this, but it is my cup of tea.

xz

Squish files tiny. Kind of like gzip on steroids.

yamllint

Lints YAML. Iā€™ve used this a couple times.

yj

Converts between YAML, JSON, TOML, and something called HCL.

If youā€™d rather write YAML (comments, etc.) but feed JSON into a computer, youā€™ll get some use out of this.

youplot

Draws plots in a terminal. Looks cool, never used.

yq

Like jq(1), but for YAML, JSON, XML, CSV, and something called ā€œproperties documentsā€.

yt-dlp

Tag-teams with youtube-dl to download videos off of YouTube, Twitter, and similar.

zzz

Puts your Mac to sleep.

I donā€™t think Iā€™ve ever used this. Iā€™m pretty sure I just use Alfred for this. Maybe itā€™d be useful if Iā€™m SSHed in and want to put the Mac to sleep from the comfy chair down the hallway.

ā‚

If you want a program to check this page on your behalf, have a look at the feeds on the site colophon:

Colophon

āš

Home

Hi! Iā€™m a one-pixel invisible tracking image! View me to let my webmaster know youā€™ve scrolled through the entire page!