Freitag, 28. Mai 2010

17. Thank You Award Abstimmung

Es kann wieder mal abgestimmt werden wer sich durch sein Engagement für Haiku in den letzten zwei Monaten ein besonderes Dankeschön verdient hat. Wer die meisten Stimmen erhält, bekommt außerdem ein Haiku T-Shirt. Die Kandidaten sind diesmal:

  • Pier Luigi Fiorini - Für den IM Port Caya.
  • Ithamar R. Adema - Für seine Arbeit an der Drucker Infrastruktur.
  • Grzegorz Dabrowski "kaliber" - Für den Port von KDE Anwendungen wie KOffice.
  • Jerôme Duval - Für seine fortwährende Arbeit an Audio Treibern und mehr.
  • Stefano Ceccherini - Für seine Arbeit an Terminal und BMenu.
  • Niels Reedijk - Für seine Administrator- und Dokumentationsarbeit.
  • Adrien Destugues - Für das Locale Kit.
  • Alexandre Deckner - Für die Verbesserungen im Tracker.
  • Oliver Tappe - Für seine Sysadmin Arbeit.

Dienstag, 25. Mai 2010

C++ Kurs, Lektion 19

Die 19. Folge im C++ Kurs beschäftigt sich mit einem besonders nützlichen Haiku Konzept, dem Translation Kit. Mit ihm können ohne besondere Vorkehrungen alle Grafikformate benutzt werden, für die ein sogenannter "Translator" installiert ist. Dieser übernimmt die Übersetzung zu/aus dem jeweiligen Format, das Programm selbst arbeitet nur mit BBitmaps. Die eigentlichen Daten können sich in einer eigenen Datei oder, wie im Beispielprogramm "Emo" dieser Folge, als Resource in der Programmdatei selbst befinden. Eine Resource kann jede Art von Daten aufnehmen, die dann anhand ihres Typs, Namens und einer individuellen ID unterschieden werden. "Emo" zeigt wie fünf kleine Smiley PNGs aus der in die Emo-Binärdatei kompilierte Resource ausgelesen und nacheinander in einem Fenster dargestellt werden. Per Mausklick wechseln die Smiley Grafiken.

Alle Lektionen des Kurses sind in DarkWyrm's Library nachzulesen.

Mittwoch, 19. Mai 2010

Podcasts und Interviews

Es gibt einige interessante Interviews und Podcasts über Haiku.
Als erstes wäre da das Interview mit Artur Wyszynski. Darin berichtet er über den aktuellen Stand und zukünftige Pläne zu OpenGL unter Haiku und geht auf die Rollen von Gallium3D und Linux DRM Treiber ein. Der 62.
Techview Podcast hat einen Test von Haiku R1 Alpha 2 zu bieten. Der Video-Podcast wiegt allerdings stattliche 600 mb...
Den zweiten Video-Podcast gibt es glücklicherweise auch als Audiodatei, was hier eigentlich auch reicht, weil es sich um ein reines Interview handelt. Im 120. FLOSS Weekly befragen Randal Schwartz und Aaron Siego die beiden Haiku Enthusiasten bzw. Entwickler Ryan Leavengood und Niels Reedijk eine Stunde lang zu Haiku.

C++ Kurs, Lektion 18

Die 18. Lektion beginnt mit einem Überblick zu den auf der großen BView Klasse aufsetzenden GUI Objekten, von BAlert und BPictureButton zu BSlider und BTextView. Weiter geht es mit den verschiedenen Möglichkeiten zum Typecasting unter C++, bei dem die Daten einer Variablen in einen anderen Typ gewandelt werden. Das Beispielprogramm dieser Lektion zeigt den Umgang mit BListView in einem scrollview: Aus einer Liste kann der Text ausgewählt werden, der als Fenstertitel erscheint, ein Button führt einen Reset des Titels aus.

Alle Lektionen des Kurses sind in DarkWyrm's Library nachzulesen.

Donnerstag, 13. Mai 2010

C++ Kurs, Lektion 17

In Lektion 17 wird anhand eines einfachen Programms gezeigt, wie Menüs erzeugt werden; im Beispiel wird die Farbe eines Rechtecks geändert. Das Rechteck ist ein BView der mit der Funktion AddChild() dem BWindow hinzugefügt wird. Auf gleiche Weise wird die BMenuBar montiert, die per AddItem() mit einem Menü bestückt wurde, was seinerseits mittels AddItem() einige Farben als Menüpunkte erhält. Jeder Menüpunkt schickt bei seiner Anwahl eine BMessage, die in der MessageReceived() Funktion des Fensters ausgewertet wird, um per SetViewColor() die Farbe des Rechteck-BViews entsprechend zu ändern.

Alle Lektionen des Kurses sind in DarkWyrm's Library nachzulesen.

Und zum Abschluss noch eine gute Nachricht: DarkWyrm hat seine Coding-Pause beendet und sich als aktiver Programmierer beim Haiku Projekt zurück gemeldet. Willkommen zurück!

Haiku R1 Alpha 2 ist da!

Nach fast 8 Monaten wurde heute eine weitere offizielle Alpha-Version von Haiku veröffentlicht! Die zweite Alpha soll Entwicklern eine noch stabilere und Feature-reiche Plattform bieten, um an ihren Projekten zu arbeiten und natürlich profitieren davon auch alle Endanwender. Zur Installation steht Haiku R1 Alpha 2 in verschiedenen Formaten zum Download bereit. Als klassisches ISO zum Brennen auf CD, als VM- Image zum Betrieb in virtuellen Maschinen wie VMWare oder VirtualBox und als Anyboot-Image. Das Anyboot-Image kann auf CD gebrannt oder auf einen USB-Stick (mittels dd) geschrieben werden.
Die zweite Alpha hat neben einer Menge Bugfixe einige neue Features, aber auch noch ein paar bekannte Probleme. In den Release Notes wird alles aufgezählt:

Neue Features

  • WebPositive ist der sich in Entwicklung befindliche auf WebKit basierende Browser.
  • WLAN-Unterstützung mittels FreeBSD 8 Kompatibilitätsschicht. Firmware, die aus Lizenzgründen nicht mitgeliefert werden darf, kann mit dem install-wifi-firmwares.sh Skript installiert werden. Das experimentelle setwep erlaubt WEP-Verschlüsselung.
  • Message Signaled Interrupts (MSI) als Zwischenlösung für richtiges IRQ-Routing.
  • Es wurde ein Bug im Netzwerk Code beseitigt, der dazu führen konnte, dass Webseiten nicht komplett geladen wurden.
  • Partitioniert man eine Platte, wird von DriveSetup ein kleiner Bootloader in den Master Boot Record (MBR) geschrieben, der die aktive Partition startet.
  • Das LocaleKit dient zur Internationalisierung von Programmen.
  • Übersetzungen vom User Guide und anderer Dokumentation.
  • Weniger Locking führt zu verbesserten Compile-Zeiten.
  • Verbesserungen im Kernel und Virtual Memory System.
  • Verbesserte Schriftdarstellung durch 'Hinting' in FreeType.
  • Updates für mitgelieferte Softwarepakete, v.a. bash 2.x -> 4.x.
  • Mit dem Skript installoptionalpackage lassen sich die meisten Haiku Optional Packages nachinstallieren; eine Zwischenlösung bis zum richtigen Paketmanager auf PackageFS-Basis.
  • Stark verbesserte USB-Massenspeicher Performance durch eine bessere Page-Mapping-Strategie.
  • ACPI ist standardmäßig aktiviert.
  • Bessere HDA Sound-Unterstützung bei Nvidia Chipsätzen.
  • Funktionierendes UDF Dateisystem.
  • Weiter verbesserte POSIX Kompatibilität.
  • API/ABI Änderungen:
  • BJoystick - Fix für BeOS Kompatibilität
  • GCC 4 ABI Änderungen wodurch Anwendungen ggf. neu kompiliert werden müssen
  • Einführung der Versionierung von Bibliotheken Haiku GCC4 kann nun direkt unter einem 64bit Linux kompiliert werden. GCC2 benötigt immer noch linux32.
  • Neuer Imagetyp 'anyboot' kann direkt wie ein ISO auf CD gebrannt oder auf ein USB Gerät geschrieben werden. Einige Brennsoftware, die 'intelligent' sein möchte produziert u.U. nicht funktionierende CDs.
  • Haikus Internet Infrastruktur wurde Dank vieler Spender aufgebohrt.

Fehlende Features

  • Für WLAN wird noch keine WPA Verschlüsselung unterstützt, nur WEP.
  • Es gibt noch kein Paket-Management.
  • Der Haiku Boot Manager (bootman) unterstützt nur Systeme mit nur einer Festplatte.
  • USB Tastaturen an OHCI oder USB 2.0 Hubs funktionieren nicht im Kernel Debugging Land (KDL). Dazu müssen sie müssen an UHCI Ports hängen. Wenn der Kernel Debugger durch eine 'Panic' aufgerufen wird, kann es passieren, dass die Tastatur nicht funktioniert. Das kann umgangen werden, indem man das KDL eigenständig einmal betritt und wieder verlässt.
  • Es existiert noch kein Font-Overlay. Wählt man bei der Installation eine Sprache mit Schriftzeichen aus, die der Standardfont nicht unterstützt (z.B. Japanisch), wird deshalb der lokalisierte Text unlesbar. Die Installation führt man in diesem Fall momentan am besten auf Englisch durch.

Bekannte Probleme

  • LiveCD und Performance beim ersten Hochfahren: Direkt nach der Installation bzw. wenn man die LiveCD benutzt, laufen anfangs einige Hintergrundprozesse, die solange sie ausgeführt werden das System ausbremsen. Bei beschreibbaren Medien findet das nur einmal statt, gerade bei den langsamen CDs aber bei jedem Booten.
  • Die Schriftdarstellung konnte wegen dem ausgelaufenen Softwarepatent zum 'Hinting' bereits verbessert werden. Anderer noch patentierter Code, insbesondere das Subpixel-Rendering, ist weiterhin deaktiviert bis die Rechtslage klarer ist.
  • Haikus ACPI Unterstützung kann bei mancher Hardware Probleme machen. ACPI kann im Menü "Safe Mode Options" vom Boot Loader deaktiviert werden.
  • Während es die IRQ-Routing Situation verbessert, kann es durch das erst kürzlich eingeführte MSI zu Problemen bei mancher Hardware kommen.
  • Kopiert man viele Daten von schnellen auf langsamere Medien (z.B. auf USB-Sticks), kann das System anfangen Speicher auszulagern.
  • Es wurde berichtet, dass der Haiku Boot Loader bei mancher Hardware hängt.
  • Die begonnene Lokalisierung ist noch ziemlich experimentell. Einige Programme sind nur teilweise übersetzt und es kann zu Problemen mit langen Zeichenketten in den Übersetzungen kommen. Die Locale Preferences funktionieren noch nicht allzu gut.
  • Im Sprachmenü vom User Guide erscheint statt der ukrainischen die britische Flagge.

Source Code

Der Source Code von Haiku, den Buildtools und den Optional Packages (sofern open-source) gibt es als Download.

Bug Berichte

Haikus Bugtracker zählt momentan über 1500 offene und mehr als 4000 erledigte Tickets. Wer einen Bug melden möchte, sollte zuerst suchen ob es dazu nicht schon einen Bericht gibt, und ansonsten ein neues Ticket eröffnen.
Weitere Infos gibt es auf der Welcome Seite, die auch auf dem Desktop verlinkt ist, und auf der Haiku Webseite.