Gear
Software
Terminal
Wezterm is my current terminal of choice. I went through Hyper, iTerm2, and Kitty before. Each time sacrificing bit of the features (that I didn’t use anyway) in favor of speed. And when it comes to speed, wezterm is perfect. Instant boot time, GPU-accelerated, and it is written in Rust, so when I feel like learning more about Rust or contributing, I can do so.
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 Zsh and Oh My Zsh for as long as I can remember. Initially I used a lot of the provided plugins, full blown out Spacship ZSH prompt, and material theme.
Nowadays I use minimal configuration of Starship prompt (directory and git information). 20 or so oh-my-zsh plugins were reduced to 3: zsh-syntax-highlighting
, zsh-completions
, and history-substring-search
. And I have all shell config in single .zshrc
file.
Editor
Helix for almost everything, sometimes I spin up VS Code for a specific task, but last that I remember it was for a multiline search and replace across a whole project (I couldn’t wrap my head around ast-grep).
In University we had free licenses for JetBrain products and I used those since 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
paradigma 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 afterwards. 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.
Nothing can be perfect though, development of Helix is moving at a slow pace with features such as plugin support taking months (or even years) to make it into upstream. On the other hand, the slowness reduces feature creep and contributes to a clean codebase.
At the moment I am using the Modus Vivendi. A accessible theme, conforming with the highest standard for color contrast between background and foreground values (WCAG AAA) theme by Protesilaos Stavrou originally built for GNU Emacs.
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 then 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 it’s UI and way of writing extensions. Raycast is leaner, nicer, has plenty of up-to-date and maintained extensions for all that I need (1password, GitHub, Todoist, app switching, clipboard management, and more). It replaced a lot of other apps I previously depended on. Right now it’s free for personal use which I expect to change at one point in the future but I am willing to pay for it. May only hope is that their model won’t be subscription based.
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 doesn’t get in your way when writing. 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
- ag for code search
- amber for search and replace
- jq for JSON
- yq for YAML
- fd for finding files
- git for version control obviously.
- HTTPie for HTTP
- fzf
- exa modern alternative to
ls
- htop - interactive process viewer
- pandoc for documents and markdown, convert anything to anything
- Mackup for dotfiles backup
- ffsend to share files from terminal
- hugo for static websites
- dive for exploring docker images
- gist for uploading stuff to gist
- youtube-dl for downloading my favorite DJ sets from youtube
- bat -
cat
alternative with colors and more - trash to not shoot myself in the leg when running
rm
- k9s for managing kubernetes stuff
- kubectx to switch between kube contexts
- imagemagick to manipulate, resize, and convert images
- glow for markdown files
- loc to count lines of code in a codebase
- neofetch for fun
- pgcli as a better alternative to the default
psql
- q to run SQL over csv files
- rsync for synchronization between machines
- teleport for access to clusters and machines
Apps
- 1Password for passwords management
- balenaEtcher for flashing OS images to SD crds & USB driver
- boop tool for text wrangling and small utilities
- devtoys various developer tools for converting formats, images, and much more. Currently testing as a replacement for
boop
. - IINA for videos
- Insomnia - API client
- Itsycal - tiny calendar for menu bar
- Amphetamine for preventing the MacOS from sleeping
- Ice - a menu bar manager for MacOS to keep it nice and tidy.
Mac setup
Other
- Wallpapers: OS9 Walppapers by Arun
Hardware
- Apple MacBook Pro
- 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.
Everyday
The Bag
Currently I use Thule Aion 40l as my every day carry. It’s big, sturdy, ideal when you want to bring clothes and shoes to go for a run after work and still buy the groceries on your way home. 40l initially seemed like an excesive volume for an every-day back pack but now I would hardly go for anything smaller.
Previously I used The Backpack Pro by Db which wasn’t bad but I had my complains. Thule was definitely an improvement although the number of internal compartements seems to be excessive in comparison to Db. On the other hand, the main pocket doesn’t open on it’s 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”. On the other hand, my bag is sufficiently large to fit them all, it’s only manifesting on the weight of it. ↩︎
-
Patagonia founder just donated the entire company, worth $3 billion, to fight climate change ↩︎