See my dotfiles for configuration tips.

linux / terminal


  • tmux (split terminal, keep alive remote ssh session)
  • fzf (fuzzy finder for everything)
  • ugrep (much faster grep)
  • fd (better find)
  • bat (better cat)
  • terminal editors (know how to change a word or two in a file):
    • vim or neovim (harder, but better long term):
    • nano (easier)



Black and ruff play nicely together if ruff is configured with line-length=88.



  • The functionality of checkout has been split into switch and restore in more recent versions, it’s better to use those.
  • It’s important to craft good commits, which involves writing good commit messages, add-ing only what is needed in a commit (which might include only partially adding changes from a file), and cleaning up after yourself before pushing (rebase). Force pushing to a feature branch to clean up history before merging into master is not a bad practice.


ROS related