Winzinger_vorgestellt!In diesem Interview dreht sich alles um Ralph Winzinger, einer der beiden Autoren des Buches „Node.js“, das gerade erschienen ist! Freuen Sie sich auf einen ganz persönlichen Beitrag von und mit ihm.

 

Sie haben gerade gemeinsam mit Robert Prediger Ihr Buch Node.js veröffentlicht. Wie fühlt sich das an?

Sehr gut, natürlich! Ein Buch zu schreiben ist rückblickend schon nicht gerade wenig Arbeit und wenn es dann gegen Ende ganz konkret Formen annimmt, dann merkt man langsam, dass man es geschafft hat. Selbst die ersten Rohentwürfe, in denen sich schon widerspiegelt, wie das Buch einmal aussehen wird, fühlen sich schon gut an. Und wenn dann überraschend Post vom Verlag im Briefkasten ist und man zum ersten Mal das Buch wirklich in Händen halten und durchblättern kann; großartig. Man würde es ja eigentlich gerne sofort lesen, aber nach ein paar Seiten merkt man, dass man doch schon alles kennt 😉

Und wahrscheinlich fühlt es sich auch für die eine oder andere Person im näheren Umfeld ganz gut an.

 

Warum liegt Ihnen das Thema am Herzen?

Nun ja, der Rechner auf dem ich gerade tippe kann meiner Erinnerung nach über 200 Millionen Instruktionen pro Sekunde ausführen. Und das ist ein Notebook, kein auf Performance getrimmter Server. Wenn ich mir hin und wieder ansehe, wie viel Hardware manchen Applikationen zur Verfügung steht und welche Antwortzeiten den Benutzern trotzdem noch zugemutet werden, dann würde ich sagen, dass die vorhandenen Ressourcen oftmals ganz und gar nicht effizient ausgelastet werden. Deshalb üben hoch skalierbare Systeme eine gewisse Faszination auf mich aus – was wird da anders gemacht, um den Durchsatz de facto um ein Vielfaches zu steigern? Node.js geht da mit seinem – mehr oder weniger – Single-Thread-Ansatz einen ganz extremen Weg und gehörte zu den ersten Systemen, die in diesem Umfeld vergleichsweise populär geworden sind. Auch die Entwicklung von serverseitigen Anwendungen mit einer für die Clientseite bekannten Sprache birgt ein gewisses Spannungsfeld in sich, die das ganze Node.js Umfeld für mich interessant macht.

 

Wie haben das Buch gemeinsam geschrieben; wie sind Sie dabei vorgegangen?

Write. Commit. Push. Repeat. Wir kommen aus der Softwareentwicklung und verteiltes Arbeiten heißt für uns, Quellcode in ein Versionskontrollsystem einzubringen und die einzelnen Arbeitsergebnisse dann in einer gesonderten Umgebung zu integrieren. Wir haben uns entschlossen, mit Markdown zu arbeiten, da die Stärken von Word sicherlich nicht im Bereich des kollaborativen Arbeitens zu finden sind. Die Kapitel bis zur Ebene zwei waren jeweils in einer eigenen Markdown-Datei hinterlegt. Nachdem Markdown ein rein Text-basiertes Format ist, hätten wir sogar problemlos gleichzeitig am selben Kapitel arbeiten können und unser Git-System hätte uns bei Bedarf geholfen, eventuelle Konflikte aufzulösen. Natürlich hatten wir aber die einzelnen inhaltlichen Bereiche sowieso untereinander aufgeteilt, sodass gar kein wildes Durcheinander entstehen konnte. Sobald einer von uns irgendeine noch so kleine Änderung ins System eingespielt hatte, wurde im Hintergrund sofort ein neues PDF mit den kompletten Inhalten generiert.

 

Was hat Ihnen an diesem Schreibprozess besonders gefallen und was würden Sie das nächste Mal anders machen?

Die völlige Unabhängigkeit bezüglich Ort und Zeit, aber trotzdem das Gefühl zu haben, miteinander an einem Buch zu arbeiten. Der Fortschritt des Partners war auch immer auf meinem Rechner zu sehen und umgekehrt. So hat man auch immer den subtilen Druck, etwas tun zu müssen – weil man ja sieht, dass die anderen auch am gemeinsamen Projekt arbeiten. Und manchmal ist diese Peer-Pressure nicht das Schlimmste, was einem passieren kann. Obwohl wir uns regelmäßig in Hangouts getroffen haben und hin und wieder auch „physikalisch“, würde ich hier bei den Verbesserungen ansetzen: Der Hangout-Jourfixe würde beim nächsten Mal von Anfang an wöchentlich stattfinden und auch die Face-to-Face-Treffen würde ich nach Möglichkeit regelmäßiger planen. Und wahrscheinlich würde ich mir noch ein Konstrukt aus der Software borgen. Dort ist es nicht unüblich, dass Code erst dann im Repository landet, wenn er von einer zweiten Person geprüft wurde. Was zuerst wie ein Hindernis anmutet, ist aber gegen Ende eine riesige Erleichterung, weil dann die Qualitätssicherung schon getan ist. Und gerade wenn mehrere Autoren zusammenarbeiten, sollte man diesen Aspekt nicht unterschätzen. Selbst wenn jeder für sich gut arbeitet, heißt das noch lange nicht, dass die Schreibstile zusammenpassen und ein schlüssiges Gesamtbild ergeben.

 

Haben Sie schon eine neue Buchidee oder schreiben Sie bereits an einem neuen Buch?

Wie wäre es mit „Bücher schreiben für Anfänger“? Spaß beiseite – es gibt in unserer Branche fortwährend Neues zu entdecken und vieles davon trägt das Potential in sich, ein Buch darüber zu schreiben. Aber es ist natürlich schwierig, die richtige Kombination aus „ich bin tief im Thema“, „das Thema ist noch und bis auf Weiteres heiß“ und „ich habe Zeit und Lust darüber zu schreiben“ zu treffen. Ich schreibe an sich gerne und wenn sich ein neues Lieblingsthema findet, dann kann es gut sein, dass ich wieder aktiv werde. Natürlich gibt es auch schon wieder eine Technologie, der ich zurzeit viel Aufmerksamkeit schenke und für die es meines Wissens noch keine oder zumindest nur wenig Literatur gibt. Aber ich bin noch nicht so weit, dass ich schon die erste Mindmap angelegt hätte …