Gear
Software
Terminal
Ghostty is my current terminal of choice. I went through Hyper, iTerm2, Kitty, and Wezterm before. Each time sacrificing bit of the features (that I didn’t use anyway) in favor of speed. Kitty, Wezterm, and Ghostty both seem on par in performance and I don’t have strong preference for one versus the others. At the moment, it’s Ghostty, in the future, I might go back to one of the others.
One underestimated factor of programming comfort are fonts. Good fonts strike the right balance of legibility, glyphs, and line-height. I have been using Berkeley Mono Typeface since its release, initially doubting whether paying for a font is a justifiable endeavor but it brings me tiny bit of joy whenever I open my terminal ever since.
Shell
I run Fish shell nowadays, it used to be Zsh and Oh My Zsh prior to that. I use fzf.fish for searching history, files, and git log, and fish-abbreviation-tips to remind me of abbreviations. For prompt, I use a small configuration of Starship, mostly directory and git information.
Managing the Setup
mise manages my development tools and their versions. The setup also declares packages, desktop apps, and dotfiles, so most of what makes the laptop mine lives in configuration. I still use Homebrew underneath for native packages and apps, but mise is where the authoritative source of all the tools and apps.
Editor
Mitos for almost everything nowadays. It’s a fork of Helix, which I used before, and keeps the selection-first editing, multiple selections, and built-in language server support.
In university we had free licenses for JetBrain products and I used those when I started programming. For editing in terminal I would use Nano and avoid it like the plague. As I needed to edit more and more configuration files and sometimes work remotely I decided to learn working with Vim in February 2021. The learning curve is indeed steep but there’s certain level of satisfaction in taming the beast. Around that time LSP and Tree-Sitter were becoming the norm, enabling the full IDE experience in Vim at a cost of 600 lines long configuration file.
As with other tools, I started looking into simplifying the setup. I ditched a few plugins, removed all unnecessary configuration, and downsized by Neovim config file to half. That is, until I found Helix.
Helix provides similar experience to Vim with one major twist. While in Vim you start with action followed by motion (e.g. d3w to delete 3 words) Helix follows selection -> action paradigm inspired by Kakoune (if you never header of it, don’t worry, I did neither until reading more about Helix). It’s striking difference from Vim that takes time to get used to but comes naturally afterward. Second large difference is first-class support for multi-cursor. Where in Vim you would substitute using the %s/SEARCH/REPLACE/g command in Helix you select the text (e.g. % for whole file), select the pattern in the selection (e.g. s followed by the term you are searching for), by confirming the selection you create multiple individual cursor, and you can edit them all at once.
That editing model stayed with me through the move to Mitos. It’s hard to go back once you get used to seeing the selection before doing anything to it.
At the moment I am using Warm Burnout, with light and dark variants configured in both Mitos and Ghostty.
Codex
I use Codex in the terminal for code reviews, refactoring, debugging, and finding my way around unfamiliar codebases.
Browser
After full circle, going from Firefox to Safari and later to Arc I am back at the beginning using Firefox as my primary desktop browser. There’s not much to it other than it works and it doesn’t get into my way.
Raycast
Raycast launcher is one of my essentials. I started with Alfred but didn’t like its UI and the way of writing extensions. It replaced a lot of other apps I previously depended on.
iA Writer
For writing posts for this blog and managing wiki.dzx.cz I use iA Writer. It’s an exceptionally well built writing software that helps me write. Built-in syntax highlight and style checking means one can focus on the content and iA Writer takes care of typos, common clichés, or redundancies.
Tools
- HTTPie for HTTP
- amber for search and replace
- ast-grep for searching and changing code by its structure
- bat -
catalternative with colors and more - dive for exploring docker images
- doggo as a DNS client
- dua to view disk space usage and delete unwanted data
- eza modern alternative to
ls - fastfetch for fun
- fd for finding files
- fzf
- gh for working with GitHub from the terminal
- git for version control obviously.
- htop - interactive process viewer
- hugo for static websites
- imagemagick to manipulate, resize, and convert images
- jq for JSON
- k9s for managing kubernetes stuff
- kubectx to switch between kube contexts
- pandoc for documents and markdown, convert anything to anything
- pgcli as a better alternative to the default
psql - procs as a more readable
ps - rg for code search
- rsync for synchronization between machines
- trash to not shoot myself in the leg when running
rm - worktrunk for Git worktree management for parallel AI agent workflows
- zoxide as a faster
cd
Apps
- 1Password for passwords management
- IINA for videos
- Ice - a menu bar manager for MacOS to keep it nice and tidy.- MonitorControl for controlling external display brightness
- Obsidian for notes and documents
- OrbStack for running Docker containers locally
Mac Setup
Other
- Wallpapers: OS9 Walppapers by Arun
Hardware
-
iPhone 13 mini. I was split on whether to buy 13 or 13 mini when my trusty iPhone 7 stopped working. After some back and forth the decision was made to opt for the smaller model. It’s a phone and does the things that all other phones do. It stays charged throughout the day (the previous one didn’t), takes great pictures (the limit is currently my artistic sense, not the phone), can navigate me wherever I need.
-
AirPods 3rd generation. For a long time I refrained from buying expensive-ish wireless headphones. I loved the basic Apple airpods that used to be inlcuded in the box. When I broke the last ones that I got with my iphone 7 I switched to cheap Seinheisser XXX, the reasonale being that I will eventually leave them in a pocket of my running shorts and wash them. Those were only for sports and at work I used their bigger sibling . Eventually, when iPods 3 came out, I decided to give them a shot to see how they compare to their wired predecessors that I held so dear and it was a great decision. I can’t be bothered by wires again, ever. The sounds quality is stellar compared to what I had before and the Airpods already survived a few beatings (dropped them second week after purchase on a bike at 40 km/h) which is another big plus. For me they strike nice balance between simplicity, sound quality, and price and I most likely won’t be migrating to anything else anytime soon.
Keyboard
Typing on HHKB Pro Hybrid since 2025. The price tag made me reluctant to press the “Order” button but hey, I spend good part of the day programming or writing documents, and good keyboard brings me a joy. I was also afraid of the different layout (no fn key and ctrl in place of caps lock) but it took a day to get used to and in the end feels like significant ergonomics gain. Furthermore, HHKB uses Topre switches, unparalleled by any other keyboard I have had before.
Everyday
The Bag
Nowadays I use the Aer Day Pack 3 X-Pac as my everyday carry. At 14l it’s quite a change from the 40l backpack I used before.
Previously I used Thule Aion 40l. Big, sturdy, with room for clothes and shoes for a run after work and groceries on the way home. Before that it was The Backpack Pro by Db, which wasn’t bad but I had my complaints. Thule was an improvement, especially the main pocket not opening on its own when heavily loaded.
Everyday Carry
- Book. I Always carry at least one around1, most of the time non-fiction books about software engineering, economics, statistics, or thinking. Sometimes I also read fiction but I tend to get very excited and hooked by the plot and the books don’t spend more than 3 days in my bag.
- Tech Kit by Bellroy. I would consider this an unnecessary luxury but it works fine and I hope it will last for a long time. As a bonus, it also looks good.
- TriggerPoint MBX and MobiPoint massage balls. Perfect small companions for recovery. Sometimes I use the MobiPoint to massage my feet even at work, and when needed, it can be used to apply pressure to verious stiff areas. Works like a charm.
- Microfiber cloth to clean my glasses.
- Screen wipes to clean my laptop screen.
- Humangear spork in case I bring a food with me that can’t be eaten using the hand. In full honestly, all I really need is a spoon but I couln’t find a nice travel spoon so spork it is.
- Nalgene 1l bottle to keep hydratated.
- Landgarten Chocolate Fruits bio organic chocolate + fruite snack. I like raspberry and ginger the most. Also, the packages are quite small so it never happens that you eat too much.
- 100% Konnor sunglasses. I wear perscription glasses most the time and when deciding between seeing well versus being shileded from sun I opt for the former rather than later. Maybe one day I will get into the habit of using contact lenses also when not doing sports and the sunglasses will come in handy.
- Curaprox Travel Set in case I ever forget my hygiene kit or get stuck with just my bag. The forgot part happens more frequently than I would like to admit. I haven’t used the kit yet, which just confirms the rule of it won’t happen if you are prepared.2
- Moleskin Hard Cover A4 notebook
- Aesop Resurrection Aromatique Hand Balm
- Fisherman’s Friend mints for fresh breath. Most of the time the Raspberry flavour.
Sports
Some notes after a few years of doing quite a few sports:
- When switching shoes (doesn’t matter if running or cycling), don’t go all in but alternate with your old shoes for at least first 2 weeks. Took me one heel inflammation and one knee inflammation to learn my lesson.
- Sadly, price correlates with quality and good gear costs money. Ideally have friends that work in the industry and can get you discounts or tips at least (easier said than done).
- If something works for you (e.g. certain brand of shoes fits you well) there’s no reason to experiment, usually that ends with more harm than good.
Running
I tend to keep running shoes for 600km - 1000km depending on their condition.
Clothing:
- Soar Run Trousers, merino wool-lined trousers for cold weather.
- Lululemon Surge Lined Short, shorts for any other weather.
- Ciele M RCDTShirt – Elite, race t-shirt.
- Ciele M DBSShort – Elite, race shorts for races up to the marathon distance.
Shoes:
- Saucony Endorphin Speed 3.
- On Running Cloudultra, favourite.
- Salomon S/LAB Ultra 3, favourite.
Retired
- On Running Cloudflow
- Saucony Triumph 18
- Mizuno Wave Rider 25
- Saucony Kinvara 12, favourite
- Saucony Endorphin Pro 2, favourite
- Nike Zoom Fly 3, good shoe but narrow toe box and it lost the springiness really fast)
Clothing
I am slowly iterating towards have a few brands that have consistently good products that I like. In general I aim for brands with good reputation3 4 even if that means paying premium. My woredrobe consistent mostly of plain, logo-less clothing
T-Shirts
All plain in tame colors, from Asket, Zagh (a Czech brand), Pangaia, and ocassionally Zara. Recently I am a fan of the oversized and skater fit.
Pants
All my pants at the moment are from Lululemon and specifically two of their models, the ABC Slim-Fit Pant and Commission Slim-Fit Pant. I wear size 32" and they are the best fit I have found so far. Event he slim-fit cut fits well for figures with larger quads and don’t restrict the movement. I have different colors on rotation and for the hot some weather wear the WovenAir version with perforated fabric.
-
My friends will know that at least one usually means around 5 with the completely invalid argument behind it being “In case I finished one, I want to have a backup”. The backup books tend to make themselves known by the weight of the bag. ↩︎
-
Patagonia founder just donated the entire company, worth $3 billion, to fight climate change ↩︎