Tools I Use to Live My Glamorous Life
Development
Languages/Technologies
- I am primarily a Python expert (25 years!)
- I am primarily a FastAPI user, and I am better than average at doing async programming (which sucks and is bad, but it’s fun to do bad things)
- I primarily choose Postgres as my database
- I do most of my personal dev projects in Go
- If you ask me to write something in C++ I will say no but I will write C++ to spite you
- I prefer Linux on the desktop to Mac on the desktop at this point
- I do not value my time or sanity
- If something is reliable, I get bored and self-destructive so I need to be in a state of crisis in all aspects of my life and a Linux desktop fills that need in this space
- I usually prefer Debian stable or one of its relatives for servers and Alpine for container base images
- I use Tailwind at home, Sass at work
- I use Solid and plain old JS at home, React at work
- I use Ollama on Mac and Linux to locally run LLMs
Editors/Environments
- My muscle memory is Vim, I use it everywhere
- Most of my polyglot development is via VS Code
- I use LLMs for developing code signficiantly less than other people on the cutting edge of tech. I have the Continue plugin installed at home against local Ollama but use its features quite sparingly.
- I am forcing myself to use Zed more too, just because monocultures are a Bad Idea and VSC is a monoculture now
- I like using Ebitengine to make silly 2D games
- I also (rarely) play around with Picotron, Pico-8, TIC-80 and LÖVE for the same
Command line
- Here is the bootstrap set of dotfiles I use on new computers
- I use zsh and bash almost equally, though I think I have more zsh machines now
- I usually start out with oh-my-zsh or oh-my-bash on new systems
- I use nvm, pyenv and rbenv to manage node/python/ruby installs
- I use
grep
,rg
andag
in descending order of frequency - I like git-delta for command line diffing
- I like lazygit for some easy to explain but harder to do than necessary git operations. Sometimes a GUI (or a TUI) is nice! Not everythnig has to be commands or code!
It Came from Userspace
- I always add
~/.local/bin
and~/bin/
to my$PATH
so I can manage my own binaries without superuser perms - I download VS Code and Go (setting
$GOPATH
to~/.go
) from tarballs and manage them myself, adding~/go/bin
and~/VSCode-linux-x64/bin
to$PATH
– that way I don’t need to deal with native packages or elevated install permissions - Same with Deno
- Currently in
~/bin
:btm
slirp4netns
1tmux
tic80
(static binaries acquired from their release pages)
Cloud Stuff
- In the past, I did Terraform
- At my last job, I learned a little Pulumi
- At most places of employment, I use AWS
- I had to learn Azure at my last job
- At home, I use GCP
- I am in the process of switching my self-hosted stuff over to fly.io
This Site
- The theme for this weblog is a fork of smol, built in Hugo
- Hosted on Github Pages through the magic of a CNAME.
- Fonts: I’m using Atkinson Hyperlegible, Inter and 0xProto (hosted here and not on Google Fonts).
Productivity
Producing and Manipulating Visual Artifacts
- Monodraw for cool text-mode diagrams
- Xara Photo and Graphic Designer as I have muscle memory and it’s fast to make drawings in
- The Gimp for quick raster touchups
- Inkscape to touch up SVGs
- D2 for diagrams as code – I like it in terms of how clean the language looks, how clean the output looks, and how easy it is to use
- Mermaid for diagrams extensively because it’s everywhere, mark a code block as
mermaid
in markdown and you get the rendering for free in things like Obsidian and on Github - Graphviz comes along for the party, too – it’s old but it gets the job done for a large range of jobs
Desktop Apps
Mac
- BetterDisplay for better external monitor support
- SyncThing to move files around
- MeetingBar to see what I’m supposed to be doing
- Rectangle to move windows around
- Enchanted as a standalone frontend to Ollama
- Ghostty as my terminal emulator
Linux
- Syncthing to move files around easily
- Rhythmbox to handle my large music library
- Boxes for light virtualization work
- Ptyxis as my terminal emulator
- Podman Desktop for container-fu
- virt-manager for my Windows VMs
- Prism Launcher to play Minecraft with my kid
- Alpaca as a standalone frontend to Ollama
- Steam for Steam
Networked Software
- Mastodon for one Fediverse server
- GotoSocial for the other
- Miniflux for keeping up on news
- Forgejo for hosting my private repos
Computer Hardware
General-Purpose Computing and Development
I have a handful of computers I use regularly!
- An older Legion desktop running Nobara for gaming and general computing
- Pinebook Pro running Manjaro for remote terminal stuff and as a lightweight Miniflux client
- AOKZOE A1 running ChimeraOS for handheld PC gaming, also using its Gnome desktop as a portable development setup
- Whatever the smallest iPhone is on the market at the time for doomscrolling
Toys
- Shanling Q1 for listening to music outside of my home office
- RG35XX running MyMinUI for video games during my commute hours
- Flipper that I never break the law with
Non-Computer Hardware
- The Peak Design Everyday Backpack as a backpack
-
This is missing in ChimeraOS for some reason and the only part absent from a working podman setup on my handheld ↩︎