Project Idea: Learning to Read Code

... with the help of Fibel.

Idea

Imagine a webapp at which you can throw nearly every github or bitbucket repo URL, and it will render the code found in the repo with the help of docco, shocco or any other tool with a similar feature set.

Added Bonus:

  • Allow the creation of "tours" through code, so a user can show off certain features or solutions, in order to aid in the understanding of the code or specific programming constructs.
  • Allow the annotation of the code trough the webapp, and the code is reflected back to a forked edition of the original repo (which might serve as a basis for a documentation enhancing pull-request).

Why?

I've been thinking a lot about what makes a good programmer and how to get there. For quite some time already. Which is not very surprising, when you consider, that my job as a teamlead consists (not only, of course) of evaluating potential candidates and further developing the current team members.

Software Craftmanship is what comes to mind. But also concepts like Code Katas, Code Retreats (I will attend the Code Retreat Berlin in July, but more on that in another post) etc etc.

The one thing however, that I thought about how to solve best, was "reading good code" as a means of getting a feel how to solve problems "the right way" and the idioms and "culture" of a programming language. And as a thread on convore lately indicates, I'm not the only one thinking about this.
And as I'm looking for a sensible project to implement I thought that this would be a good direction for a project.

We'll see where I take this idea in the upcoming weeks. I nevertheless added it to my projects list and dubbed it Fibel (which is the common name for the first reading book children get in german elementary schools).


Reading: The Graveyard Book

Personal Background

During the course of a wonderful afternoon (bitter-cold but sunny; walking around Bad Nauheim's pond; refreshing heart-warming shared memories) were I visited an old friend, whom I generally see way too rarely, the topic of books came up. As it happens almost always, when we meet or talk.
I lamented that I had read too few really good books in the last weeks and months. He instantly pulled out "The Graveyard Book" by Neil Gaiman, handed it to me and said something along the lines of: "Then just read this".

It took me several months to get around to reading it. But I did so in the best circumstances one could read such a book: During my parental leave, when my 1-year old son held his midday sleeps. Lying next to him, being able to look at him by only turning my head a little.

Contents

The book is the story of Bod's, short for Nobody Owens, childhood. It starts off quite sadly, when his whole family is murdered. Bod only survives by chance (or so it seems at first), and because he's instantly adopted by Mr. and Mrs. Owens, a couple of ghosts.
The book goes on to tell Bod's experiences as a living "man" being raised by ghosts and other supernatural beings, until it culminates in a grand finale, where also the real story behind the murdered family is unveiled.

Conclusion

The book is a great children's story for grown-ups. And I mean this is the best possible way. It's a charming read, with lots of fantastic ideas. Although I found it a little prolonged during the middle, it was very entertaining.
Still, it's not a book I'd count among the best I've ever read and will want to read time and time again. But it's a story, that takes your hand, and shows you a world, which you most certainly haven't seen before. And it does this in a way, that makes you feel all warm-and-fuzzy inside.
And isn't that already everything you can expect from a good book?


Elternzeit

Seit dem ersten Geburtstag von meinem Sohn Noah bin ich in Elternzeit. Zwei Monate lang. Was ein viel zu kurzer Zeitraum ist, aber um einen Song zu zitieren, den die Glee Kids letztens (in meiner Zeitrechnung jedenfalls) gesungen haben: "You can't always get what you want"!

Ein inoffzielles Anliegen von mir vor Beginn der Elternzeit war es, jeden Tag niederzuschreiben, wie es war. Wie der Tag gelaufen ist. Welche Gefühle es auslöst, den ganzen Tag für meinen Sohn da zu sein, im Gegensatz zu den paar Stunden morgens, die ich bisher für ihn da sein konnte.

Und was ist daraus geworden? Das Leben. Die Tage. Dass ich Noah zur Priorität und alles andere für unwichtig erklärt habe. Um dieses kurze Kleinod des "Hausmann & Vater sein" auszukosten.
Ich gebe zu, dass es mir unheimlichen Spaß und große Freude bereitet ein Mittagessen für die Familie zuzubereiten, mich mit dem Kleinen zum ausgedehnten Mittagsschlaf hinzulegen und dabei zu erleben wie er sich Tag für Tag dabei immer mehr an mich kuschelt und in meinen Armen einschläft.
Tolles Wetter draußen hin oder her, seinen einjährigen Sohn in den Armen liegen zu haben, wie er sich völlig vertrauens- und liebenswürdig an mich drückt ist durch nichts zu schlagen.
Außerdem hatte ich dadurch auch immer wieder Zeit in Neil Gaiman's "Graveyard Book" zu lesen, das auch noch perfekt zur Stimmung gepasst hat.

So sind also schon drei der acht Wochen vergangen und ich weiß jetzt schon, dass es mir sehr schwer fallen wird, die Prioritäten wieder ein Stück von Noah weg verschieben zu müssen, sobald ich wieder arbeiten muss.
Bis dahin werde ich aber jede Sekunde dieser wunderbar magischen Zeit geniessen.


Goodspeed! You Black Emperor - Sleep

Das Lied beginnt mit der traurigsten gesprochenen Einleitung überhaupt. Ein alter Mann erzählt von Coney Island bzw der Version von Coney Island, die er als Kind/Jugendlicher erlebt hat.

Coney Island. They called Coney Island the playground of the world. There was no place like it. In the whole world. Like Coney Island when I was a youngster. [...] Anyways, let's see, what else? [...] they don't sleep anymore on the beach.

Und das Lied, ist nicht nur die musikgewordene Traurigkeit dieser Einleitung, sondern noch viel mehr. Es hat, wie nahezu alle GY!BE Lieder, eine unfassbare Kraft. Und trotz aller Traurigkeit auch Hoffnung. Oder Trotz? Oder auch nur eine unglaublich große Projektionsfläche?! Letztlich muss das jeder für sich entscheiden.

Für mich waren/sind GY!BE Einstieg in ein komplett neues Musikuniversum. Eher zufällig gefunden, im Veranstaltungskalender des Frankfurter Mousonturm, könnte ich mich heute noch schwarz ärgern, dass ich damals (2000? 2001?) nicht zum Konzert gegangen bin. Denn es war ihre letzte Tour durch Deutschland (und Europa?!).
Seitdem sind sie mehr oder weniger getrennt und haben außer im letzten Jahr, in dem sie einige wenige Konzerte, wie z.B. beim legendären und großartigen ATP Festival, gespielt haben, keinen neuen Output geliefert.
UPDATE: Stimmt nicht. Dieses Jahr spielen sie wieder auf dem ATP Festival.

Anyways: Sleep ist einer der größten Songs aller Zeiten für mich. Wir haben soviel zusammen erlebt, wir zwei. Ganze Nächte durch Frankfurt laufen. Alles schläft nur Benjamin läuft mit des alten Manne Stimme im Ohr durch die Stadt. Schaurig schön.


Reading: Why Does Software Cost So Much

The book by Tom DeMarco with the subtitle "and other puzzles of the information age" is a collection of essays, some of which hadn't been published prior to this book.

I must admit, I fell victim to the sensational title. I was aware, that the book is from 1995, but I thought Tom DeMarco (of whom I haven't read any other book yet) was some kind of quality-guarantue, and one can't do anything wrong when reading any of his works.
Boy, was I mistaken. Guess what his answer to the books title question is?! The professionals in the software world were simply too good in the past, and almost always over-performed and fulfilled unreasonably high expectations and requirements.
So what should we do in the future? Tell our customers to relax and point them to our great achievements of the past, while also telling them that we all should really get more realistic about expectations and costs.
All very solid advice.

The book even has a tutorial on "Desktop Video". You know, the kind where you record your computer's graphic output on VCR so you don't have to handle with Overhead Projectors anymore.

Yes, it was my own fault, to have bought and read this book.

Conclusion

A very outdated book, that demonstrates very clearly that not all writing is for eternity.