By Wyatt Barnett

What’s in Your Toolkit?

By Wyatt Barnett

After suffering through an inordinate number of “Whats in Your Wallet” commercials, I decided to share a few key components of my toolkit. No they do not involve faries, princesses, dragons or wierd looking centaur things. Anyhow, at the top of my chest of tools is:

  • Fiddler: when dealing with modern applications with significant amounts of remote requests (aka AJAX) having a tool that can enumerate and expose these is oftentimes key to tell a developer why some component is failing. Some of my co-workers think it is magic, but I just call it Fiddler. It is one of the three reasons I ever open Internet Explorer these days (other two being SharePoint and our time sheets).
  • m0n0wall: QA is an oft-overlooked, but crucial component of delivering solid, stable applications. m0n0wall is a BSD-based firewall/router/edge device that lets one create relatively complex networks with good front-end security. External stakeholders can view the applications as they live, while external developers can gain secured access to the boxes using PPPTP VPNs.
  • Virtual Server: There is a lot of hype, and many outstanding questions, surrounding virtualization in production. But insofar as development goes, virtualization is a godsend. Just the ability to backup and restore the entire state of a machine by a simple copy-paste operations—as opposed to using Ghost or tweaking things by hand—can save days of your professional life.
  • SecretServer: so you have a mess of development networks, and you have a mess of virtual servers, leaving you with a mess of passwords. Now, you can have one rather insecure spreadsheet containing this information. Or you can use this wonderful product to store all of these things in a secure, centralized and accessible store.
  • NtBackup: Having data of any sort without having backup is about as good as not having data at all. While I will not claim that the builtin Windows backup utilities are the be-all, end-all of backup solutions, they are reasonably effective and quite available. Now the actual backup is kind of immaterial unless it is shipped offsite somehow which leads us to . . .
  • FTP.exe: When used with the –s switch to load a command file, this utility will let you upload just about anything to a remote server to complete the backup operation.

So, what is in your toolkit that should be in mine?

  • rushy2uk

    Subversion is a must!

  • wwb_99

    Yes, some sort of version control is a must. But that has been covered by many, many authors so I sidestepped it.

  • Eclipse with PDT (PHP Developement Tools), Mylar/Mylyn, and Subclipse
    Crimson Editor

  • Anonymous

    PHPUnit, Version 3.x is what I can’t live without. Subversion is great but not a priority in my view, if like me you are a lone freelancer.

    Unit testing is a must though; You are otherwise negligent without it.

    Dr Livingston,

  • wwb_99

    @Dr. Livingston: really? I would think having solid version control is at least as, if not more important than unit testing. Being able to rollback mistaken changes, possibly discovered by your tests, is a very cruical ability.

    I should note that I actually keep my word documents and such in a version controlled repository. But I am on the lunatic fringe.

  • Anonymous


    if you are working with other developers then version control is invaluable. im not dimissing it out of hand, as there are benefits but i found none to my liking.

    most of the time, working myself i just dump everthing to a different folder on a separate harddisk ordered by a timestamp. i suppose if i were working for a large company etc then i would be using version control but that isn’t the case.

    is it a best practice? certainly but does everyone follow all best practices? doubt that, why i said that unit testing is more important than version control;

    to some degree you can live without it, but you can’t live without those tests… from my perspective, it’s the lesser of two evils.

  • jazzslider

    I think I work the opposite way…I try to do unit testing with PHPUnit whenever I can, but the really crucial factor for me is version control with Subversion, especially when I’m adding major new features; it makes it loads easier to keep multiple concurrent working copies running so that I can test the new feature set on a local testing server without accidentally uploading it to the live site and breaking everything.

    Also indispensable in my book:

    xDebug, with a little help from WinCacheGrind
    xampp, as a really easy testing server distribution
    Something to help visualize the differences between two conflicting versions of a file (I use PSPad for this)
    Firefox Web Developer extension
    Various Adobe CS programs, most notably Illustrator and Photoshop

  • jeff

    Believe it or not Wyatt,


  • Firefox
    – Firebug
    – Web developer toolbar
    – HTML Validator
    Eclipse + PDT
    XAMPP / WAMP Server
    Virtual image of IE 6
    IE 7
    CVS / SVN
    Notepad ++

    Just about anything that can help me in one way or another :D

  • * Firefox
    * Firebug
    * Web developer toolbar
    * Opera
    * bzr
    * trac
    * vim
    * NERDTree
    * snippetsEmu
    * Linux-vserver
    * Apache, mod_php, mod_python
    * Mysql, Postgresql

  • so much for my formatting… forgot xdebug + Kcachegrind :)

  • dhtmlgod

    Visual Studio (2005 & 2008)
    Refactor! Pro
    RedGate SqlCompare
    RedGate SqlRefactor

  • John C

    I seem to be the lone mac user on this page.

    Adobe CS3
    Code Igniter (!!!!!)


    I should qualify I only use Firefox for Javascript debugging. It’s slow as molasses on a mac (on a PC too though IMHO) – Camino is my browser.

    I don’t unit test or use version control. I grew up a minimalist and never found a use for either of them.

Get the latest in Front-end, once a week, for free.