Tools

I enjoy improving my workflow. Inspired by others, I share the tools I use on a day to day basis. If you have any suggestions, feel free to tell me.

Software

Editing Code

I can not seem to stick to only one editor, since they all have different trade-offs.

Visual Studio Code is the most approachable one. It does not cost money to use, provides a good out-of-the-box experience, and nearly every language, library, or framework supports it through an extensions. I commonly use it when to explore new ecosystems: I may not know the terminal command to execute a single unit test in Rust, but after installing the official extension (that my editor recommended me to install), I get a little green button that executes it or even spawns a debugger. I may fall into habits obtained from other programming languages, like inserting unnecessary semicolons or not utilizing niceties offered by the specific language I am learning. The linter that is most likely included in the extension and enabled by default will tell me such things, which helps me learning while being productive. Another reason for me to open VS Code is to make quick edits to temporary files. Nobody likes to look at the startup screen of a heavy IDE that takes 30s to boot, only to edit a JSON file.

Speaking of heavy IDEs, Jetbrain’s Editors, while feeling more clunky, simply have the best autocompletion and refactoring support. If I know I am working on a project for a good portion of my day, I will definitely use IntelliJ over VS Code. Most functionality you need for your day-to-day comes pre-installed. Since not all functionality is freely available, you most likely need to pay for your IDE (however there are free community editions for some lanugages).

Neovim makes writing code fun and effective. LazyVim acts as a counter measure to keep me from configuring my editor setup for hours instead of actually getting things done.

To summarize:

  • VS Code for new stuff and small edits
  • IntelliJ derivative my day-to-day work
  • Neovim for the joy of it

Operating System

MacOS

Linux

Applications

Command Line Tools

  • fzf mostly for it’s great ctrl+r and ctrl+t replacements
  • zoxide (almost) always finds the right directory to cd into, without the hassle of navigating multiple folders and levels of ../../
  • keepac helps me keeping a proper changelog by making the process as simple as git commit
  • git and gh for version management and collaboration

Websites

  • Sourcegraph for finding code snippets, simple browsing and answering questions about codebases
  • Photopea and Vectorpea as free and web-based Photoshop and Illustrator alternatives
  • tldraw for conveying ideas visually and collaborative brainstorming