Kagamino's Blog

Kagamino's Blog

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/master reduces 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=sqlite3 in .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.