-- Leo's gemini proxy

-- Connecting to gemini.circumlunar.space:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini; charset=UTF-8; lang=en-US

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!

-- Response ended

-- Page fetched on Mon May 6 22:30:08 2024