I’m a bit of a software nut. There is a certain appeal in working with a finely crafted piece of software. I used to install every new thing I could get my hands on and play with it for hours at a time. As the years went by however I started to become more picky. I have a stable of tools that I love to use for development and other things in life and new tools get judged based on the tool they would be replacing.
I have a few requirements that I look for when I choose new software:
1) Does it do it’s job well?
These days there are so many choices for most pieces of software , we don’t have to settle for average software that only sometimes does what’s intended.
2) Is it better than what I currently use?
When comparing a new piece of software I try and give it a fair chance. I have favourites and the new kid on the block needs to be amazing. I keep an open mind. Sometimes I look for replacements because the old piece of software is getting long in the tooth and sometimes because I heard about a cool new text editor created by the people at GitHub.
3) Is the price fair?
I don’t mind paying for software. When I was using Eclipse as my IDE I donated to them because eclipse was creating a lot of value in my life. I try and see if the price of the software will be in proportion to the value it will generate. This is not a easy thing to quantify but so far I haven’t been let down when I bought software (just do your research). I would suggest only buy software that you have actually worked with, most commercial software these days give you a 30-day trial enough time to figure out if you would be happy to pay for it.
4) Is there active development and/or active community
Since most new software these days that I evaluate competes against something I already use, I make sure to only get the best. One of the best ways to ensure that is to see if there is an active community for your software, are the developers updating things? Are people passionate about it?
The list 2015
This is a small list of the software I use almost every day for development and other tasks. I’ve excluded operating systems and tools that I only use occasionally. I’ve also excluded _most_ software that comes in the form of commands like ls, tail, ssh those are awesome and critical pieces of software however then this list would become really long. Finally I’ve excluded websites like gmail, github and bitbucket, this is just a list of software you would install on your desktop. Anyways that’s enough disclaimers.
So here is my list of software I use every day and what gaps they fill.
1) IntelliJ IDEA (An IDE)
In my opinion IntelliJ is the best IDE out there. With IntelliJ you get what you pay for. It’s expensive, especially when compared to Eclipse but for me the price is worth it. I used Eclipse for many years and it’s a fine IDE I just think IntelliJ is better. Also for the record, I moved to IntelliJ _before_ Google moved their recommended android developer platform from Eclipse to IntelliJ 🙂
2) Atom.io (A text editor)
I recently started using Atom as my default go to text editor and I love it! It comes with a bunch of plugins, as expected, and you can write your own. It recently hit 1.0 I would suggest you try it out. I still sometimes use vi for some in terminal editing but the majority of my text editing happens in Atom these days. Also even if you don’t give Atom a shot you need to checkout this 1.0 launch video it’s a gas.
3) Postman (Lightweight RESTful service tester)
If you work with RESTful services you need software like postman. It can save you heaps of time. It relies on Google Chrome being installed. I have recently started looking for a lightweight replacement that doesn’t require Chrome. I might just write one.
4) Hearthstone (A online card game)
It’s a game, I enjoy playing it and load it up at least once a day to do the daily quests. I play other games too but this one I keep going back to when I finish the others.
5) GIT (A source code management system)
I used GIT to version most of my things (it does great versioning on all text files), the drafts to these posts are all written in Atom and versioned in GIT. You don’t even need to push to a remote repository if you don’t feel like it.
6) iTunes (A music player)
My go to music player, it’s a bit heavy on the RAM but it also downloads and manages my podcasts. I tried some lightweight music players in the past but they didn’t impress.
For all my video watching needs. It’s fast, supports keyboard shortcuts, plays all video formats. Delivers everything I need in a solid package.
You would have noticed that I haven’t really included a browser in my list, a browser probably the most used piece of software that I have and a couple of months ago I would have included Chrome in this list, however while Chrome is still probably the best browser out there I’ve had issues with it over the past few months and don’t really feel comfortable recommending it. I have started looking for alternatives.
Until next time