A Productivity Enhancing Perl Environment
London -- 30th November 2013
Paul Johnson
@pjcjohnson
www.pjcj.net
Introduction
- This is what works for me
- Some of it might work for you
- Assumptions
- You are writing (a lot of) code
- You have control over your environment
Environment - Desk
- L shaped desk
- Comfortable chair
Environment - Monitors
Environment - Keyboard
- Decent Keyboard
- Logitech G15 keyboard
- Comfortable
- Programmable keys
- Multimedia keys
- Backlit
- Ins Home Del End
Environment - Mouse
- Decent mouse
- Logitech MX1000 Laser Cordless Mouse
Environment - Speakers
Environment - Headphones
- Or good headphones
- Sound good
- Don't leak sound
- Comfortable
Hardware
Operating System
- Work in a Virtual Machine
- Why
- Abstracts you away from the hardware and OS
- Easy to snapshot and roll back
- Easy to copy to another host
- Easy to set up - script / copy and paste instructions
- Host
- Client
Window Manager
Terminal Emulator
Terminal Multiplexer
- tmux
- powerline
- https://github.com/Lokaltog/powerline
- tmuxinator
- https://github.com/aziz/tmuxinator
- screen
Shell
Font
- Monospace programming font
- Inconsolata
- http://www.levien.com/type/myfonts/inconsolata.html
- http://hivelogic.com/articles/top-10-programming-fonts
Colour Scheme
- Solarized dark
- http://ethanschoonover.com/solarized
- f.lux
- adjusts colour temperature based on time and location
- reduces eye strain and helps you sleep more easily
Source code control
Editor
Vim - Plugins
Vim - Plugins
Vim - Plugins
Vim - Plugins
Vim - Plugins
- Fugitive
- gitgutter
- shows changed line in gutter
- signature
Vim - Plugins
- tagbar
- display tags in a sidebar
- NERD_commenter
- add and remove comments in various languages
- NERD_tree
Vim - Plugins
- snipMate
- surround
- treat text surrounded by delimiters as an object
- gundo
Vim - Plugins
- devel-cover
- show coverage information in gutter
Connections
- ssh
- mosh
- Putty
- Windows machines
- registry / Filesystem
Communications
Conclusions
- Be more productive and enjoy developing more by customising your environment