Roads Less Taken

02 Nov 06

RoadsLessTaken

This blog’s name "Roads Less Taken" refers to the poem called "The Road Not Taken" by Robert Frost which describes how a traveler in a forest decides to take one of the two roads in front of him - "the one less traveled by".

Here you can find the full poem, I especially like that last part:

     "Two roads diverged in a wood, and I--
     I took the one less traveled by,
     And that has made all the difference."

I think that sets the mood for what I would like to write about in software development on this blog, namely that you can gain a lot by choosing "Roads" (think tools, methods, interests and techniques) that are "Less Taken" (not among the most popular that everyone else uses). Daring to be different and choosing the right tool for the job. Or at least open your mind and learn. :)

30 Sep 05

RoadsOne

This is the first little blog entry (in a small series) presenting a few RoadsLessTaken that I find interesting.

But first, let me share some notes about a small inhouse seminar we had yesterday at the company where I work - ToolkitSoftware. It consisted of 3 half-hour presentations with open discussion, a really nice format.

Jonas Lindskog talked about Agile methods and presented Scrum, which is a method I first read about back in 199x (6 < x < 8) I think. This was before XP and it was the first time I really felt a method had a fresh approach (and motivation) and at the same time seemed practical, simple and pragmatic enough to be taken seriously.

Well, that is not exactly true - I did also find Enator’s method called EFSOS to be quite nice at the time, even though it wasn’t as lightweight as I would have preferred today. EFSOS was also pragmatic and it had grown as a "collection of techniques" from various project experiences - so it wasn’t a pure "desktop product" as I would like to characterize most other methods in existence. EFSOS was born from a real need, there simply weren’t any defined methods around at that time.

As can be expected Jonas’ talk spurred quite a bit of discussion. :)

Then Claes Richard presented the case for continuous integration and also more specifically showed how they today use CruiseControl and various other tools in an inhouse project to have a constantly running build process. Anyone who hasn’t been living under a rock for the last few years should IMHO know about this - but it is nevertheless nice to be reminded of all the arguments and positive effects.

I believe I first saw this in its full glory when the Mozilla project started using a bunch of build servers continuously compiling Mozilla (for every supported platform) with a nice web UI on top where you could see exactly who "set the tree on fire" with a bad commit to CVS. It is called Tinderbox.

Then it was my turn to talk a bit about how a large open source project can work and the issues in trying to coordinate it. I talked about the Squeak community of course. :) I think/hope it was interesting even though I had whipped together the slides pretty quickly.

The evening ended with me and Jonas discussing RoadsLessTaken and why the IT world of today is generally so afraid of them and doesn’t seem to see the great advantages such roads can give.

So ending this blog entry I will give you a bunch of interesting things that I have been looking at or using lately. A few "roads less taken" so to speak.

No guarantees attached, take a deep breath and then open your mind fellow traveler:

Forth. Perhaps the smallest programming language, see also the tunes page on it. Forth is the true Zen programming language. Exploring the Forth community always gives me a "rush" - and there seems to be lots of cool lessons to be learned and new things appearing on the scene. Computing bordering on mystique, but tempting you to roll your own.

Darcs. Revision control turned into magic? You bet. Darcs whipes the floor with CVS/Subversion/whatever and written in Haskell it sure fulfills all criteria for this list. :) And no, it is not hard to use, on the contrary! You really have no good excuse for not trying it. Believe me, or better yet - read what other people think.

Universal Composition. This is a 35 page rough paper written by Henrik Gedenryd that I recently rediscovered. If you think aspects seem like a cool thing, you should read this. Think "string theory" of aspects/perspectives/whatever, a Grand Unified catch-all model of software composition. And with working code to back it all up!

Powered by RubLog