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!