Dienstag, 15. Januar 2008

Stephan Aßmus' BeGeistert 018 Eindrücke

Stephan Aßmus erzählt ausführlich von seinen Erfahrungen auf BeGeistert 018 bzw. vom einleitenden Coding Marathon. Aufgrund der Länge fasse ich hier etwas zusammen.

Seitdem sein Notebook gestohlen wurde, hat Stephan keinen Rechner mehr auf dem Haiku ohne Emulation per VMWare laufen will. Seit Änderungen am IDE Stack lief auch auf älteren Rechnern nichts mehr. Dazu kommt noch der nicht unterstützte USB-basierte KVM Umschalter, wodurch Maus und Tastatur ausfallen. In der Hoffnung, dass die zu BeGeistert erwarteten Entwickler helfen könnten, packte Stephan den ganzen Kram zusammen und schleppte ihn mit nach Düsseldorf.

Bei der Jugendherberge angekommen, traf er Ithamar Adema, Axel Dörfler, Michael Lotz und später Marcus Overhagen. Zur allgemeinen Verwunderung waren die Konferenzräume der renovierten Herberge immer noch eine große Baustelle. Es wurde improvisiert und ein Raum im Keller bezogen. Strom, Internet und genügend Platz, zumindest für die Teilnehmer des Coding Events, waren vorhanden. Diese Ironie! Seit Jahren wurde gemutmaßt, dass Axel sein enormes Pensum nur schafft, weil er irgendwo zur Arbeit in den Keller gesperrt ist…
Am Abend kamen noch Paolo Martino aus Italien und François Revol aus Frankreich an. Damit waren die Glorreichen Sieben komplett.
Am Dienstag ging Axel diverse Bugs an, Marcus begann die Arbeit an einem restrukturierten und vereinfachten IDE Stack und Ithamar versuchte seinem und Michael’s Laptop mittels HDA Treiber Töne zu entlocken. François beschäftigte sich mit unterschiedlichen Dingen, zumeist jedoch mit seinem m68k Port, während Stephan zusammen mit Michael das Problem mit dem USB KVM Umschalter anschauten.
Der Mittwoch verlief ziemlich ähnlich. Das Frühstücken wurde aufgegeben. Dafür wurde ein Wecker auf 11 Uhr gestellt, um nicht auch noch das Mittagessen zu verpassen…
Es war übrigens auch wunderbar zu sehen, wie die Tester draußen halfen veraltete Bugs aus dem Bugtracker zu entfernen oder wie neue Bugs gleich mit einem entsprechenden Lösungs-Patch geöffent wurden. Stefano Ceccherini steuerte Code bei, gerade so als wäre er mit dabei im Coder-Keller in Düsseldorf.

Am Donnerstag musste in den Korridor umgezogen werden, weil eine andere Gruppe den Raum benötigte…
Dann kam Andrea Anzani aus Italien an und machte sich gleich an Ryan Leavengood’s WebKit Port. Neben dem KVM Switch hackten Michael und Stephan auf den USB Stack und HID-Treiber ein. Dadurch funktioniert der HID-Treiber jetzt besser beim „hot-plugging“, also aus-/einstöpseln im Betrieb, und ist effizienter bei Tastenwiederholungen. Leider stürzt unter BeOS R5 und Zeta das Mouse Device Add-On des original Input Servers beim Entfernen einer USB-Maus ab. Unter Haiku funktioniert’s aber.
Überhaupt wurde der USB-Stack sehr verbessert, darunter EHCI Interrupt Transfer und USB 1.1 Interrupt Transfers über einen USB 2.0 Hub. Nicht nur können so 1.1 Geräte an einem 2.0 Hub betrieben werden, es ist auch nützlich für alle, die auf OHCI warten: Indem man einfach einen USB 2.0 Hub in die Gerätekette zwischenschaltet, arbeiten alle USB 1.1 Geräte über EHCI anstatt dem noch fehlenden OHCI.

Nachdem Ithamar bis auf ein paar ausgemerzte Bugs wenig Glück mit seinem HDA-Treiber auf seinem Laptop hatte, wandte er sich dem CUPS Port zu, an dem er im Rahmen einer Haikuware Bounty arbeitet. Da er auch schon für Zeta an einem CUPS Port gearbeitet hat, weiß er was zu tun ist und was diesmal besser gelöst werden kann. Dabei mussten einige Bugs auf Seiten Haikus gefixt werden, was ja auch sehr positiv ist.

François vergnügte sich mit seinem m68k Port und steuerte einige Anwendungen aus seinem enormen Fundus bei: sein ThemesManager und eine Login-Anwendung für zukünftige Multiuser Unterstützung. Er war es auch, der die Webcam per selbst-entwickelten Treiber für Zeta betrieb. Dafür erweiterte er Haiku’s Codycam um sFTP Uploads.

Axel verfolgte verschiedene Bugs. Um einen BFS-Fehler aufzuspüren, und weil er keinen seriellen Port in seinem neuen Notebook hat, erweiterte er die Debugging-Möglichkeiten im Kernel.

Donnerstagnacht integrierte Ingo seine lange erwarteten Optimierungen der Syscalls. Diese sind jetzt schneller als unter Zeta, etwa auf Höhe von Windows, aber immer noch fast dreimal langsamer als bei Linux. Ein anderer Test zeigt, dass Haiku etwa 80% langsamer als Zeta beim kompilieren von Software ist.

Zu diesem Zeitpunkt funktionierten Stephan’s Maus und Tastatur bereits am KVM Switch und nachdem Marcus hart am verbesserten IDE Manager gearbeitet hat, kam es nun zum ersten Test. Und tatsächlich, es funktionierte auf Anhieb! Keine Timeouts mehr bei Schreibzugriffen! Läuft zur Zeit zwar nur im PIO Modus, aber das ist beim Start von Anwendungen kaum zu spüren. Dank Michael und Marcus hat Stephan nun endlich wieder einen voll einsatzfähigen Entwicklungsrechner!

Am Freitag geschah dann noch etwas Unerwartetes: Gerrit Stratmann von Radio Deutschland Kultur nahm Kontakt auf, um ein kurzes Interview für die Sendung „Breitband“ zu machen. Während Axel und Stephan interviewet wurden, verloren die Batterien im Mikro soviel Saft, dass Axel’s Antworten im rauschen untergingen und das Interview am Sonntag wiederholt werden musste. Ein Glücksfall, da dann neben Axel auch noch Ingo und Michael befragt wurden.
Die Fragen waren gewissenhaft vorbereitet und Gerrit schien sehr gut über Haiku informiert zu sein. Anhand der Code-Commits wusste er sogar, wann der letzte gestern ins Bett gegangen ist…
Das Interview soll später auch auf der Webseite des Senders verfügbar sein.

Freitagnachmittag kamen dann nach und nach die BeGeistert Besucher an. Erster war Jérôme Duval mit Freundin. Jérôme machte sich sofort an die Arbeit und versuchte einen obskuren Bug in Haiku’s Audio Mixer aufzuspüren, der sich unter BeOS R5 zeigt.
Bas de Lange kam mit dem Fahrrad aus den Niederlanden! Er ist aktiv im Syllable Projekt und wurde zu BeGeistert eingeladen. Wie erwartet passte er perfekt zu BeGeistert. Haiku und Syllable haben viele Gemeinsamkeiten, woraus sich natürlich anregende Gespräche ergaben. Vielleicht kann man sich in Zukunft mit einem Besuch auf einer Syllable Veranstaltung revanchieren…

Charlie Clark, André Meissner und Ralf Schülke organisierten alles so gut es unter den beengten Umständen in der Herberge ging. Freitagabend war die Bude dann aber rappelvoll! Dies trug jedoch eher positiv zur Stimmung bei. 33 Leute haben sich angemeldet und nur Oliver Tappe (GCC, Pe, Beam) konnte leider nicht kommen und wurde vermisst.

Am Samstag standen einige Präsentationen auf dem Programm. Diese mussten zwischen den Mahlzeiten im Speiseraum abgehalten werden und waren daher leider recht knapp bemessen. Nach der traditionellen Ansprache von Charlie begann Stephan mit der Vorstellung von Mindwork, die Firma von Steffen Friedle, ein echter BeOS Veteran, für die Stephan, Axel und Ingo arbeiten. Durch ein kommerzielles Produkt wird hier Haiku Arbeit querfinanziert. Unter anderem entstanden dadurch schon diverse Treiber. Da Steffen, wie Ingo auch, ein großer Java Fan ist wird man bestimmt in Zukunft auch beim OpenJDK Port aktiv werden.
Mindwork’s Produkt ist ein Content Management System mit Medien Bearbeitungs- und Wiedergabemöglichkeiten wie sie als „Info Screens“ an öffentlichen Plätzen eingesetzt werden. Die Software besteht aus mehreren Komponenten. Ein Java-basierter Server verwaltet die verschiedenen Medien und Wiedergabekonfigurationen. Der Rest läuft auf BeOS/Haiku und reicht von Kommandozeilenprogrammen zu ausgewachsenen Medienverarbeitungs- und Wiedergabe-Anwendungen. Diese Bearbeitungssoftware ist für den Haiku User wohl am interessantesten, da diese zu eigenständigen Audio/Video Editoren entwickelt werden können. Dazu ist es nicht mehr weit hin; es fehlen lediglich Features wie schicke Überblendeffekte und Filter.

Nach dieser Präsentation stellte Jan Team Maui’s interessantes CD-Brenn Projekt vor. Jan ist Autor des leistungsfähigen YAB (Yet Another Basic). Das Backend ist das übliche cdrecord bzw. cdrtools. Team Maui’s Umsetzung wird jedoch eine C++ Klasse sein, die den Umgang mit cdrecord so abstrahiert, dass er einfach in jede BeOS/Haiku Anwendung eingebaut werden kann. Als Beweis der Machbarkeit wird es als erstes ein Tracker Add-On geben, das Attribute und Queries benutzt, um Dateisammlungen, die bereits auf CD gebrannt wurden abzuspeichern.
Jan verkündete auch, dass der Sourcecode von JABA, Zeta’s gebundelter Brennsoftware, von dessen Entwickler an Team Maui gespendet wurde und zu einem späteren Zeitpunkt veröffentlicht wird.

Es folgte Bas de Lange’s Präsentation von Syllable und einigen mitgelieferten Anwendungen, darunter eine Email Anwendung, CD-Brenner und IRC Client. Syllable lief dabei recht sauber und stabil. Es befindet sich in einem ähnlichen Stadium wie Haiku; hat die Nase hier und da wahrscheinlich etwas vorn.

Der Rest des Samstags verlief wie bei BeGeistert üblich mit angeregten Gesprächen zwischen allen Besuchern. Stephan wollte einem französischen Besucher ein Haiku USB Packet auf dessen Notebook installieren. Mit Hilfe von Ithamar and Rémi und einer bootbaren BeOS CD konnte das System gerade noch in einen benutzbaren Zustand zurückgebracht werden… :)
Ingo, der ja auch keinen Laptop mehr hat, tat sich abwechselnd mit Axel und Michael zusammen. Durch Ingo’s Anregungen erwies sich das als recht produktiv: „Probier dies. Jetzt probier das. Hopp, Hopp!“

Die Haiku Präsentation am Sonntagmorgen sollte absichtlich als letztes auf dem Programm stehen, um den Entwicklern die Möglichkeit zu geben, dem System noch den bestmöglichen Feinschliff zu verpassen. Peinlicherweise war das System keines einzien Entwicklers in einem vorzeigbaren Zustand. Der IDE Stack bei Stephan und der Runtime Loader auf Michael's Notebook waren gerade noch heftig in der Entwicklung durch die Arbeiten der letzten Nacht.
François versuchte noch etwas Zeit zu verschaffen, indem er seine Arbeit in der letzten Woche vorstellte. Durch Schlafmangel geschwächt war aber nicht viel zu machen und die letzte Hoffnung war Rémi's Laptop, der einen relativ aktuellen Haiku Stand installiert hatte.
Nachdem aber jeder schon Haiku auf irgendwelchen Maschinen bei diesem BeGeistert laufen sah, war die Präsentation sowieso nicht so spannend und es wurden daher mehr die Erfolge der vergangenen Coding Woche gezeigt. Natürlich bekamen Michael's Arbeit am USB Stack und Marcus' Erfolge mit dem IDE Bus Manager von Stephan eine besondere Erwähnung.

Als die Zahl der Besucher langsam kleiner wurde sammelte Niels Reedijk (Haiku API Dokumentation und Haiku-Inc-Reorganisations-Teammitglied) für ein Überraschungsgeschenk für Michael Phipps, den kürzlich ausgeschiedenen Projektgründer.

Kurz vor dem Mittagessen fand das bereits erwähnte Wiederholungs-Interview durch Gerrit Stratmann statt. Axel, Ingo und Michael beeindruckten durch ihre Professionalität und ihre klaren und eleganten Ausführungen. Lustig wurde es als Axel die unvermeidliche Frage nach dem ersten Release beantwortete: Es sei jetzt nur noch eine Frage von Wochen, nicht mehr Jahren. Da sackten Ingo’s und Michael’s Kinnladen leicht… Später zur Rede gestellt, verteidigte sich Axel, dass „12 Wochen“ immer noch „Wochen“ seien. Worauf Ingo und Michael entgegneten, dass es zwischen „Jahren“ und „Wochen“ ja auch noch „Monate“ gäbe. Er hätte genauso gut von „Sekunden“ sprechen können… Auf alle Fälle spiegelt es den Optimismus zum gegenwärtigen Status von Haiku wieder. Die erste Alpha Release ist wohl weiter als ein paar Wochen entfernt, aber definitiv in Reichweite.
BeGeistert und der Coding Marathon haben dem Haiku Projekt mit Sicherheit einen positiven Schub verliehen. Auch nach der eigentlichen Veranstaltung gingen immer noch viele Code Commits ein und bei allen scheint ein produktiver Optimismus vorzuherrschen.

1 Kommentar:

  1. Stargater hat auf der italienischen Haiku User Group ein Video (MP4, 23mb, leider ohne Ton) von Mindwork's Medienanwendung gefunden.
    Danke für die Info, Stargater!

    AntwortenLöschen