Mittwoch, 30. Juli 2008

Benchmarks für Networking Stack

Oliver Tappe (zooey) hat den Haiku Networking Stack unter die Lupe genommen und die Geschwindigkeit vor und nach einigen kleinen Änderungen mit anderen Betriebssystemen verglichen.

Dazu testete er das Localhost Interface mittels:

netperf -f M -t UDP_STREAM -- -m 32768 -s 65500,65500 -S 65500,65500

netperf -f M -t TCP_STREAM -- -m 32768 -s 65500,65500 -S 65500,65500

netperf -t UDP_RR

netperf -t TCP_RR


Operating System

UDP_STREAM

[MB/s]

TCP_STREAM

[MB/s]

UDP_RR

[req/s]

TCP_RR

[req/s]

Ubuntu (VM)

88

52

7549

7379

Zeta (VM)

send: 182

recv: 42

109

3256

3256

OpenSolaris (VM)

send: 567

recv: 49

195

2295

2653

Haiku (VM) vorher

2

29

1510

911

Haiku (VM) nachher

send: 64

recv: 4

65

1730

1636






openSUSE (native)

737

576

41932

32091

Haiku (native) vorher

2

127

15898

12216

Haiku (native) nachher

send: 65

recv: 41

117

15745

11976


Wie die Ergebnisse zeigen, konnte die UDP Performance durch relativ kleine Änderungen beträchtlich gesteigert werden.

Oliver erklärt die großen Unterschiede zwischen send und recv mit dem Design des Localhost Interface: Der Sender- und Receiver-Thread blockieren sich oft gegenseitig. Größere Receive-Puffer könnten diese Situation lösen. Oliver wollte jedoch den Test nicht dahingehend manipulieren; es ist eigentlich nicht wichtig und wie man sieht ist das bei anderen Systemen ähnlich.

Hier die Ergebnisse, bei denen statt des Localhost ein Linux Server über ein Gigabit-LAN (nforce Chipsatz) angesprochen wurde:


Operating System

UDP_STREAM

[MB/s]

TCP_STREAM

[MB/s]

UDP_RR

[req/s]

TCP_RR

[req/s]

openSUSE

113

111

211

9714

Haiku

38

40

595

632


Und hier ein realitätsnahes Beispiel bei der Übertragung einer 520MB Datei per FTP:


Operating System

FTP get

[MB/s]

FTP put

[MB/s]

openSUSE

51

48

Haiku

35

34


Aus den Ergebnissen kommt Oliver zu dem Schluss, dass Haikus Netzwerkgeschwindigkeit zwar beiweiten noch nicht perfekt, aber immerhin soweit akzeptabel ist, dass er sich anderen Aufgaben zuwenden kann.

Marcus Overhagen vermutet, dass sich auch Haikus momentan suboptimal arbeitender Scheduler negativ auf die Netzwerkperformance auswirkt. Der Scheduler, der die verfügbare CPU-Kapazität möglichst effektiv unter die wartenden Programm-Threads verteilen soll, wird seit längerem von GSoC-2007-Student Andre Braga überarbeitet. Hoffentlich sehen wir bald die Früchte seiner Arbeit und damit weitere Geschwindigkeitssteigerungen.


Montag, 28. Juli 2008

Abstimmung zum 6. Thank You Award

Zum sechsten Mal wird bei Haikuware der Thank You Award vergeben. Zur Wahl stehen diesmal:

  1. Stephan Aßmus, für seine Arbeit an MediaPlayer und InterfaceKit (Maus Messages liefen unbearbeitet auf) und seine beispielhafte Arbeit als GSoC Mentor, bei der er seinen Schützling inspiriert, unterstützt und auch öfters mal einen Statusbericht liefert. Außerdem war er in den letzten zwei Monaten an Disk Managment API und DriveSetup tätig.
  2. Niels Reedijk, dafür dass er den Bugtracker am Laufen hält und insbesondere für den kürzlichen Umzug der Trac Konten.
  3. Ryan Leavengood, für seinen Layout System Artikel (auch um ihn für die nächsten Teile zu motivieren). Diese Artikel helfen anderen qualitativ hochwertige Software zu schaffen.
Bis zum 1. August kann abgestimmt werden.

Sonntag, 27. Juli 2008

Spendentrupps - "Donating Squads"

Nach dem sehr erfolgreichen Haiku Code Drive, der innerhalb 2 Wochen über $7.000 an Spenden einsammeln konnte, kam mir eine Idee, die ich auf der Haiku Mailingliste vorgestellt habe.

Es besteht die Möglichkeit via PayPal monatlich einen festen Betrag von $5, $10 oder $20 zu spenden. Ich vermute jedoch, dass diese Möglichkeit kaum genutzt wird. Das Problem könnte psychologischer Natur sein.

Während es sich die meisten von uns locker leisten könnten Haiku mit $20 pro Monat zu unterstützen (das sind z.Zt. ca. 13 EUR, also etwa 0,65 EUR pro Werktag), tuts keiner. Man denkt: „Was können meine paar lumpigen Kröten schon bewirken?“. Ehrlich gesagt, nicht viel. Wenn man jedoch sieht, dass man nicht allein ist und mehr Leute mitmachen, kommt insgesamt ganz schön was zusammen.

Daher nun meine Idee zu „Donating Squads“ („Spendentrupps“). Ich werden $20/Monat spenden, sobald sich weitere 4 Personen finden, die ebenfalls eine automatische monatliche Spende machen (egal in welcher Höhe, der Betrag muss nicht genannt werden). Ist der erste 5er Trupp vollständig besetzt, fühlen sich hoffentlich noch viele andere motiviert weitere 5er Squads zu starten.

Im Haiku Forum habe ich ein entsprechendes Thema zur Organisation gestartet.

Würde mich freuen, wenn auch einige Gazette Leser mitmachen.

Samstag, 26. Juli 2008

BeOS/Zeta/Haiku bei POFACS

Wie Mario Heide bei der DeBUG ankündigt, wird POFACS mit einer Podcast-Reihe über BeOS/Zeta/Haiku beginnen.

POFACS ist der "Podcast für alternative Computersysteme". Die Reihe startet am 08.08.08 mit einer Sendung in der es erstmal ausschließlich um BeOS gehen soll. Ums nicht zu verpassen, sollte man sich schonmal den RSS-Feed abonnieren.
Gast im Studio wird BeGeistert-Mitorganisator André Meissner sein, der uns bestimmt einige Anekdoten aus den Anfangsjahren und der Entwicklung dieser legendären BeOS Treffen erzählen kann. Fragen und Anregungen für die Sendung werden sehr gerne unter der Kontaktadresse auf der POFACS.de Seite angenommen.

Bluetooth Pairing

Oliver Dorantes macht weiter Fortschritte bei der Bluetooth Unterstützung.
Dank einiger Code Patches von Monni ist es nun soweit, dass er sein Handy "pairen" kann, d.h. der Rechner wurde nach einer PIN-Eingabe und dem Austausch einer Verschlüsselung als vertrauenswürdig erkannt und eine Verbindung aufgebaut.

Freitag, 25. Juli 2008

GSoC Update: Subpixel-Rendering

Andrej Spielmann hat einen weiteren Meilenstein bei seinem Google Summer of Code Projekt erreicht.

Nun werden auch transformierte Texte und alle Vektorgrafiken auf Wunsch subpixel-genau dargestellt. Wie schon bei untransformiertem Text, kann auch hier das Verhältnis von einfachem Antialiasing zu Subpixel-Rendering eingestellt werden. Diese Einstellung soll als nächstes aus den Font Preferences in das Appearance Panel wandern.

Im Gegensatz zur Textdarstellung erscheinen die Unterschiede verschiedener Einstellungen bei Vektorgrafiken jedoch relativ klein, wie Andrej selbst zu den beiden Screenshots schreibt.

Haiku Inc. Finanzbericht von 2007

Endlich ist auch der Finanzbericht 2007 von Haiku Inc. einsehbar.

Haiku Inc. ist der non-profit Bereich, der (für Amerikaner steuerbefreite) Spenden einsammelt und verwaltet. Früher hat das Michael Phipps gemacht, jetzt kümmert sich das „Übergangs Kommitee“. Wer dort genau mitmacht, konnte ich auf die schnelle nicht rausfinden... auf alle Fälle aber mal Stephan Aßmus und Jorge Mare.

ETA: ...ahhh, jetzt hab ich auch den entsprechenden Gazette Artikel gefunden... :)
Mit Stephan hab ich mich wohl vertan. Ich zitiere:

Haiku’s iBOD besteht aus:
  • Axel Dörfler, Präsident
  • Ryan Leavengood, Schatzmeister
  • Bruno G. Albuquerque, Geschäftskontakte
  • Jorge G. Mare, Marketing
Weitere Helfer sind Urias McCullough, Bryan Varner und Phil Greenway (Sikosis), ebenso die ehemaligen Admins Jonathan Yoder (DarkWyrm) und Tyler Akidau.

Haiku unter Windows kompilieren

Nach einigen Anstrengungen von MauriceK und Julun ist es nun möglich Haiku auch mittels Cygwin unter Windows zu kompilieren. Wie’s geht, zeigen die beiden in einer ausführlichen Anleitung. Alles recht technisch, darum spar ich mir eine Übersetzung...
Es sei noch gesagt, dass mit diesem Verfahren nur Images erzeugt werden, also keine Partitionen mit Haiku initialisiert bzw. upgedatet werden können.

Code_Swarm Animation

Fredrik Holmqvist (TQH) hat ein interessantes Tool, Code_Swarm, gefunden, das die Softwareentwicklung eines Projekts eindrucksvoll visualisiert. Jede Änderung im Sourcecode wird durch verschiedenfarbige Punkte bzw Kreise dargestellt, die sich um den entsprechenden Autor sammeln. Daraus lässt sich ein Video erstellen, wie Fredrik das hier für das Haiku Projekt gemacht hat.

Es beginnt direkt nach dem Umzug zu SVN im Januar 2004 und geht bis r26538. Das ganze dauert knapp 5 Minuten.

Schön lassen sich die Entwicklungsschübe und der Input neuer Devs erkennen (teilweise erinnert es an massive Weltraumschlachten á là Battlestar Galactica :) ). Nostalgisch kann man werden, sieht man Namen längst weitergezogener Entwickler…

Das herunterladen der HD-Version (162mb) lohnt sich, sofern man die Bandbreite hat, erfordert jedoch eine Registrierung. Ich konnte das Video allerdings bereits runterladen ohne die Email-Verifikation zu bestätigen.

Bericht vom RMLL 2008

Ist zwar schon ein bisschen her, trotzdem möchte ich François’ Berichte (Tag 1/2 und Tag 2/3/4) von der RMLL Konferenz, die vom 1. - 5. Juli in Mont de Marsan stattfand nicht unterschlagen.
François Revol und Olivier Coursière demonstrierten Haiku auf einem kleinen Stand (Fotos) und stellten sich den Fragen der Interessierten. Ein guter Einstieg waren die vertrauten Icons, die viele als BeOeSk erkannten. Natürlich versuchten die beiden auch selbst möglichst viele Stände und Präsentationen zu besuchen und bekamen dabei reichlich Gelegenheit zu interessanten Gesprächen. Dabei traf François u.a. den Chefportierer von OpenOffice für MacOS, mit dem er Kontakt wegen eines zukünftigen Haiku Ports halten will. Außerdem konnte er mit Entwicklern von Firefox und WebKit fachsimpeln.
Neben dieser wichtigen Kontaktpflege, die Haiku in das Bewusstsein anderer Opensource Projekte bringt, konnte François noch ein Interview geben (das aber bisher anscheinend noch nirgends veröffentlicht wurde). Der Haiku-Stand ist allerdings auf einem Video von FreenewsTV zu sehen, die alle Aussteller besuchten.
Am Freitag hatte François dann seine Haiku Präsentation, die recht gut besucht war. Obwohl er sich viele Notizen bei einem Linux 2.6 Kernel Vortrag gemacht hat, um zu zeigen welche Features auch bei Haiku, teilweise schon seit BeOS-Zeiten, vorhanden sind, entschloss er sich Haiku zuerst etwas allgemeiner vorzustellen. Auf die meisten Haiku-Entsprechungen der neuen Linux-Features kam er jedoch später noch zu sprechen. Abschließend zeigte er seine Fortschritte beim m68k Port, indem er den bootloader in ARAnyM unter Ubuntu startete.
Am Samstag witzelte er in der Fragestunde nach FreeSoftware Verfechter Richard Stallmans Vorstellung der GPLv3, dass Haiku eigentlich GNU/Haiku heißen müsste. Später konnte er dann mit Stallman persönlich sprechen, überreichte einen Haiku Flyer und unterhielt sich über Haikus MIT Lizenz. Es gibt wohl eine ganze Reihe unterschiedlicher Versionen; eine Sache, der François bei Gelegenheit nachgehen will.

Mittwoch, 16. Juli 2008

Haiku auf LinuxWorld Expo 2008

Haiku wird auf der LinuxWorld Expo 2008 vom 5. - 7. August in San Francisco ausstellen. Zwar nicht im .Org Pavillion, dafür zusammen mit dem ReactOS Projekt auf einem gemeinsamen Stand. Geplant ist Haiku auf zwei oder mehr PCs toujour an allen drei Tagen vorzuführen. Dabei soll auch wieder ein Projektor mit Leinwand zum Einsatz kommen. Außerdem werden natürlich wieder Flyer verteilt und, sofern gestattet, T-Shirts zur Füllung der Projektkasse verkauft.
LinuxWorld ist ein recht großes Ding, bedeutender als alle früheren Veranstaltungen an denen Haiku teilnahm. Mehr als 10.000 Leute werden erwartet und auch die anderen Aussteller sind zahlreich und "großkalibrig". Die Berichterstattung durch die Medien wird entsprechend umfangreich. Eine gute Gelegenheit also für Haiku etwas Aufmerksamkeit auf sich zu lenken.
Alle Infos, Kontaktmöglichkeiten für evtl. Reservierungen etc. finden sich in Haikus Veranstaltungskalender.

Dienstag, 15. Juli 2008

Haiku Podcast #15

Sikosis und TheNerd Dennis d’Entremont sind zum 15. Mal mit ihrem Haiku Podcast auf Sendung. Wieder fassen sie die Haiku relevanten Ereignisse der letzten Wochen zusammen. Themen sind u.a.:

  • Fortschritte auf dem Weg zu Haiku Alpha 1
  • Eine neue HUG: Evanston aus Chicago
  • Der Haiku Code Drive 2008
  • Codebounties zu Flashplayer und Dokumentation
  • Anwendungen des Monats: Firefox und Jukebox

Layout Manager Tutorial, Teil 1

Ein Layout Manager dient zum einen dazu das Platzieren von GUI-Elementen bei der Entwicklung einer Anwendung zu vereinfachen. Da nicht jedes Element pixelgenau ins Fenster gesetzt werden muss, sondern nur relativ zu den übrigen Elementen, spart das Arbeit und später dazu kommende Elemente können sehr schnell eingefügt werden.
Ein weiterer Vorteil ist die Unabhängigkeit von der verwendeten Schriftgröße. Die GUI wächst und schrumpft praktisch mit. Dies ist auch für eine zukünftige Lokalisierung des Systems wichtig, da beschreibende Texte in verschiedenen Sprachen unterschiedlich lang sind.

Das BeOS besaß von Hause aus kein Layout System. Daher kamen unterschiedliche Systeme Dritter (liblayout, Santa's Gift Bag und ARPCommon library) zum Einsatz, die aber untereinander nicht kompatibel waren.
Haiku macht das einzig richtige und bringt einen Layout Manager als offiziellen Teil der API.
Es sei an dieser Stelle darauf hingewiesen, dass der Layout Manager z.Zt. noch eine private API ist, sie sich also jederzeit noch ändern kann! Dadurch würden die ihn benutzenden Programme nicht mehr funktionieren. Wer außerhalb von Haiku damit experimentieren möchte sollte sich darüber klar sein. Die von Haiku mitgelieferten Anwendungen werden bei Änderungen einfach mit angepasst.

Der Code befindet sich seit August 2006 in Haikus Repository. Ingo Weinhold, der ihn zum großen Teil entwickelt hat, ließ sich dabei vom QLayout der Qt Bibliothek inspirieren. Durch Christof Lutteroth und James Kim kam im Februar 2008 noch eine weitere Layout Methode dazu, das Auckland Layout Model (ALM), das Christof an der University of Auckland, Neuseeland, entwickelt hat.

Ryan Leavengood erklärt im 1. Teil des Layout Manager Tutorials das grundsätzliche Prinzip anhand Haikus MidiPlayer. In folgenden Teilen möchte er weiter in die Tiefe gehen und u.U. die oben genannte ALM Methode genauer vorstellen.

Montag, 14. Juli 2008

GSoC Status: Subpixel Fontrendering

Beim Google Summer of Code ist gerade Halbzeit. Pünktlich kann uns Andrej Spielmann und sein Mentor Stephan Aßmus den ersten Meilenstein beim Subpixel Fontrendering präsentieren.

Andrej begann mit Subpixel Antialiasing für untransformierten Text, also praktisch allen Text, der einem im System so unter kommt; von GUI-Elementen bis zum Text in Editor und Browser.
Die Unterschiede sind klein, aber fein.

Wer genauer wissen will, wie Subpixel-Rendering funktioniert, kann Wikipedia befragen. Oder diese Seite (engl.).

Ein Nachteil dieser Methode ist das Auftreten mehr oder weniger störender farbiger Ränder um Buchstaben. Um diese zu kaschieren, lässt man üblicherweise einen Filter über die Subpixel laufen. Dies läuft natürlich dem angestrebten Ziel eines schärferen Schriftbilds entgegen.

Stephan Aßmus hatte deshalb die Idee die beiden Methoden, traditionelles Graustufen-Antialiasing und Subpixel-Antialiasing, konfigurierbar zu mischen. So kann jeder die für ihn optimale Darstellung einstellen, bei einem hochauflösenden LCD also z.B. weiter hin zum Subpixel-Rendering.

Stephan hat dazu einige Screenshots gemacht:

  1. Normales Graustufen-Antialiasing
  2. Andrejs Version eines Anti-Farbrand-Filters
  3. Stephans Version eines Graustufen/Subpixel Filters (32/68%)
  4. Stephans Version eines Graustufen/Subpixel Filters (40/60%)
Wie gesagt, die Unterschiede sind fein...
Stephan hätte gerne Feedback, was den Leuten besser gefällt und warum.

Was das GSoC Projekt angeht, soll sobald beim untransformierten Text alles klappt, das Subpixel-Rendering auch für alle Vektorgrafiken (darunter auch Icons) implementiert werden.

ext2/3 unter Haiku

Seit letzter Woche kann Haiku ext2/3 Dateisysteme lesen. Ein entsprechendes Add-On stammt von Axel Dörfler. Irgendwann folgt bestimmt auch eine Erweiterung für den Schreibzugriff. Bis dahin ist der Lesezugriff aber auf alle Fälle sehr nützlich.

BeGeistert 019 angekündigt

Die 19. Ausgabe des BeGeistert Treffens wird am Wochenende vom 10. - 12. Oktober 2008 wie gehabt in der Jugendherberge in Düsseldorf stattfinden. Diesmal dürften die Sanierungsarbeiten wohl tatsächlich abgeschlossen sein... :)

Reservierungen können erst voraussichtlich im August gemacht werden. Schon jetzt befindet sich auf der BeGeistert Webseite eine Kontaktadresse unter der sich zur Koordinierung alle wenden sollten, die einen Workshop oder Vortrag halten oder ihr Projekt vorstellen wollen.