What I use

Hardware

I have a 2019 Asus Zenbook 13. It’s very portable, Linux worked out of the box, and the battery lasts for ~8h of work. The keyboard is not great, though.

Another device I use is a 2021 Macbook with the M1 Pro chip. The hardware is fantastic in almost every way, but the software is a bit of a downgrade 1 from a good Linux setup.

When working from my desk, I use a Microsoft Sculpt Ergonomic keyboard2, and a big additional monitor. Using a laptop stand to lift the laptop to eye level is a must.

Software

For the Zenbook, I use Manjaro Linux with the tiling window manager i3. 3

In my Mac setup, I heavily utilize yabai, skhd and karabiner-elements. With enough tinkering, it is possible to recreate most of the i3 experience. 4 My setup is based on these dotfiles.

Most of my coding happens using the laptop as a thin client to a remote server. Visual Studio Code and its derivatives are very good for this, especially for remote development over SSH. I currently prefer Cursor.

For smaller scripts, I use Neovim, with various plugins installed via vim-plug.

All of these editors have Github Copilot support, which is unbelievably cheap for what it does. I do not plan to ever use an editor without LLM support again. For other LLM interactions, I paid for TypingMind.

For taking certain types of notes, I use org-mode in Spacemacs. It is simple, local-first, has Vim keybindings, and can render inline LaTeX fine.

However, I prefer Google Docs for anything collaborative, as well for my weekly planning. For maintaining work todos, I use Asana.

Web

For web browsing, I use Firefox with the following life-saving extensions: vimium, OneTab, Enhancer for Youtube and uBlock Origin.

Pen and paper

I like the Pilot G2-07, black ink. Dots ~ plain > checkered > lined.


  1. I had to pay to get my trackpad workflow back.↩︎

  2. It comes with a usable mouse, and works with Linux out of the box. It’s very good value for money.↩︎

  3. There is no bloat at all if you go with i3. I used Arch before and everything is the same.↩︎

  4. I didn’t succeed completely – for example, with multiple displays, it doesn’t seem possible to label workspaces non-consecutively. If you have any ideas on how to do this, please let me know!↩︎