Tools I Use to Live My Glamorous Life
Development
Languages/Technologies
- I do most of my personal dev projects in Go
- Over the last 3-5 years, Typescript has become the dominant language I use at work
- 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
- 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 now prefer Fedora and Fedoralikes for desktop Linux
- I usually prefer Debian stable or one of its relatives for servers and Alpine for container base images
- I use Tailwind at home for CSS, often tableflipping and reverting to vanilla CSS
- I use Solid and plain old JS at home, React at work
-
I use Ollama on Windows and
Linux to locally run LLMs, sometimes building a
llama.cppbinary if needed. - I use oMLX on Mac for the same.
Editors/Environments
- My muscle memory is Vim, I use it everywhere
-
I have hit the point of no return and use
Zed more than any other
development tool
- I no longer use LLM code assistance in any measurable amount, I find a lot more value using LLMs as code review tools than code generation tools
- Much of my polyglot development is via VS Code
- 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
- On Windows, I’m doing the same thing but different with setting up a new machine.
- 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, rbenv, and pyenv to manage node/ruby/python installs – I can’t get the hang of uv but that looks like the future at this point for Python.
-
I use
grep,rgandagin 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 everything has to be commands or code!
- lazydocker loads a hell of a lot faster than any other offering for looking at running containers in a reasonably high level way
It Came from Userspace
-
I always add
~/.local/binand~/bin/to my$PATHso I can manage my own binaries without superuser perms -
I download
VS Code and
Go (setting
$GOPATHto~/.go) from tarballs and manage them myself, adding~/go/binand~/VSCode-linux-x64/binto$PATH– that way I don’t need to deal with native packages or elevated install permissions - Same with Deno
-
Currently in
~/bin:btmslirp4netns1tmuxtic80(static binaries acquired from their release pages)
Cloud Stuff
- In the past, I did Terraform
- A couple of jobs ago, 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 for personal projects
This Site
- The theme for this weblog is a no-longer-recognizable fork of smol, built in Hugo
- Hosted on Github Pages through the magic of a CNAME.
- Fonts: I’m using Forevs, Instrument Sans and 0xProto (hosted here with this page and not on Google Fonts).
Productivity
Producing and Manipulating Visual Artifacts
- 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
-
Mermaid for diagrams
extensively because it’s everywhere, mark a code block as
mermaidin markdown and you get the rendering for free in things like Obsidian and on Github - Monodraw for cool text-mode diagrams
- 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
- Graphviz comes along for the party, too – it’s old but it gets the job done for a large range of jobs
Desktop Apps
Windows
- I have a script I wrote for work to boostrap a new Windows machine; it installs and configures most of the tools below
- I run Win11Debloat immediately upon starting on a new Windows desktop machine
- Winget is a command line utility built into the operating system you are sleeping on.
- Windows Terminal for my terminal emulator
- Powertoys for various tweaks, the runner in particular is nice
- Notion Desktop to do work
- Notion Calendar as my calendar
- SyncThing to move files around
Mac
- BetterDisplay for better external monitor support
- SyncThing to move files around
- Notion Calendar to see what I’m supposed to be doing
- Notion Desktop to do work
- 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
- 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
- Ghostty as my terminal emulator
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
- Innioasis Y1 with Rockbox (with the LookAtMe theme) 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
AI Statement
This is not meant as a moral stance or a political position: I use LLMs at work because I have to. They save me typing for boilerplate. I don’t want to risk losing a job because I am slow at boilerplate or I am openly insubordinate.
I have a humanities degree, I find the idea of using LLMs to generate English prose to be silly at best as I can do the same thing, but terser and better. I do not find enough value in them to use them in personal projects for any substantial coding work. I find they do not add much in terms for proportional value versus developing understanding, and developing understanding is a luxury I can afford in personal projects. My interest begins and ends in the “fun” part (to me) of the LLM thing, which is writing and managing harnesses.
If using the tools makes you feel better and you can honestly address these questions with a clear mind, best of luck to you.
-
This is missing in ChimeraOS for some reason and the only part absent from a working podman setup on my handheld ↩︎