Things I use: Software

The software I use regularly, or prefer.

Mostly I use prior-generation operating systems. That is, 1-2 generations behind latest. Typically, this is due to the fact that I prefer to repurpose legacy hardware (because waste is bad), I am lazy/typically time poor, and that I tend to be able to do a bunch of work on those machines and then let them do their thing rather than sweat upgrades.

Consistently used applications

Across the various operating systems / worlds that I interact with, I tend to stick to a few tools. Some because they are genuinely better than the competition, some because I bought a lifetime license, some because of shortcut familiarity. Anyway, I tend to use these things no matter what OS or platform I'm on, so they'll commonly get installed via shell script or manual typing.

  • Firefox, typically the ESR versions, along with a whole whack of addons
    • I pretty heavily customise the Firefox Flags (about:config) to streamline the install. I probably should just use arkenfox's user.js instead.
    • Must-have addons are:
      • uBlock Origin - it works the best on Firefox after all!
      • Bypass Paywalls Clean to get around paywalls and other annoyances
      • Copy as Markdown or Obsidian Web Clipper
        • In the world before Obsidian (and kepano writing the Web Clipper), Copy as Markdown was good-enough for getting Markdown versions of text. But if you use Obsidian, you should probably use the Web Clipper now!

          Also, how dope is it that the CEO ships a lot of code, and basically wrote a whole bunch of plugins/themes before he was hired, just because he liked using the tool?!

  • Dropbox for syncing files across machines.
    • I am slowly moving away from Dropbox after seeing the client app take increasingly large amounts of system resources to do what is essentially watching a directory and rsync-ing changes somewhere else. There are many other reasons, but chief among them is that file sharing does not seem to be their key value proposition any longer.
    • I do use Syncthing for some things, typically when I need to orchestrate syncing files that mainly live in Dropbox, but running the Dropbox client would strangle the host system.
  • Sublime Text 3 for simple code editing, or for editing very large memory files.
    • Sadly, it seems that Package Control, the somewhat essential package manager for Sublime Text, has been abandoned leading to weirdness with OpenSSL versions and the version that is shipped inside ST3 being broken. Consequently, a lot of packages are stale or unmaintained, and everything kind of seems ... janky. But! ST3 is still great on its own. It's just not really able to add syntax highlighting for the very latest programming language that hits Hacker News' front page.
  • VSCodium, the non-intrusive version of VS Code.
    • Whilst it is a lot more resource hungry than ST3, packages are updated frequently, and worst case everything is just TypeScript under the hood.
  • Docker (in some form), either via Docker Desktop or Podman
  • Obsidian because I write everything (including this post) in Markdown.
    • I've written a lot of custom templates in Templater, quite a few of which rely on Dataview and DataviewJS. Depending on the complexity of the query, they are either SQL-like or Typescript queries.
    • I'm slowly consolidating every note I've written or clipped from the web to Obsidian, away from Notion and Evernote. I was severly burnt by the great Evernote enshittification, and Notion's jamming of an unwanted chatbot into every single interface and modal (to the point that their Electron app slowed to a crawl on most of my old machines), that I wanted to get back to plain old Markdown text.
      • I'm mostly relying on the default Obsidian importer, which is actually really good (yes, I know it's unusual that the default is good), but I do have a few custom scripts that I run after imports to clean up certain things and pre-sort them into the correct folders.
  • Tailscale (and Wireguard more generally) for simple, fast, and secure machine access.
  • Signal for talking to people.
  • 1Password from the pre-cloud sharing era.
    • Their cloud approach feels very much like enshittification again, but I've yet to find a good-enough replacement for all of the 1Password features. KeePass ain't quite there just yet, but it's close.
  • mpv for watching things.
  • FFmpeg for converting video and audio.
  • ImageMagick for converting images.
  • Pandoc for every other document format.

I tend to rely on package managers to install everything I need:

  • macOS: Homebrew, and heavily utilise Bundler to install almost every app via a Brewfile, as well as maintaing a personal tap for packages that I need that are no longer available in the upstream Core or Cask taps.
  • Windows: Chocolatey primarily.
    • I have tried scoop a few times but ran into horrible issues with the installer clobbering file permissions in various places that I decided against it. I might try it again in the future if I'm forced to migrate to Windows 11. But honestly, Chocolatey is pretty good. Yes, installs aren't sandboxed, but I don't care enough to blow away an entire working machine for it and re-write all my automation scripts (again).
  • Linux (Debian): apt and Flatpak.
    • I have also had a pretty nice experience running apps via Distrobox, which essentially allows you to run any app from any distribution you can run in a container, on your desktop. This idea really only works in Linux-based OS' because if everything is a file, then calling into a container to retrieve an app running inside it, is just a matter of linking files. It's super neat, and I plan to integrate it more into future distro installations.

Linux

I am most familiar with Debian, so most of my personal hosts run that. Accordingly, they are mostly on Debian 10 (buster) or 11 (bullseye). I do have an iMac running "stable" aka Debian 12 (bookworm), because strangely enough even though I have historically found better compatibility between old hardware and old(er) OS', bookworm was much easier to update and match to the iMac's hardware (barring some typical ACPI shenanigans).

I have had good success pairing Debian's existing security release flow for those LTS OS' alongside creating apt policies for testing and unstable for those packages that I want. It does lead to a little bit of number jiggery-pokery in the policy prioritisation, but once set up, it does allow the flexibility of pulling a more recent package from testing along with dependencies.

I do have a few Debian 8 (jessie) and 9 (stretch) boxes kicking around. The jessie release is the last supported release for PowerPC meaning some of the PowerPC Macs I have cannot be upgraded past that.

Container / VM orchestration

macOS

macOS Monterey

I run Monterey on my 2012 MacBook Pro. It seems ... okay?

I would have liked to have stayed in the HFS+ / pre APFS world, but the march of time has meant that a lot of the native apps I use are no longer supported in High Sierra. Particuarly of note was that a whole lotta apps are actually Electron apps under the hood, and if upstream Electron decides to deprecate support for your OS, whelp you are outa luck.

The biggest annoyance in Monterey so far was that Apple changed the default shell from bash to zsh. Whilst I have run zsh previously, so much of my shell configuration is historically tied up in bash that it was just easier to change the default shell back to bash and stop trying to work out which scripts and aliases worked and which didn't. If you are looking for a guide to migrating from bash to zsh, I can recommend Armin Briegel's guide and book.

macOS Monterey Applications

Application wise, I use:

  • Stats to display system metrics in the menubar
    • Stats replaced iStat Menus, which is a fantastic app by some local Aussie developers. It's on the list for purchase if I ever get a Apple Silicon MacBook.
  • Dozer to corral the endless app icons in the menubar - it replaces Bartender, which has apparently been sold to shady people.
  • Amphetamine to keep the machine from going to sleep, or allowing you to use the MacBook in clamshell mode (ie lid closed).
    • It replaces Caffeine and the shell command caffeinate.
      • Caffeine was essentially abandoned for a long time, but it has since (circa 2022 or so) been brought forward to more recent versions of macOS, after being handed over to a new developer. It is available on Github. I don't have a strong preference between the two - it's just that I used Amphetamine more recently during Caffeine's down time, and so it's what got installed via my latest Brewfile.
  • Magnet to handle window management and window snapping.
  • Marked 2 for previewing and reading Markdown documents.
  • I use the stock macOS Terminal.app for command line stuff.
    • It replaces iTerm 2 which is becoming more bloated and resource hungry. Not to mention the "feature" that decided to scrape your entire shell history to train some remote AI :puke:. The only thing I really miss about iTerm is the neat little status bar, which I had pretty heavily customised. I might consider returning to it if I end up with a Apple Silicon MBP in the future because they have a lot more grunt than the Intel MBPs do.
  • Alfred 2 as an application launcher. Mostly because I have a license for version 2 and haven't gotten around to getting the latest version of Alfred.
    • It replaces Spotlight, which is sadly prone to choosing exactly the wrong time to rebuild its entire disk image.
  • UTM and Virtualbox for running VMs.
  • Adguard for Safari for the rare times I have to use Safari. Because using the internet without some form of ad blocking is just awful :puke:
  • SwitchResX for dealing with monitor sizing issues, forcing certain Apple displays to go to higher resolutions than their default firmware allows, as well as scripting display changes (eg rotating screens 90 degrees via a keyboard shortcut).

macos High Sierra

I run High Sierra on my 2013 MacBook Air.

macOS High Sierra Applications

Applications I'm currently only using in High Sierra, mostly because I haven't really needed to migrate them to a newer version, or haven't gotten around to getting a license for a newer version, include:

  • Little Snitch
  • Keyboard Maestro
  • Growl, including the fantastic Hardware Growler
  • f.lux
  • MenuMeters

Other software

Windows

For Windows, I use Windows 10 in a highly customised edition. Everything is installed via Chocolatey.

Some Windows-specific applications I use are:

Other tools

For LLMs, I primarily use Llama3 8B inside Ollama in a reasonable quantisation. I've played around with phi3 and mistral, and find phi3 excellent for phone hosting or IOT driven processing in a limited context.

Return to Things I use (/uses)