My favorite tools to boost productivity
On my daily basis I use a lot of different tools which I believe boost my productivity and make my life easier. In this short article I would like to list them and give you a few words on why I choose them and how I benefit from using them.
Zsh and Oh My Zsh
Z shell (Zsh) is a nice replacement for the standard Bash shell. I like the way Z shell recursively expands and completes paths and variables, and how it deals with the spelling correction. This is definitelly a huge boost when I use Terminal. I am not a power user of Unix nevertheless I feel the difference, and additionally there is Oh My Zsh that helps configuring Zsh to make the overall experience even better. I highly recommend these tools.
Zsh is available by default on macOS and it is very easy to change the default shell with the following command.
chsh -s /bin/zsh
Installing Oh My Zsh is also easy and the one-line command used to fetch and run the instalation script is available on their website.
iTerm, vim and aliases
Sometimes I need to modify files on a remote server. I use my own .vim
configuration that I created by adjusting some example I found online. On mac I use iTerm2 which is, I believe, a good replacement for the built-in macOS Terminal. It also gives some autocompletion features available by ⌘+;
shortcut, themes etc.
As I abovementioned I’m not a unix power user so I utilize heavely on aliases. In my .zshrc
you can find a lot of aliases like this one:
alias git-remove-issue-branches="git branch | grep \"issue/\" | xargs git branch -D"
alias git-remove-orig-files="find . -name '*.orig' -delete"
Using aliases frees me from having to remember all that long commands. It makes it easier to transfer my local alias definitions to external server or other machine.
SourceTree and kdiff3
I have been using SourceTree almost since its first release in 2013 when I used it to work with Mercurial repositories. When I started using Git as it became a more popular solution for distributed version control system, I was still using SourceTree as my main tool for Git repositories.
kdiff3 is with me for even longer time as I installed it for the first time on my computer at work 9 years ago. I love how it automatically resolves merge conflicts. I like the way it allows to check base, local and remote changes on one screen. Simple and useful.
Charles
Charles Proxy is an absolute must-have when we need to debug connection between clients apps and the backend. It creates a reverse proxy so it is possible to read or intercept and modify requests and responses. It allows to debug HTTP/HTTPS as well as WebSockets connections. Super handy tool I use almost every day.
RescueTime
RescueTime is a handy tool to keep focus ever day. I usually check my stats when I close my day so I can verify how much time I spend on real development work and I can decide if there is something to improve next day.
feedly
Sometimes I need a few minutes to learn about what’s happening in the world around me, but I don’t like to waste my time searching for information or browsing news websites. That’s why I subscribe to some RSS sources that I believe are worth reading. feedly is a perfect tool to easily manage RSS I can recommend to everyone who is not afraid of ancient technology like RSS and wants to organize their news sources.
Basic unlined notebook
The last and the most important tool I use every day is a plain, unlined notebook. I tried many apps like Evernote, OneNote etc. but the flexibility that comes with using a basic paper and pen is something I can’t easily substitute. Usually I start my day of work with creating a TODO list of what I should do so I have a plan for the day. I can keep it open and close to my laptop which is helpful when I need to sketch some more complex logic or idea.
These are my daily used tools which I believe boost my productivity the most. Of course I have more of them but I wanted to list what I see especially useful. Other things include what I see useful but is not used on a daily basis or super handy build scripts which are automated to the level I don’t need to think about them at all. 😊