My development tools
Just thought I’d share some of tools that I use everyday. Nothing very secretive or exclusive, but I hope someone might find it useful.
Docker (Compose)
Docker plays a very important role in my development setup.
At work I created a Docker Compose based tool called localhost that allows me to switch between projects quickly. Scenario is like this:
$ bin/localhost projecta
# launching services for project a: postgres9.4 elasticsearch1.7 redis...
$ bin/localhost projecta stop
$ bin/localhost projectb
# launching services for project b: postgis, elasticsearch2, memcached...
The tool consists of a set of docker-compose.yml
files and some shell scripting such as bash scripts and Makefile
.
It is simple but very powerful. I hope to have an opportunity to talk more about this tool.
Database administration tools
Postico is “A Modern PostgreSQL Client for the Mac”. The free trial version allows 5 profiles. I use it for PostgreSQL as well as AWS RedShift.
Robo 3T, formely known as Robomongo, is a multi-platform MongoDB GUI client. To be honest I am a light MongoDB user and always forget its text commands. It works very well for me.
Both are very cool products. Recommended.
Coding tools
When I code in Ruby, I use RubyMine.
I recently started to write Python and Go code and fortunately Jetbrains has IDEs for the languages too: PyCharm and Gogland. PyCharm has a community edition that you can use for free and Gogland is still in its early build stage so you can download and use for free. So give them a try.
One of the benefits of using Jetbrains IDEs is consistency. I can use same knowledges such as keyboard shortcuts for diffferent languages.
I am also trying to use MS Visual Code.
Misc.
Octotree gives you a nice tree navigation when browsing GitHub repositories.
hub pull-request
command alone makes it worth installing Hub.
Dash saves me a few moments everytime I lookup references which I do hundreds times everyday.