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?

Get your free chapter of Level Up Your Web Apps with Go

Get a free chapter of Level Up Your Web Apps with Go, plus updates and exclusive offers from SitePoint.

  • 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.

  • coffee_ninja

    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,


  • pixelsoul

    – 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

  • m0n5t3r

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

  • m0n5t3r

    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.

Related books & courses
Available now on SitePoint Premium

Preview for $1