What's in my toolbox?
A developers tools are just as important as a builders tools. Just like with builders, developers have personal preferences, so I thought I’d share mine.
Operating System: I have developed on Windows, Linux and Mac OS. For me, Mac OS is the best fit. It offers the best combination of user experience and a UNIX environment. Developing on Linux is brilliant in that the development environment is the same (or near enough) to the live environment. But I also demand the experience I get with a Mac. I also run Linux (Ubuntu Server) in a Virtual Machine, so have the best of both words. I do use MAMP PRO some times when I just want to quickly get an environment running.
Virtualisation Software: As mentioned above, I run a Linux Virtual Machine and for that I use VMWare Fusion. I also use Virtual Box and have Windows XP with IE6, IE7 and IE8 and Windows 7 with IE9 setup for cross platform testing.
IDE/Code Editor: I have used a wide variety of IDE’s and code editors over the years including Eclipse, Aptana Studio, WeBuilder and NetBeans. I now mainly use Komodo IDE. I have recently been trying out Sublime Text 2, which I love. It is a code editor and does not have all of the features of a full IDE like Komodo, but with many plugs available, you can get it close. One of the best things about it is the ease and speed and which I can jump around files. More on that in a later post.
Debugging: I use Xdebug in conjunction with Komodo IDE. Other debugging tools including Devel (Drupal), Firebug (Firefox), Web Developer (Firefox), HTTP Inspector (Komodo), DOM Inspector (Komodo) and others.
Browsers:For general web surfing I use Chrome. I also use with when developing except when I really need the full Firefox experience and then I switch to Firefox. Although Chrome Developer Tools often does the trick.
Source control: Subversion and Git, depending on the project. I mostly use the command line for both, but sometimes use SourceTree as a Git GUI.
Database GUI: I switch between using the command line to a GUI depending on how I am feeling. If I want to use a GUI I use either Sequel Pro or the Database Explorer in Komodo.
Time tracking: As a freelancer/contractor, tracking time effectively is essential. I use Freckle.
Project Management: I have tried a quite a few different tools to manage projects and todo lists, including simple text files. I am currently using Pivotal Tracker, which is an Agile project management app. It might be total over kill, but I’ve worked in Scrum environments quite a bit, and working in sprints for my own projects helps get them done.
Bug Tracking: When working with bigger teams we tend to use a dedicated bug tracking solution like Jira or Trac.
Reading: My RSS client is Reeder, my Twitter client is Twitter for Mac and I have a Kindle and use Calibre to manage my ebook library.
Writing: For note taking, research and collecting useful bits of information, I use Evernote. For writing, I have started using Scrivener. I am using Scrivener to write Master Drupal and will also use it to write blog posts.
Snippet Manager: There is no need to type everything out, so I store snippets that I use often in Snippets. It saves a lot of time!
Hardware: I exclusively develop on a mid 2010 Macbook Pro (hopefully to be replaced with a 2012 model when they are released).
Backups: I use TimeMachine with a Iomega eGo 500GB (firewire). I also have a Western Digital network drive for extra storage. I use Dropbox for important files, including photos (which are synched with my wife's machine). I also use Amazon S3 for some ad hoc backup needs.
Other tools: iTerm2 as a terminal replacement, Skitch to share screen grabs, XMind to mind map, Inkscape and Pixelmator for graphics, and FileZilla when I need FTP, Adium for chat (Google chat, Facebook chat etc) and Skype for chat and video calls.
So, what is in your toolbox?
New comments for this tutorial have been turned off.