21 April, 2009

On the meaning of gwana, a simple trick, and social tools for developers

So, Scott Hanselman gave a talk on the usefulness of blogs and social tools to the community of developers, which prompted me to come back here and give you this post.

On the question of what gwana is – I picked up the word in an article on The Register a few years ago. What I liked about it was that it did not seem to mean anything at all, and was however somehow stuck in my head. Soon after that I was debugging an old CGI webapp written in C. It was a time before I had learned to properly use a debugger, so figuring out which code path was taken took me writing some tracing printfs. Finding my tracing output required putting some marker string in the string I was printing, so I ended up using “gwana” for that. After all, it did not seem likely that it would pop up accidentally somewhere in normal output.

In the tradition of metasyntactic variables, I kept using gwana as my universal marker with no specific meaning. Searching for gwana would take me directly to my tracing outputs, finding it where it didn’t belong meant that I haven’t properly deactivated my tracing statements. Nowadays I catch myself routinely adding it to debug logging statements in order to more easily match a place in code with a line of a log. When having to edit a file without a proper text editor I type in a “gwana” to put a placemark to which I can easily navigate back to.

And so, a nonsensical word became my personal mark in code and text. This kind of made it suitable for the address of this blog.

No comments: