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?





August 1st, 2007 at 10:17 pm
Subversion is a must!
August 1st, 2007 at 11:23 pm
Yes, some sort of version control is a must. But that has been covered by many, many authors so I sidestepped it.
August 1st, 2007 at 11:50 pm
Eclipse with PDT (PHP Developement Tools), Mylar/Mylyn, and Subclipse
Subversion
Trac
Photoshop
Crimson Editor
August 2nd, 2007 at 12:11 am
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,
August 2nd, 2007 at 2:59 am
@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.
August 2nd, 2007 at 3:43 am
possibly…
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.
August 2nd, 2007 at 4:31 am
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)
Firebug!
Firefox Web Developer extension
Various Adobe CS programs, most notably Illustrator and Photoshop
August 3rd, 2007 at 12:23 am
Believe it or not Wyatt,
Desk
Chair
PC
Mouse
Keyboard
Monitor
August 3rd, 2007 at 5:21 am
Firefox
- Firebug
- Web developer toolbar
- HTML Validator
Eclipse + PDT
XAMPP / WAMP Server
Virtual image of IE 6
IE 7
Opera
Winmerge
CVS / SVN
Photoshop
Notepad ++
Just about anything that can help me in one way or another :D
August 5th, 2007 at 7:25 pm
* Firefox
* Firebug
* Web developer toolbar
* Opera
* bzr
* trac
* vim
* NERDTree
* snippetsEmu
* Linux-vserver
* Apache, mod_php, mod_python
* Mysql, Postgresql
August 5th, 2007 at 7:27 pm
so much for my formatting… forgot xdebug + Kcachegrind :)
August 10th, 2007 at 12:12 am
Visual Studio (2005 & 2008)
Refactor! Pro
TestDriven.NET
NUnit
NCover
NCoverExplorer
SVN
Trac
TortoiseSVN
VisualSVN
RedGate SqlCompare
RedGate SqlRefactor
nAnt
CruiseControl.NET
August 11th, 2007 at 7:55 am
I seem to be the lone mac user on this page.
Textmate
Adobe CS3
phpMyAdmin
Code Igniter (!!!!!)
Firefox
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.