I will be revealing my developer setup and a lot of other things during this relatively long session.
What will we learn ?
Importance of productivity tools (Time saving)
Hands on for i3 window manager for Linux and similar settings for Mac users.
Coding standards for python and PEP8 standards — Difficulties faced by using GEDIT in GIT and how to leverage Sublime plugins to achieve PEP8 standards. Other important sublime plugins.
Importance Of Productivity Tools:
While usage of productivity tools is highly a matter of personal choice, it is important to be a skilled professional in this competitive world.
If you do something everyday you are expected to be good at it after 1–2 years. It is not only about being good at programming but how you do it is also important.
See some skilled professionals at work.
As a developer you are expected to have certain tools at your disposal.
After years of practice and doing same things over and over again you would want to be like,
Special attention and practice is required to master these tools. Everyone of you can be like Jim :)
Apart from making you a skilled developer, usage of these productivity tools will also save your time.
Let’s do some math :
Alt + TAB , Our beloved multi-tasking tool consumes a lot of time.
Suppose, you want to switch between command line and your text editor while several other apps are open. Using ALT + TAB or workspaces in linux this takes at least 3–4 seconds.
On a very productive day (when you are on laptop for 10hrs), this process gets repeated for 500 times. So approximately 1500 secs. (25 Mins)
- Repetitive switching between editor and terminal
- Opening up Skype and Other chat clients
- Opening chrome for Gmail
- Switching between chrome tabs
- Finding tabs in chrome
- Clicking on different links for a particular search on google.
25 precious minutes of your day can be saved by using certain tools and mastering them gradually.
Let’s see how we can do that
Vim, the feared editor :
At some point of time all developers need to code on servers, hands on experience of Vim is very important in such cases.
Basic vim settings you must have are — indentation settings and syntax highlighting.
Few Vim use cases which get extended to our other productivity tools:
j,k,l,; = Navigation (Vimium, i3 uses these for navigation as well)
yy = Copy (Vimium for copying existing URL)
i = For insertion mode (Vimium copies this)
Esc = Exiting insertion mode (Slate and Vimium replicate this)
I prefer using Vim inside Sublime Text.
i3 window manager (i3wm)
Use cases :
- While coding, search web and copy a code from StackOverflow
- Watching video lectures and implementing as told using terminal, editor and video player.
- Different spaces for different apps : My defaults (1. Chrome, 2. Terminal, 3.Sublime Text (subl), 4. Nautilus 9. Skype etc.)
- Full stack development using vertical and horizontal split
Install i3 using `sudo apt get install i3`
Use this link during demo to install additional plugins.
- Slate — Vimium for mac windows (command + Esc)
2. Amethyst and Workspaces (i3wm for mac with Ctrl as the command key)
Some other useful Mac apps :
SMC Fan Control — Controls your fan speed when the system is too hot.
No Sleep — Runs your apps even after closing the lid
Caffine — Prevents screen from dimming automatically while you are reading
Window switching magic shortcut — Command +Tab and leave Command by pressing option and command together. This will open your minimized apps.
Sublime Plugins and their usage:
All python developers are required to follow PEP8 coding standards. But it becomes very difficult to remember all the standards. My favorite editor sublime has a few plugins which can change the way you code.
- HTML-CSS-JS prettify
- PEP8 Autoformat
- Python Flake8 lint
- Side bar
- Pretty JSON
Multiple Cursors and AutoFormat on Save are life savers.
- Momentum — Manage your daily tasks using a beautiful chrome extension
- Vimium — Hacker’s browser
- Google Tone — Share links by sound
- Ad blockers — No more youtube ads
- Typing club — Teaches you basics of typing e.g. both index fingers should be on two bumps on the keyboards viz. f and j
You are developers !!!! Don’t be like ...
Shameless Self Promotion :
If this article has helped you, please don’t forget to say Thank You by
Following me on GitHub
Starring my i3 repository on Github.