Kafka Streams Topology Testing: Mocked Streams 3.3 is out.

Refine Your Tools for Fun and Profit

I give great advices for optimizing your workflow.

In this post, I write about improving my workflow by using hotkeys on all levels of control. In other words, by throwing my mouse out of the window. Just joking, I'm still using it for web browsing. Generally, you want to complete tasks with the computer, and of course you like to do it as fast as possible. Some tasks require some repetation to get things done quickly. One example is to write on a keyboard, right now I can close my eyes and write what I think. It's like my fingers know what they have to do, and I only need to focus on what I want to write. This is a huge improvement in relation to someone who can't write flawlessy on a keyboad. The funny thing is, even though I type flawlessly on the keyboard, e.g. a password, I cannot say where exactly the different keys are located. Hey this is muscle memory! Don't think, just type.

You will never change your life until you change something you do daily. The secret of success is found in your daily routine. John C. Maxwell

Application Level

Infamous hotkeys like copy & paste are common sense. Even the hotkey to open a tab in the browser is often used I guess. These hotkeys are predefined by the operating system or applications. If you work for example with Photoshop or The Gimp for a living it's a no-brainer that you should master the hotkeys to raise your effiency. You might ask why should you be more efficient? Well, for starters, don't waste your life time repeating the same goddamn keystrokes and mouse movements over and over again. Using shortcuts might be weird at first, but after using them a couple of times, you use the shortcuts without thinking and your overall workflow increases in effiency. Even if the task requires to run different commands sequentially, write a macro script and map it onto a hotkey. Switch to hotkey and script customizable applications like VIM or Emacs for text editing, or Mutt for mail. Maybe the latter is too hardcore for you, but I'm very happy with mutt. Thats a great thing about our general computation machines: you can improve your workflow by configuring it to fit your needs. Pretty basic stuff, right?

Window Manager Level

Even though you mastered hotkeys in the prefered application, you still need to use the mouse for starting or switching applications. I hope that you're X11 window manager, OS X, windows or whatever you use, gives you the freedom of customizing hotkeys to manage applications windows. I am a big fan of the Gnome community, you guys really know how to beautify the user interface. But a year ago, I switched to tiling window managers, which generally look very minimalistic. I started with i3 and then switched to qtile. The latter is completely written in Python, therefore easily customizable. Every window management command is mapped onto hotkeys which make sense for me. I even only use hotkeys to start my applications, here's my qtile config. As you can see in the config, my hotkey modifiers are my left and right alt keys. For example, Right-alt + M starts Mutt in a terminal, Left-alt + W starts Firefox. Your Desktop, your rules.

Continous Improvement

Forget the mouse, it just slows you down. I love sitting at the desk with my feet on the table and the keyboard on my legs. This is even more satisfying when you got a wireless keyboard. Optimize every sequence of commands you often use by writing a script and map it onto a hotkey. Needless to say, this is a process, so backup your configurations, maintain and refine them over years. If I stumble upon a process which I can optimize, I modify my configuration and synchronize it between my home and workplace. The happier you are with your tools, the more you enjoy your job.

One or two mails a month about the latest technology I'm hacking on.