SnapTest 1.0.0alpha and SXSW Speaking

January 17, 2008 @ 11:53 pm

1 Comment

I've been quiet for quite some time, although for those who know my blogging habits that shouldn't be much of a surprise. I've been head down busy with a few things, specifically preparing for South By SouthWest (I'm speaking along side some very talented people, namely Alan Kasindorf of Six Apart, Blaine Cook of Twitter, and Sandy Jen of Meebo. The topic is on horizontal scalability, labeled "Scalability Boot Camp". Think of it like a firehose of really useful stuff, followed by some discussion about how this all works in practical startup (and larger company) environments. For the non-technical, there will be some grounding in business concepts from Kerry Miller of BusinessWeek as the moderator. For the technical, it'll be a feast of technologies and a yummy side of deployment and technical talk. If you're going to Austin, I'll see you there!

The second of the housekeeping stuff actually manages to eclipse my excitement about the SXSW thing, I can actually cross something off my life-to-do list. (Not that speaking at a conference isn't on there, I just haven't spoken yet.) Instead, I'm talking about the release of an open source project which I've been working on for some time out in the open. SnapTest, a unit testing framework for PHP, version 1.0.0 alpha is finally out. By "out" I mean there are wiki pages, documentation, and even a shiny .tar.gz waiting. While most projects I tend to do are for fun, personal benefit, this one has a certain tangibility (usefulness) to others.

I've been a big fan of Test Driven Development since I first encountered it so many years ago, but PHP was never very good at it as far as languages go. It was a bit kludgy, testing was difficult, and until PHP 5 objects were a bit of a joke. The language has done a lot of growing up though, and with all the new OO support, PHP can support some more robust testing concepts. In many ways, Snap is also an experiment in using PHP's exception handling as a means of properly catching debug information when tests fail. While perhaps not the most elegant of solutions over magic constants like __LINE__ and __FILE__, it provides a consistent interface for tracing down class, method, line, and file information in one complete package.

The most amazing thing is the feeling of accomplishment for getting something done. I owe a lot of thanks to Karen and Ryan for their help in building out the classes and concepts (and naming it), and for everyone who gave pointers here and there as it was developing. To the last part, you know who you were, and I'd love it if you'd all officially join the project. While I've done a collection of smaller projects, one offs, and contributed to other things before, I've never really been the lead on an OSS project before, so this is bound to be a good learning experience.

In response to "SnapTest 1.0.0alpha and SXSW Speaking":

  1. January 18, 2008 at 12:22 am

    Glad to help out. I’ll definitely be using Snap for daonut and whatever other projects I start and never finish. I think the greatest achievement of all in Snap is that you got me to write unit tests :D

Leave a Reply:

Commenting is not available in this section entry.