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 reluctantly use Ruby at my office
- 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.
- At work I use Cursor, a VS Code parasite IDE because the Thought Leaders in Engineering Leadership have mandated it, partly as an assertion of thought leadership and partly to assuage the board of directors that we are, as an organization, indeed taking AI seriously. It’s also configured to use local Ollama in the places where it works. I use the chat window occasionally and it fixes some trivial mistakes fine, but I don’t use the non-vanilla-VSCode stuff any more than I use Continue at home (which is to say, maybe 3-5 chats/autocompletes a week).
- 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 ↩︎