Computer setup
Editors
Of course as a programmer, I use some editors. My most used day-to-day are VSCode and Zed. VSCode extensions are really great, but when I need something really snappy, Zed is now the default. It has also gained a lot of possibilities recently, with the Debugger and Agent tooling.
In the terminal, my default, when I can, is now Micro. It is easy to install, configurable with highlighting for many languages, and has intuitive default bindgings.
I have a few very specific editors for some use cases, even if nowadays many extensions provide support for other use cases, and in a very usable editor
- Poedit is nice when working with translations, in Django for instance
Postgres
I play a lot with PostgreSQL these days, so I collected tools.
My go to CLI is pgcli: it is similar to psql in its interface,
but has nice autocompletion and colors. I tried a few IDEs, but in the end I always end up writing
queries in any IDE and running them via a CLI.
Writing
I have been using Obsidian as a knowledge base, and I’m quite happy with it. When I don’t want to manage a “workspace”, I still have Typora that offers a very pure experience. This is the core of my Markdown experience.
For more precise layouts, I use typst. It replaces Latex for me, and has LSP support in VSCode at least. In truth, I haven’t used it extensively yet.
Terminal
I have used the Gnome terminal for a while, but now I’v settled on Ghostty. It has a native looka and is quite performant, but I must say I don’t know all the features.
AI Tools
I have tries some AI-first IDEs, like Windsurf, but today I find CLI such as claude-code and regular IDEs with autocomplete and agentic mode just good. I don’t known if I’m missing on something.
Unix TUI
I find TUI/CLI are great for tasks you’d like to be very quick to do. I replaced some aged tools by more modern ones:
- ripgrep over
grep(the syntax is simpler to me)
I use hyperfine for script benchmarks. ncdu helps to interactively find disk usage and clean whole directories.
Git
Sublime Merge has a great and snappy interface for staging changes. I find it much quicker to use than VSCode when many files are changed. I used to use TUI to get this performance, but I don’t need it anymore.
My alternative is to use difftastic to review
large intricate changes: this tool provides semantic diffing that shows language specific changes,
all withint the usual git CLI (git add -p).
There are also some git tips I sometimes need to find again:
git diff --find-renames --diff-filter=M origin/masterreduces file move noise when reviewing large refactors
I can also setup file specific diffing within the CLI:
- sqldiff provides sqlite file diffs (add
**/*.db diff=sqlite3in.gitattributes)
Containers
I used Podman for some time, but I went back to Docker to remove some friction.
lazydocker simplifies dynamic container management over
repeated docker compose ps|stop …
dive is a great tool to investigate why a container image is small or big.