Freitag, 28. März 2008

Artikel in japanischem Software Design Magazin

Artikel in japanischem Software Design Magazin

Jorge Mare macht uns aufmerksam auf einen Haiku Artikel in der Aprilausgabe der japanischen "Software Design", eine Zeitschrift, die früher auch schon über BeOS und später Zeta berichtet hat.

Bart Eisenberg stellt zu Beginn seines Artikels das Projekt Haiku vor; dass es 2001 als "OpenBeOS" von Michael Phipps gestartet wurde und 2003 in Haiku umbenannt wurde, um rechtlich nicht angreifbar zu sein.

Jorge selbst stellt die am meisten gestellte Frage zu Haiku: „Warum“? Wer ein offenes System will hat Linux. Für Anwenderfreundlichkeit gibt’s MacOS. Wer ein großes Softwaresortiment braucht, greift zu Windows. Ähnliches, bemerkt er jedoch, hätte man auch in den 90ern fragen können, als Linus Torvalds’ Linux auf der Bühne erschien. Die Zukunft einer Technologie bleibt unvorhersagbar.
BeOS ist auf einem Pentium III mit 256MB RAM äußerst fix. Leider läuft es auf modernen Rechner nicht oder nutzt deren Potential nicht zur Gänze. Und an dieser Stelle kommt Haiku ins Spiel. Obwohl sich Linux bereits recht gut im Markt für Ultra Mobile PCs (UMPCs) etabliert hat, könnte dies eine ideale Nische für Haiku sein. Im Gegensatz zu BeOS ist Haiku zudem noch mehr POSIX-kompatibel. Portierungen von (GNU/Linux) Programmen werden dadurch sehr erleichtert.
Andere Nischen sind die bereits von BeOS angezielten Multimediabereiche der Audio/Video Echtzeitbearbeitung. Jorge gibt allerdings zu Bedenken, dass die zwischenzeitliche Weiterentwicklung anderer Betriebssysteme und immer schneller werdende Rechner die Situation seit den BeOS Tagen verändert hat.

Als nächstes geht der Artikel ausführlich auf die Geschichte von BeOS ein. Beginnend bei der Gründung der Firma Be durch Jean Louis Gassée, der ersten BeBox, die Schwierigkeiten um die PPC Clones, den Beinahekauf durch Apple und dem anschließenden Wechsel zu x86 CPUs als das nicht klappte. Dann der Börsengang 1999 und der Absturz zwei Jahre später, der mit dem Verkauf an Palm für schlappe 11 Millionen Dollar endete.

Auch Haikus Rückschläge werden erwähnt. Wie von der Vorstellung Abschied genommen werden musste, dass die erste Alphaversion bereits wenige Jahre nach dem Start des Projekts fertig würde, wie Michael Phipps es in einem Wall Street Journal Interview 2003 voraussagte. Im September 2007 trat Michael dann als Projektleiter zurück. Bei seinem Abschied gab er dem Projekt noch einige Ratschläge mit auf den Weg: Man hüte sich vor „Featurismus“. Obwohl es langweiliger ist, sollten erst Bugs beseitigt und die Performance optimiert werden um eine stabile Version 1.0 herauszubringen. Danach sei genug Zeit coole Ideen auszuprobieren. Außerdem ist er der Meinung, Haiku brauche eine entscheidungsstarke Führung, da ein Management das ständig nach einem Konsens sucht nicht funktioniert könne. Bei allem sei jedoch der gegenseitige Respekt sehr wichtig.

Als nächstes kommt Bryan Varner zu Wort, der die OpenJDK Portierung leitet. Für ihn sind Betriebssysteme Werkzeuge die dem Anwender dienen sollen, nicht umgekehrt. Windows ist ihm ständig im Weg, Mac OS X nur auf Äußerlichkeiten bedacht und die gesamt GNU/Linux Welt irgendwie schrottig.
Haiku hingegen, sei simpel, reaktionsschnell und funktioniert einfach. Programmierer verwöhnt es durch seine verständliche, umfassende und modulare moderne API.
Ein Problem von Open Source Projekten ist natürlich die Abhängigkeit von der Freizeit der Entwickler. Die Unterstützung durch kommerzielle Unternehmen, die in der Lage sind Programmierer zu bezahlen, kann dieses ständige Auf und Ab ausgleichen.

Dane Scott kam mit der Version R3 zu BeOS und hat mit TuneTracker Systems ein kleines Unternehmen gegründet, dass sich auf BeOS Technologie verlässt. Er entwickelt Automatisierungssoftware durch die Radiostationen ihr Programm ohne ständige Aufsicht in den Äther bzw. Internet schicken können. Eine Demonstration der Technik ist BeOSRadio, das seit eh und je in 4 Streams Musik von, für und um BeOS und seine User sendet.
Dane ist begeistert von BeOS’ Stabilität und ruckelfreier Medienwiedergabe. Schon 2002 hat er TuneTracker Master-CDs auf einem 400MHz System mit nur 64MB RAM gebrannt auf dem gleichzeitig BeOSRadio gesendet wurde. Kein Ruckler, keine verbrannten Rohlinge.
Kein Wunder dass auch Dane gespannt auf Haiku wartet.

Dann folgt ein Interview mit Axel Dörfler: „Wenn ich noch mal von vorn beginnen müsste…“.
Axel ist praktisch Haikus Ansprechpartner für technische Fragen. Vier Monate nachdem das Projekt aus der Taufe gehoben wurde, kam Axel im Dezember 2001 dazu. Er leitet die Kernel Entwicklung und hat von allen Beteiligten den meisten Code beigesteuert. Seine Arbeit am Kernel basiert auf NewOS, das von Travis Geiselbrecht, Ex Be-Mitarbeiter, entwickelt wurde. Mit einem Hintergrund in Computerlinguistik und künstlicher Intelligenz arbeitet er als Berater für die Firma Mindwork, die ebenfalls an Haikus Entwicklung interessiert ist. Folgendes Interview wurde telefonisch von seiner Heimatstadt Hannover aus geführt.

Wie kamst Du zu Haiku?
Ich war lange Zeit BeOS User. Ich wurde da eher durch einen Zufall hineingezogen. Ich hatte einen Festplattenausfall und benötigte ein Tool um die Daten zu retten. Nachdem es so eine Software nicht gab, endete es damit, dass ich für dieses Tool das Be File System (BFS) für Haiku implementierte. So kam eins zum anderen und ich fand mich schließlich für den Kernel verantwortlich wieder.

Warum glaubst Du brauchen wir ein BeOS binär-kompatibles OS?
Wenn ich heute alles von vorn machen müsste, würde ich’s wahrscheinlich nicht noch mal anfangen. Obwohl es Linux weit gebracht hat, fiele mir eine tägliche Nutzung aber immer noch schwer. Selbst heute würde ich meine veraltete BeOS Installation nicht gegen eine aktuelle Linuxdistro tauschen. Wie damals ist BeOS auch heute noch flott, reaktionsschnell und anwenderfreundlich; es ist einfach, elegant und verständlich. Hätte ich damals gewusst wie aufwändig es ist ein Betriebssystem von Null an zu entwickeln… ich hätte es gelassen. Aber damals erschien es nicht dermaßen kompliziert.
nd schon fast paranoid darüber nachdenken was irgendwie schiefgehen könnte.

Programmierst Du in C++?
Meistens. Ein bisschen C, meistens C++ und etwas Assembler, wo es sich einfach nicht vermeiden lässt. Wenn man direkt die Hardware ansprechen will, führt kein Weg dran vorbei. Im Projektserver liegen mind. 5-6 Millionen Zeilen Code, ein großer Teil allerdings auch in Form der GNU Tools. Wir haben den nötigen "Userland" Code als Umgebung für Anwendungen und dazu die üblichen Shell Kommandos, die auf Haiku portiert wurden. Das stellt einen nicht kleinen Teil dieser Millionen Codezeilen dar.
Während ich also erfuhr, dass das Programmieren eines Betriebssystems schwieriger ist als ursprünglich vermutet, lernte ich viel über die Entwicklung von Hardware Treibern und sehr systemnahen Code. Und dass es sogar auf Kernel-Level sehr auf die richtigen Algorithmen ankommt.

Das Interesse an der Haikuentwicklung scheint sich von den USA nach Europa verlagert zu haben. Hast Du eine Ahnung warum?
Es fing in den USA an, weil der Gründer Amerikaner war. Das Interesse ebbte jedoch ab, weil die Leute anderes zu tun hatten -- wie den Lebensunterhalt zu verdienen. Europäische Entwickler waren von Anfang an interessiert. Von ihnen blieben über die Jahre einfach eine größere Zahl übrig. Daher das europäische Übergewicht.

Warum glaubst Du sind die Europäer eher bereit ihre Zeit zu investieren?
Schwer zu sagen. Bei mir ist Haiku die Erklärung, warum mein Studium sich so lang hinzog. Das trifft nicht auf alle Entwickler zu, aber bei mir verschlingt Haiku große Teile meiner Freizeit.

Wird Dir Deine Erfahrung beim Kernel-Programmieren beruflich was bringen?
Ich arbeite größtenteils als freier Mitarbeiter bei der deutschen Firma Mindwork, die Interesse an Haiku hat. Ich entwickle Treiber als Teil meines Jobs. Ohne meine Arbeit an Haiku hätte ich diesen Auftrag gar nicht. Mindwork Produkt stellt Nachrichten, Werbung und anderes auf großen Bildschirmen in Einkaufszentren dar. Die Inhalte werden dabei mehr oder weniger live aus dem Internet gezogen. Momentan nutzt Mindwork dazu BeOS, ein Wechsel zu Haiku ist aber geplant sobald das möglich ist.

Kann uns das Haiku Projekt irgendwas über die Open Source Entwicklung in der Vergangenheit und deren Perspektive für die Zukunft sagen?
Open Source Projekte können untereinander konkurrieren. Nicht, dass das für Haiku in den nächsten Jahren das Ziel wäre, aber irgendwann könnte es dazu kommen. Und, für jemanden der ein Unternehmen hat, kann es Sinn machen jemand einzustellen um an einem Open Source Projekt zu arbeiten.
So, wie es bei Dir der Fall ist?
Genau. Das ist schön, weil durch diese Investition nicht nur für das Unternehmen was rumkommt, sondern für alle anderen auch. Nicht immer im Interesse des Unternehmens, aber meist kein Problem.

Haiku ist ohne Open Source zu sein kaum vorstellbar.
Es wäre einfach unmöglich es kommerziell zu tun. Denk an all die Betriebssystem, die kommerziell nicht mehr unterstützt werden. Nicht nur BeOS, sondern auch GEOS, CP/M und OS/2. Bist Du kein Microsoft oder Apple kann ein Projekt wie Haiku nur als Open Source angegangen werden. Und es ist schön, dass so viele Leute helfen wollen -- es ist wirklich sehr viel Arbeit, ein Riesenprojekt.

Wie viele sind momentan damit beschäftigt?
20 oder 25 aktive Programmierer. Nicht alle arbeiten jeden Tag oder auch nur jeden Monat dran, aber sie arbeiten kontinuierlich an etwas. Kürzlich hatten wir einige Neuzugänge. Einige kannten uns vom Google Summer of Code Event. Alle paar Monate kommt wieder jemand neues dazu und bringt sich ein.

Haiku Podcast #13

Sikosis hat seinen 13. Haiku Podcast (mp3, 12mb) veröffentlicht. Als Gast wieder mit dabei, ist Dennis d’Entremont "TheNerd" von Haikuware. Themen sind Zebuntu, Haikuware Bounties, ein Haiku Status Update u.v.a.m.
Alle Links befinden sich auf der Haiku Podcast Website.

3ivx De/Encoder

David McPaul hat die aktuelle Version den 3ivx MPEG-4 ASP Video De/Encoder auf BeOS portiert. Das Paket ist offiziell von der 3ivx Website herunterzuladen. Es beinhaltet:

  • einen 3ivx.decoder und 3ivx.encoder um MPEG-4 ASP Video als AVI, MOV und MP4 erstellen/ansehen zu können (MP4 nur lesbar). (MPEG-4 ASP Videos lassen sich neben einem 3ivx Encoder auch mit XVID, DIVX und ähnlichen Encodern herstellen.)
  • einen experimentellen MP4.extractor und AAC.decoder um MP4-Dateien mit MPEG-4 ASP Video und AAC-Audio abspielen zu können.
  • einen experimentellen 3ivx_decoder für Haiku

Das ganze läuft u.U. auch unter Zeta, wurde dort allerdings nicht getestet.

Super Sache, insbesondere wegen der offiziellen Unterstützung von 3ivx Technologies Pty. Ltd! Was jetzt noch fehlt ist die Encodier-Unterstützung in Haikus Media Kit. Sobald die da ist, kann eine entsprechende Haiku Version veröffentlicht werden.

Montag, 24. März 2008

Nächster Thank You Award rückt näher

Wer Kandidaten für den nächsten Thank You Award hat, sollte diese zügig bei Haikuware melden. Am 1. April wird er nämlich wieder vergeben. Da ich die letzten Wochen offline war und mich erst im April wieder regelmäßig informieren kann, werde ich diesmal keine Vorschläge machen können.
Dabei war ich doch das letzte Mal so erfolgreich mit der Nominierung von Steffen Friedle... :)

Neuer Bootscreen


Ähnlich wie schon BeOS besitzt Haiku seit kurzem einen einen Bootscreen, der durch Aufleuchten unterschiedlicher Symbole den Bootprozess illustriert. Er sieht nicht nur sehr elegant aus, sondern teilt einem auch mit wo's hakt, falls das Hochfahren nicht klappt. Aber vor allem verkürzt er subjektiv die Wartezeit bis das System bereit ist.
Der nötige Code dafür stammt von Artur Wyszynski (aljen) und wurde nur in Kleinigkeiten von Stephan Aßmus angepasst und eingespielt.

Samstag, 22. März 2008

BeBook und Be Newsletter online

Vor fast einem Jahr wurde Kontakt mit ACCESS, dem Rechteinhaber von BeOS, aufgenommen, um BeOS Dokumentation veröffentlichen zu dürfen. Nun kann endlich vermeldet werden, dass das BeBook (Dokumentation der API) und die Be Newsletter online zur Verfügung stehen. Besonderer Dank geht an David "Lefty" Schlesinger von ACCESS, der sich persönlich der Sache annahm und Simon Kennedy, der alles schön formatierte.
Ein großer Schatz, besonders für Programmierer die neu zu Haiku kommen. Und Veteranen können in Erinnerungen schwelgen wenn sie einen Newsletter von 1998 lesen... ("it represents 600 MHz of screaming silicon for just over $2,500")

Google Summer of Code (GSoC) 2008

Auch dieses Jahr wird Haiku wieder beim "Google Summer of Code" als Mentor Projekt mit dabei sein. Dabei sponsert Google die Arbeit an vielen Open Source Projekte. Das waren 2007 immerhin 900 Leute, die sich insgesamt 4,5 Mio. Dollar teilten!
Haiku erhielt damals die Förderung für 8 Studenten, die ihre Arbeit sehr erfolgreich abschließen konnten. Wieviele Studenten diesmal an Haiku arbeiten können steht noch nicht fest. Interessierte Programmierer können sich Infos zur Bewerbung holen und sich bei evtl. Fragen an den Haiku GSoC Administrator Bruno Albuquerque wenden. Eile ist geboten: Bewerbungen können nur vom 24. bis 31. März 2008 eingereicht werden!
Die Erfahrung zeigt, dass die erfolgreichsten GSoC Projekte von den jeweiligen Studenten selber kamen. Es gibt jedoch auch eine Liste möglicher GSoC Ideen:

Anwendungen

  • Erweiterung des Netzwerk Einstellungen - Unterstützung verschiedener Profile, Integration von mehr Einstellung (PPP, Vorbereitung von WiFi).
  • Bluetooth Einstellungen - zum Konfigurieren des Bluetooth Stacks, der gerade von Oliver Ruiz Dorantes entwickelt wird.
Treiber
  • DVD-RAM Unterstützung - lesend/schreibend wie mit einer Festplatte; ebenfalls möglich: Mount Rainier Unterstützung, die ähnliches für CD/DVD-RW bietet.
  • ExpressCard Unterstützung inkl. hot-plugging
  • USB OHCI Unterstützung fertigstellen - viel Code ist bereits vorhanden, bestehende UHCI/EHCI-Implementation kann als Beispiel dienen.
Kernel
  • Kernel als Userland Prozess - ein virtueller Userland Kernel, der auch auf einem anderen OS wie Linux oder BeOS läuft würde bei der Kernel Entwicklung und Optimierung helfen.
  • Dateisystem Erweiterungs-Architektur - Dateisysteme könnten transparent mit Features wie BeOS' Attributen und Queries, Schreibunterstützung oder Verschlüsselung erweitert werden.
Media
  • Encodier-Unterstützung im MediaKit - z.Zt. wird nur Decoding unterstützt, es soll eine API entwickelt werden, die modernen Anforderungen (z.B. B-Frames) erfüllt.
  • DV Medianode - Input/Output über den neuen Firewire Stack, incl. hot-plugging und Anbindung an die Media Kit API.
Netzwerk
  • ICMP Fehlerbehandlung in den IPv4, TCP und UDP Protokollen
  • Integration von PPP - PPP-Port zum neuen Network Stack, Modem-Unterstützung inkl. HDLC Framing und VJC Kompression, CHAP Anmeldeverfahren.
  • ZeroConf/Bonjour Unterstützung - z.B. Portierung von Apple's Bonjour Implementation oder Avahi (Apple scheint kompatibler zur MIT Lizenz zu sein).
  • WiFi Unterstützung (umfangreiche Aufgabe)
  • IPv6 Unterstützung (umfangreiche Aufgabe)
User Interface
  • Optimierungen im app_server
  • Subpixel Anti-Aliasing beim Fontrendering - dazu muss man das Anti-Grain Geometry Backend verstehen. Richtig implementiert könnte das Subpixel Anti-Aliasing bei allen Vektorgrafiken, die der app_server zeichnet genutzt werden.
  • Multimonitor Unterstützung
  • 3D Hardwarebeschleunigung - Entwicklung oder Prtierung einer 3D Treiberschnittstelle (s. Gallium3D Projekt). Ebenfalls möglich: eine Kompatibilitätsschicht um Linux 3D Treiber Binaries benutzen zu können.
Anderes
  • Erweiterung der automatisierten Unit Tests - Portierung eines vollständigen POSIX Test-Frameworks
  • Portierung von SAMBA inkl. Konfigurierungstools
  • Hilfe beim CUPS Port - Ithamar Adema könnte Hilfe beim Port und der Integration in Haikus Print Kit gebrauchen.

Dienstag, 18. März 2008

Haiku bei LugRadio

Haiku wird in Kürze auf einer weiteren Veranstaltung präsent sein: LugRadio Live USA 2008 am 12./13. April in San Francisco.
Mit etwa 30 Vorträgen, darunter von bekannten Leuten wie Miguel de Icaza und Ian Murdock, über 20 Ausstellern und diversen Workshops, sowie die Live-Aufnahme von LugRadio vor Publikum, soll die Atmosphäre ein Mix aus Rockkonzert und Computermesse sein. Bestimmt ein Riesenspaß! Wer den günstigen EUR/Dollarkurs nutzen und mal kurz rüber-jetten will ( :) ), findet in Haikus Conference Bereich alle nötigen Infos.

Donnerstag, 6. März 2008

Die Chemnitzer Linux Tage

Stephan Aßmus berichtet von seinen Erfahrungen bei den Chemnitzer Linux Tagen vom 1./2. März. Das Treffen hat sich in den 10 Jahren seines Bestehens von einer Linux Install Party zu einem allgemeinen Open Source Event gemausert. Ein idealer Ort Haiku zu zeigen.

Um optimal gerüstet zu sein, investierte Stephan in ein neues Notebook, das bekanntermaßen gut unter Haiku läuft: ein Lenovo/IBM T60. Obwohl Haiku nur im VESA Mode läuft, ist es verdammt schnell. Das Netzwerk funktioniert mit dem ipro1000 Treiber ebenfalls reibungslos. Stephans bisheriger Rechner war, wahrscheinlich durch die RTL8139 Netzwerkkarte, relativ instabil. Obwohl beide Treiber die FreeBSD-Kompatibilitätsschicht verwenden, rennt der Intel-Treiber durch den ordentlichen Interrupt-Handler offenbar viel besser.

Leider hat Stephan vergessen eine Haikuversion von "Mindwork Clockwerk" als Demo auf seinem Notebook zu installieren. Während er auf einen Anschlusszug wartete, führte er seine zuhause gebliebene Freundin per Telefon durch die nötigen Schritte ums zu kompilieren (um es später zuzumailen, schätz ich). Coole Freundin! :)

In Chemnitz wurde er schon von Denise, Daniel und Ralf empfangen. Gemeinsam machten sie sich auf den Weg zur Turnhalle, die, 20 Minuten Fußmarsch entfernt vom Konferenzort, als Übernachtung diente. Alles war super organisiert und für die Aussteller kostenlos; inklusive dem tollen Frühstück am nächsten Tag.

Der Haiku-Stand befand sich in guter Gesellschaft zwischen OpenBSD, NetBSD, FreeBSD und der Linux LiveCD Distribution GRML. Ralf hat einige Bilder dazu ins Web gestellt. Wie üblich bei diesen Veranstaltungen wurden bündelweise Kokis Haiku Flyer auf Deutsch und Englisch ausgelegt und verteilt.

Die Besucher waren alle recht gut informiert. Fast jeder hatte schon mal von BeOS gehört, einige sogar schon benutzt, z.T. als Haupt-OS für 1 oder 2 Jahre. Dadurch war es natürlich einfach die Leute anzusprechen, da man nur erklären musste dass Haiku die Open Source Implementation von BeOS ist. Die Reaktionen waren im allgemeinen sehr positiv. Fragen drehten sich in erster Linie um die aktuelle Treiber- und Hardwareunterstützung. Einige fragten ob es überhaupt irgendwelche Anwendungen gibt. Stephan zeigte ihnen daraufhin Firefox, Vision, Pe und Wonderbrush.
Stephan war selbst beeindruckt wie stabil Haiku bereits läuft. Morgens gestartet, lief Haiku bis zum Abend ohne Reboot! Und dabei wurde es die ganze Zeit über gefordert: Dauernd wurden Anwendungen gestartet (um die verdutzten Gesichter zu sehen, weil das so schnell geht :) ), Demos wurden in Wonderbrush und Clockwerk gegeben, Vision lief die ganze Zeit und Email wurde im Firefox gecheckt. Einmal gab's wohl eine kleine "Kernel Panic", die jedoch per "continue" ignoriert werden konnte. Respekt und großen Dank an alle Kernel Hacker, die das möglich gemacht haben!

Da das Intuos2 Grafiktablett, mit dem sich Denise mit Wonderbrush vergnügte, immer mal zwischen Daniels Linuxbox und der Haiku Demomaschine getauscht wurde, war das ein guter Test für Hot-Plugging. Wenn es mal längere Zeit nicht benutzt wurde, sprang es manchmal nicht mehr. Das ließ sich allerdings durch ein Aus- und Einstöpseln schnell beheben. Trotzdem eine kleine Macke die mal untersucht werden sollte.

Am Nachmittag kam dann ein interessanter Besucher für einige Zeit an den Haiku-Stand: Jörg Schilling, der Mann hinter "cdrecord". Er versprach, dass er cdrecord für Haiku auf Stand bringen wolle, falls es in seiner VirtualBox laufen würde. Zur Zeit arbeitet Jörg an verbesserter Blueray Unterstützung. Da er für mkisofs an einem Tool zum Sammeln von Dateien á là "find" arbeitet, wurden im Haikus Querysystem und die zugehörige Trackeroberfläche gezeigt. Er sah das große Potential dieses systemweiten Services, wunderte sich allerdings warum die Syntax nicht einfach "find" nachempfunden wurde.

Nachdem der letzte Besucher gegangen war, wurde am Samstag Abend dann das 10-jährige Jubiläum der Chemnitzer Linux Tage mit einem kostenlosen 5-Gänge Menü und Showeinlagen gefeiert. Das Motto "Innovation by Freedom" wurde kurzerhand zu "Innovation by Free Beer" geändert. Eine super Atmosphäre mit vielen interessanten Gesprächen forderte schließlich ihren Tribut: am Ende des Abends hatte sich Stephans Stimme verabschiedet...

Der nächste Tag verlief ähnlich wie zuvor. Ein interessantes Gespräch entwickelte sich mit Vertretern von linaccess, ein Projekt, dass Usern mit Behinderungen den Zugang zum Computer zu erleichtern will. Stephan erkannte, das es nur relativ geringer Änderungen im app_server bedürfte, um vielleicht 80% von sehbehinderten Usern mittels einer Vergrößerungsfunktion das Leben zu erleichtern.

Der Entwickler vom Platinum C++ Framework zeigte sich sehr interessiert und plant bereits einen Haiku-Port. Stephan konnte ihm die entsprechenden Header v.a. des Interface Kits gleich in Pe und Firefox zeigen.

Ab 15 Uhr machte sich Stephan dann auf den Weg, doch durch Emma, das gerade durchs Land marodierende Sturmtief, kam er erst mit großer Verspätung daheim an.
Nicht nur waren die Chemnitzer Linux Tage eine so tolle Erfahrung, dass Stephan auf alle Fälle nächstes Jahr wieder dabei sein wird, Haiku lief auch so phantastisch stabil, dass er wohl bald komplett auf Haiku umsteigen wird.

Montag, 3. März 2008

Haiku Activity Update #5

Simon Tyler gibt uns einen weiteren Überblick über Haikus Entwicklung vom 6.-25. Februar.

Die Highlights sind Fortschritte zum "Self-hosting" (Haiku unter Haiku kompilieren), ein neuer Kernel Allocator, der schneller und anpassungsfähiger ist, verbesserter VMWare Image Unterstützung im Buildsystem, automatische Syscall Restarts und wie immer eine Menge Bugfixe für höhere Stabilität und verbesserte Darstellung.
Michael Lotz vermeldet, dass er den gesamten Haiku Sourcecode per SVN herunterladen, kompilieren und das herauskommende Image in QEMU (mit kqemu) laufen lassen konnte. Und das alles unter Haiku! Das ist schon ganz nah am "Self-hosting". Unter anderem verhindern einige Bugs, die benutzten Speicher nicht mehr frei machen, dass alles in einer Sitzung ohne Reboot vonstatten gehen kann. Der Kompiler, flex und QEMU waren zudem noch BeOS R5 Versionen, die ebenfalls erst noch für Haiku kompiliert werden müssen.

Kernel
Im Kernel waren vor allem Axel Dörfler, Ingo Weinhold und Michael Lotz am werkeln. Dabei wurden u.a. Bugs beseitigt durch die Treiber und Bibliotheken doppelt eingeladen wurden, Anpassungen am Scheduler führten zu Geschwindigkeitssprüngen beim kompilieren von z.B. perl und ssh. Michael schuf einen schnelleren und anpassungsfähigen Kernel Allocator und stattete ihn mit zusätzlichen Debugging Funktionen aus. Axel begann mit einem Node Monitoring System für Treiber und devfs. Dadurch wird neue Hardware mal sehr schnell einsatzbereit sein, indem man einfach den entsprechenden Treiber in das zugehörige Verzeichnis kopiert.

Buildsystem
Dank Samuel Rodriguez Perez kann das Buildsystem jetzt von FreeBSD direkt auf eine Partition schreiben. Von Ingo stammt ein fast vollständiges Haiku Entwicklungs-Paket im Buildsystem. Zusammen mit Axel kam es zu Änderungen wodurch VMWare Images schneller erstellt werden können, indem nur die Änderungen beim Kompilieren berücksichtigt werden und die zusätzlichen Programme und Dateien nicht mehr angefasst werden.

Hardwareunterstützung
Multi-Track CDs können jetzt korrekt gemountet werden, z.B. auch die BeOS/Zeta Install-CDs. Oliver Ruiz Dorantes arbeitet im Rahmen einer Haikuware Bounty an einem Bluetooth Stack. Einige HW-Konfigurationen können jetzt erstmals booten, nachdem Marcus Overhagen den PCI Bus Manager entsprechend bearbeitet hat. Ein Intel ipro100 Netzwerk Treiber fand seinen Weg ins Repository.

Netzwerk
Durch Axels Arbeit können nun auch große Datenmengen über ein TCP Socket auf einmal gesendet werden. Außerdem wurde ein Bug beseitigt, der oft zu einem KDL ("Kernel Debugging Land") Absturz beim Beenden von Firefox führte. Die Network Stack Treiberfunktionen wurden um ein Syscall Restart erweitert.

Interface/app_server
Stephan Aßmus beschäftigte sich mit den Klassen BTextControl und BTextView. Im app_server aktivierte er Double-Buffering in 32bit VESA Modes, was einen erstaunlichen Geschwindigkeitsgewinn brachte. Zudem verbesserte er das Verstecken von Overlays wie den Mousecursor und beseitigte einige Bugs und doppelten Code. Rene Gollent ("Vision") entwickelte einen Patch für BListView der u.a. das Auslesen von Koordinaten einzelner Objekte beschleunigt. Durch Stefano Ceccherini kann nun ein TermView in andere Anwendungen eingebettet werden. Außerdem ist nun der Zeilenumbruch in BTextView schneller.

Translation Kit
PCX, EXR (ein offenes HDR Format) und RAW Translators kamen neu hinzu. Jerome packte gemeinsam benutzten Code in eine Shared Library und änderte alle vorhandenen Translators so ab, dass sie diese Bibliothek benutzen statt immer denselben Code zu vervielfachen.

Anderes
James Kim machte Christof Lutteroths Layout Model Haiku-kompatibel. Christof selbst hatte einige Änderungen an der Begrenzungs-Berechnung beizusteuern. Ithamar passte den print_server so an, dass z.B. USB Drucker automatisch erkannt werden können. Stefano spielte ein Update der Bash Shell zur Version 3.2 ein. Julun verbesserte die BString Implementation, die dadurch auch etwas schneller wurde. Alexandre Deckner patchte die Keymap Preferences, so dass sie nun weniger flackern.

News von der Mailing List
David McPaul hat es gemeinsam mit anderen geschafft nasm zu kompilieren. Im Rahmen eines freundlichen kleinen Flamewars zwischen emacs und vi Anhängern, hat man sich für Pe als Standard-Editor für Haiku entschieden.
Dann gab es da eine Diskussion welche Auswirkungen das Portieren von Widget Toolkits wie wxWidgets haben könnten. Auf der einen Seite bekommt man auf kurze Sicht schnell Portierungen vieler Programme. Die Kehrseite ist eine Verwässerung der Haiku Philosophie und Konsistenz. Auch könnte das Angebot an portierten Anwendungen die Entwicklung Haiku-spezifischer Software behindern.
Fredrik Holmqvist hat Firefox erfolgreich für ein mit gcc4-kompiliertes Haiku (im Gegensatz zum BeOS-kompatiblen gcc2.95) gebaut. Somit kommen nun auch alle mit dieser Konfiguration in den Genuss eines modernen Browsers; so wie schon länger alle anderen, die einfach einen BONE Firefox von BeBits benutzen.

News von der Entwickler Mailing List
Es wurde besprochen wie Portierung von Standard Tools wie perl und autoconf koordiniert werden könnten. Urias verwies dabei auf BePorts als passenden Ort dafür. Da Haiku eine bessere POSIX Kompatibilität als BeOS hat, sprach sich Axel dafür aus bereits existierende Ports durchzusehen, ob man auf etwaige numehr unnötige Behelfsmaßnahmen verzichten und so den Code vereinfachen kann.
Die Entwickler-Ecke der Webseite wurde aus Performance-Gründen auf einen anderen Server umgezogen. Dadurch kam ein Bug ans Tageslicht, der kurzzeitig das Kommentieren einzelner Tickets durch Normal-User verhinderte. Niels hat das schon repariert.
Gerald Zajac hat eine Treiber für S3 Grafikkarten der Trio und Virge Familie fertig gestellt.
Der Wunsch die Email Einstellungen direkt aus Mail heraus zu starten führte zu einer Diskussion wo generell der passende Ort für ein "Preferences..." Menü wäre. Ebenso für andere anwendungsbezogene Funktionen wie "About..." und "Quit". Ein eigenes "Application" Menü, evtl. repräsentiert durch ein Icon, wurde angedacht. Es fiel jedoch noch keine Entscheidung.

News von der Kernel Mailing List
Craig Magina hat sich auf der Liste vorgestellt. Er hat etwas freie Zeit und möchte dem Projekt helfen. Herzlich Willkommen!

Die Konferenzen vom Februar

Ich bin immer noch nicht online, aber ich konnte kurz einen Blick ins Web werfen, um übers Wochenende was zu schreiben. Also in Kürze:

SCaLE 6x war ein voller Erfolg, wie Koki berichtet. Jorge Mare, Bruno Albuquerque und Joe Bushong waren am 9. und 10. Februar in Los Angeles, um Haiku zu präsentieren. Der Stand war immer gut besucht, Koki und Joe gaben Demos was das Zeug hielt während Bruno mehr die technischen Fragen beantwortete. Bruno wurde zudem von "TheBadApples" interviewed (Podcast ab Minute 16:30).
Bruno wurde auch die Ehre zuteil als ein offizieller Gastredner zu sprechen. Mit etwa 40 Zuhörern war der Raum ziemlich ausgebucht. Am nächsten Tag gab es nochmal eine Gelegenheit für eine Präsentation. Da sie am Abend des Abreisetags war, war die Zuhörerzahl erwartungsgemäß recht klein: 6 Leute waren da. Trotzdem war es sehr erfolgreiche Demo, die durch das große Interesse der Anwesenden interaktiver war als vor großem Publikum. Erst als der Notebookakku leer war, weil Koki vergessen hat den Netzstecker einzustöpseln, kam man zum (abrupten) Ende.
Dass SCaLE für Haiku, wie schon im letzten Jahr, sehr erfolgreich war, zeigt sich am großen Medienecho von ARS Technica bis WIRED und zahlreichen internationalen Techniknews-Sites. Links dazu in Kokis Bericht , ganz unten "Post-conference media coverage").

FOSDEM in Brüssel war der zweite große Event im Februar. Vielleicht nicht so groß und professionell wie SCaLE, dafür geekier, was man so liest. François Revol, Rémi Grumeau und Niels Reedijk taten ihr bestes mit Flyern und Demos die Anwesenden über Haiku zu informieren. Es wurde öfters nach einer Live-CD gefragt; bis zur Alpha Release bleibt jedoch nur der Hinweis auf den Download eines Image. Später kam ihnen auch noch Olivier Coursière, Macher von BePascal, zu Hilfe. Wie man sieht ist auch Haikus französisch/benelux Entwickler-Szene hart am Ball!
Trotz aller Hektik kamen die Jungs sogar zum Programmieren. Niels konnte mittels jam den gcc kompilieren und im Image installieren. François bekam das Instant Messaging Kit unter Haiku zum Laufen und beseitigte einen Bug in seinem usb_webcam Addon.