Samstag, 18. September 2010

Neues von Stack & Tile und MediaPlayer

Obwohl die ganze Zeit heftig an Haiku gearbeitet wird, sind es oft kleine oder große Baustellen in den Tiefen des Systems. Meistens bekommt der normale Benutzer die Änderungen kaum mit, außer plötzlich funktioniert irgendwas auf einmal oder vorübergehend auch nicht mehr...

Zwei kürzlich in den Nightly Images aufgetauchte Sachen dürften aber sofort auffallen. Im Rahmen seiner Auftragsarbeit hat sich Stippi nicht nur dem MediaKit gewidmet und zahlreiche vertrackte Bugs in Kit und ffmpeg Backend beseitigt. Als Resultat lassen sich jetzt mehr Formate als je zuvor abgespielen und problemlos spulen.
Auch die MediaPlayer Oberfläche wurde runderneuert und nutzt jetzt Standardelemente der Haiku API wie Regler und Buttons:



Stippis Auftrag läuft noch etwas; mal sehen was für coole Sachen wir noch sehen werden.

Die zweite Neuigkeit ist im Grunde genommen eigentlich gar keine: Stack & Tile ist eine Erweiterung des Fenstermanagements. Ursprünglich an der Universität von Auckland in Neuseeland entwickelt, hat sich Clemens Zeidler daran gemacht dieses System in Haiku zu integrieren. Weil es vorher fest im app_server verdrahtet war, musste man sich ein spezielles Haiku Image selber basteln.

Neben Verbesserungen und Bugfixe bestand ein großer Teil von Clemens' Aufgabe darin, diese feste Verdrahtung aufzulösen und aus dem Ganzen einen normalen Decorator zu machen. Im Gegensatz zu den anderen Decoratoren, ändert dieser allerdings nicht das Aussehen der Oberfläche, sondern deren Verhalten.
Coole Sache mit interessanten Möglichkeiten für die Zukunft! Wer sich nicht mit einem unscharfen YouTube Video zufrieden gibt, kann sich einfach eines der letzten Nightly Images runterladen und die Sache selbst ausprobieren. Dazu muss man nur im Terminal setdecor SATDecorator eingeben, und schon kann es losgehen. (Neben dem SATDecorator und Haikus "Default" existieren noch einige weitere: ClassicBe, MacDecorator und WinDecorator. Die sind aber eher als Testimplementierungen zu sehen.)

Um Stack & Tile zu nutzen, hält man die OPT (=WIN) Taste gedrückt während man ein Fenster entweder am Rahmen eines anderen ausrichtet oder die Titelreiter übereinanderlegt. Greift das Stack & Tile, färben sich Rahmen/Reiter rot und beim Loslassen rastet das Fenster ein. Ab jetzt lassen sich die Fenster gemeinsam bewegen und in der Größe verändern. Auflösen lassen sich so
kombinierte Fenster wieder, indem man bei gedrückter OPT-Taste ein Fenster aus dem Verbund zieht.

Clemens befindet sich mit einem Stipendium übrigens gerade an der Auckland Uni und wird mit Christof Lutteroth zum BeGeistert 023 am 23./24. Oktober 2010 nach Düsseldorf kommen. Eine gute Gelegenheit über dieses coole Feature zu quatschen.

Mittwoch, 15. September 2010

Mini-Interview mit Oliver Tappe

Oliver Tappe hat den 18. Thank You Award gewonnen und beantwortet ein paar Fragen in einem Mini-Interview bei Haikuware.

Wie alt bist Du und womit verdienst Du Dein Geld?

Ich bin 40 und arbeite als selbständiger Software Entwickler.

In der Nominierung heißt es, Du hättest Lokalisierungen in Haikus POSIX Layer integriert. Wie schwer (oder einfach) war das?

Wie meistens wenn man sich einer Sache widmet über die man nicht alle Einzelheiten kennt, war (und ist) es mehr Arbeit als ursprünglich gedacht. Die Schwierigkeiten liegen darin alle Details von Haikus Lokalisierungs-Backend (ICU) so hinzufriemeln, dass sie den Erwartungen der POSIX API exakt entsprechen. Öfters entstehen die Probleme, weil es de-facto Standards gibt (Dinge, die die Software einfach in einer bestimmten Weise verlangt), die im POSIX Standard aber nicht mal spezifiziert sind.

Was würde Dir die Arbeit an Haiku erleichtern?

Am meisten vermisse ich unter Haiku eine funktionierende Java Runtime Umgebung um Eclipse zu benutzen. Unter Haiku verwende ich Pe zum Entwickeln, was zwar OK ist, aber lange nicht mit den umfangreichen Features von Eclipse mithalten kann.

Welches interessante Buch, Band, Serie etc. würdest Du gern empfehlen?

Von den aktuellen Sachen kommt "Teen Dream" der US Band "Beach House" sehr gut bei mir an. Außerdem möchte die Krimis der Britin Sophie Hannah ans Herz legen. Ihre Bücher sind sehr stilvoll und zugleich nerven-zerreibend; genau was ich von einem guten Krimi erwarte. :-)

Dienstag, 14. September 2010

Ergebnisse des Google Summer of Code 2010

Matt Madia berichtet über die Erfolge für das Haiku Projekt im diesjährigen Google Summer of Code. Von den sieben angetretenen Studenten konnten fünf ihre Projekte erfolgreich umsetzen. Hier nochmal alle Studenten im Schnelldurchlauf:

  • Atis Elsts -- IPv6 Implementierung - Code
    IPv6 ist noch nicht offiziell im Image angekommen, vorher muss noch einiger Code z.B. für den NetServer und ifconfig aus Atis haikuipv6 github eingebaut werden. Atis möchte gern weiter an diesem Thema arbeiten bis IPv6 voll einsatzfähig ist.
  • Janito Vaqueiro Ferreira Filho -- Ext3 Unterstützung - Code
    Leseunterstützung ist bereits vorhanden, geschrieben werden kann erst wenn das Journaling ordentlich durchgetestet wurde. Nebenher hat Janito übrigens auch noch einige Bugs in BFS und dem Block Cache gefunden und repariert.
  • Lucian Adrian Grijincu -- lkl-haiku-fsd
    Obwohl er anfangs von allen als ausgesprochen vielversprechend eingeschätzt wurde, hat Lucian leider nicht die Beurteilung zur GSoC-Halbzeit überstanden. Er konnte wochenlang nicht von seinem Mentor erreicht werden und der Umfang des ausgearbeiteten Codes blieb auch hinter den Erwartungen zurück. Der Code liegt auf github: lkl-linux-2.6, lkl-haiku-fs.
  • Christopher Humphries -- Erweiterung von MediaPlayer - Code
    Weil er kurz nach dem Start von GSoC von seiner Uni erfahren hat, dass diese nun doch keine GSoC-Teilnahme als Praktikum akzeptiert, musste Christopher sein Projekt auf DVD-Unterstützung zusammenstreichen. Im Laufe der Zeit stellte sich heraus, dass das Media Kit erst noch einige Features benötigt, bevor alles umgesetzt werden kann. Dazu machte Christopher auch einige Vorschläge. Sein Haiku-DVD-Addon liegt auf github.
  • Christophe Huriaux -- Services Kit Fundament - Code
    Momentan kommt das Services Kit mit synchronen und asynchronen HTTP Requests zurecht. Als Testanwendung hat Christophe WebPositive so umgebaut, dass es das Services Kit anstelle von cURL benutzt. Wie er berichtet erfuhr Web+ dadurch einen echten Geschwindigkeitsschub zum Beispiel beim Download. Auch nach dem GSoC möchte Christophe weiter am Kit arbeiten und unter anderem durch Nutzung von Add-ons die Entwicklung weiterer Protokolle vereinfachen.
  • Nathan Mentley -- x86_64 Port
    Nathan hat leider die Schlussbewertung nicht überstanden. Hauptgründe waren ungenügende Kommunikation und fehlende regelmäßige Patches. Insofern ist der Kernel Port nicht vollständig: der meiste Code ist "stubbed", aber es fehlen wichtige Teile wie vm86 und SMP und auch andere Sachen wie Paging und Wechsel in den Long Mode haben noch Probleme. Nathan sagt selbst, dass sich das Projekt als größere Herausforderung herausstellte, als er anfangs erwartet hatte. Einige ältere Patches liegen auf Trac: #6306, #6307, #6308, #6309, #6310.
  • Alex Wilson -- Haiku Layout API vervollständigen - Code
    Alex implementierte die Archivierung von BLayout, BLayoutItem und deren Unterklassen, BLayout ist jetzt eine abgeleitete Klasse von BLayoutItem und diverse Anwendungen wurden so umgebaut, dass sie nun die Layout API benutzen. Alex bekam noch während seines Projekt Schreibrechte im SVN und ist entschlossen weiter an der Layout API zu arbeiten, damit sie bald ein offizieller Teil von Haiku werden kann.
Wie man sieht, alles in allem eine recht erfolgreiche GSoC Saison! Vielen Dank an alle Studenten, Mentoren und Matt Madia, der im Hintergrund wieder alle administrativen Aufgaben super erledigt hat!

Donnerstag, 9. September 2010

"Programming with Haiku", Lektion 1: Templates und Namespaces

Nach seinem Einführungskurs zu C++ beginnt jetzt DarkWyrms nächste Tutorial-Serie: Programming with Haiku.

Während die erste Serie allgemein in die C++ Programmierung einführte, wird nun der praktische Einsatz der Haiku API im Vordergrund stehen. Zunächst müssen allerdings noch ein paar Techniken erklärt werden, die natürlich auch ab und zu bei der Haiku Programmierung von Nutzen sind.

Die erste Lektion behandelt insbesondere die Standard Template Library (STL) und deren vector, deque und list Templates sowie die Verwendung von STL Iteratoren. Namespaces verhindern Konflikte zwischen Klassen verschiedener Bibliotheken. Durch den Einsatz der using Deklaration lässt sich Schreibarbeit sparen und der Code bleibt übersichtlich. Abgeschlossen wird die Lektion mit einem Beispielprogramm zum Anzeigen aller Dateien im Home-Verzeichnis, das dabei ein deque Template samt Iterator nutzt.