Productivity tips
June 13th, 2019
My team at work has grown a lot lately. Developers who joined the team are as experienced or more than I am. So when we started working together, the things I felt confident enough to help them with was our existing codebases and tools. After some pair programming with one of my colleagues, I thought I could show him a tip or two regarding what I use daily which makes my life easier as a developper.
Task management
I’ve been using Things 3 on a daily basis for more than a year now. I was used to simple text notes, whether virtual or physical (I love those colourful post-its) and I’ve never been searching for something more complicated. The way Things and its interface are designed made me stick to it entirely after a few weeks. Its apparent simplicity hides a lot of details that make it an efficient product.
However, the most important feature is that I forget about it. Things is simply a tool. I need it to be fast, I need it to be simple. If you’re looking for a tool to keep track of your work, pick the one that is the closest to your workflow and which doesn’t get in your way every time you need to think about something. Whether you’d prefer having tags and projects, directories, sub-tasks etc. doesn’t really matter. Are you able to write down your ideas and TODOs at your speed of thought? This is what really matters.
Vim
Learning Vim is a bit steep to be honest. I’m not advocating for a specific editor/IDE and especially not for this one, but learning the basics of Vim can help you on a daily basis. I was using Vim as my main editor for approximately 6 years before moving almost entirely to IntelliJ IDEA. However, I’m still using Vim or its moves daily. Be it for commit messages, quickly check log files, edit configurations, web browser navigation [1], etc. Every time you are dropped on a new server, a presentation’s laptop or a coworker’s, you have it pre-installed 99% of the time. It can be used out-of-the-box and it is blazing fast to start up and to work with.
I guess the best selling point of Vim as a daily editor or “side-editor”
is that you can quickly edit and move with memorisable commands. Keeping
the right arrow key pressed to move the cursor three words to the right, to
finally remove the fourth word — again, with backspace key pressed — and
then type your correction is a bit long. Remember when grandpa is clicking
repeatedly on the bottom of the right scrollbar of his web browser until
the page goes down… You’d really love him to use the scrollbar as you
told him hundred times before (but it’s ok because we can spend more time
together anyway). Well, I feel a bit the same when I see someone using Vim
this way. But you’re not my grandpa. And we should be both doing something
else rather than editing this file and waiting in silence for this cursor to
move. Typing 3wcw
is all you need in Vim to make you replace the fourth word
on your line. Agree that it’s ugly but it’s also quite fast. Literally,
it means:
3w
move by words forward (3 words
)cw
delete the current word until its end and put me in insert mode (change word
)
Long story short, just spend an hour playing with vimtutor
which should
be installed on your machine along with vim
itself. It is a complete
tutorial covering the basics. In my opinion, everything until lesson 4.3
(Matching Parentheses Search
at the time I’m writing) is a must-read. The
other half of the tutorial contains both must-read sections and less-useful
features. Up to you then. And use it daily. Every time you edit a small
file or want to see the content of one, use vim
. Configure your shell’s
EDITOR
environment variable to vim
. This way, Vim will pop up by itself
most of the time (when editing commit messages for instance). Practicing is
key but it may take some time before it clicks.
Vimium
Once you get confortable with Vim
moves, you should take a look at Vimium
(both
Chrome
and Firefox
versions are available). It lets you move within and between pages in your
web browser. It’s the fastest way I know to browse from my keyboard. I
know there are more configurable alternatives out there. However, I enjoy
Vimium simplicity and stability.
iTerm2
Terminal
application on macOS is an ok default terminal application. I find
it a bit ugly and hard to configure. A good alternative most of the people
use today is iTerm2. I cannot tell you about all
the ways to configure it (there are plenty) but I just wanted to share with
you a few things I’m missing on someone else’s computer when using it.
Move one word left/right is doable solely using combinations of Alt+B
/Alt+F
keys but I never get used to it. So I’m still stuck with Alt+Left
arrow
/Alt+Right arrow
. To enabled it in iTerm2
, go to Preferences >
Profiles tab > Keys tab
and in the Key Mappings
list, add or change the
following mappings:
Spectacle
Probably one my mostly used application — which also makes me really uncomfortable when using someone else’s computer — is Spectacle. This small and stable application lets you quickly move your windows on your screen but also across many displays. It has been the perfect app for me [2] as it doesn’t involve a lot of learning and the default keys are mostly sane and not conflicting so much with other applications’ keybindings.
Alfred & Dash
Last but not least, and by far the software I would miss the most if it was to disappear: the Alfred launcher application. I cannot tell about all the things Alfred can do for you, considering how extensible it is. I’m not a power user but I’m using it for everything: launching apps, converting words between French and English (with context), checking color codes and more importantly, to trigger Dash queries.
Dash is application that centralise all your documentations and lets you search through it at the speed of thoughts. It works on many languages and technologies. By the way, it works fully offline.
macOS
Nearly forgot to talk about macOS itself. If I remember correctly, there are three hidden features on macOS that do not come out of the box. As a used them virtually everyday, I thought it was worth sharing:
Tap to click under
System Preferences > Trackpad > Point & Click tab > Tap to click checkbox
Three fingers drap & drop under
System Preferences > Accessibility > Mouse & Trackpad > Trackpad Options... button > Enable dragging checkbox with "three finger drap"
Control + Scroll to zoom in/out on the screen under
System Preferences > Accessibility > Zoom > Use scroll gesture with modifier keys to zoom checkbox with "^ Control"
I was always wondering if the path down to these options was a joke or some kind of contest for power users from Apple [3].
Apparently, there’s no contest.
[1]: I used Vimium when I was still on Chrome, nowadays I’m using Vimium-FF on Firefox. I know there are more configurable alternatives such as tridactyl but I’m fine with the simple solution.
[2]: I totally miss i3 from the time my primary operating system was Linux based :’(
[3]: IIRC the three fingers drag & drop was enabled by default on older versions of macOS.