Freitag, 31. Dezember 2010

Haiku Webseite mit Turbo-Boost

Lange Zeit war die Haiku Webseite nicht gerade ein Aushängeschild für ein Hauptmerkmal von Haiku: gefühlte Geschwindigkeit durch kurze Reaktionszeiten. Das hat sich nun sehr verbessert.
Oliver Tappe hat einige Drupal-Module erneuert, ersetzt oder ganz rausgeschmissen. Hinzugekommen ist ein "Boost" Modul, das vor allem beim Zugriff nicht angemeldeter Besucher auf dynamische Inhalte wie PHP greift. Dann werden statt dynamischer Seiten statische aus dem Cache benutzt. Dadurch steigert sich die Performance um das 30-fache und das System reagiert auch viel besser auf hohe Lasten. Der nächste Slashdot-Effekt kann also ruhig kommen...!

Dienstag, 28. Dezember 2010

Forschungsauftrag in Sachen Paketmanager

Haiku Inc. ist immer interessiert die eingenommenen Spenden Projekten zur Verfügung zu stellen, die uns näher an Haiku R1 bringen. Nun hat Oliver Tappe sich dafür beworben die Untiefen des Paketmanagements auszuloten. Wie die kürzlich durchgeführte Umfrage gezeigt hat, wird dieses Feature von vielen als unbedingt nötig für eine R1 erachtet und blockiert daher auch die Beta-Phase, die ja definitionsgemäß alle Features der R1 enthalten soll.

Der Auftrag, der über 160 Stunden für die schöne runde Summe von $2,622 ausgeschrieben wurde, umfasst dabei noch keine Implementierung, sondern nur die Untersuchung bestehener Systeme und Ideen, die bereits existieren. So hat man sich ja schon früher Gedanken gemacht und ein Paketformat spezifiziert und ein mögliches PackageFS geschaffen. Außerdem gibt es in der Linuxwelt ja bereits förmlich einen Wildwuchs an verschiedenen Paketverwaltungen. Da liegt es natürlich nahe, sich von dort Inspiration zu holen und vielleicht sogar ganze (Sub-)Systeme zu übernehmen, falls möglich.

Wer dieses und ähnliche Projekte in der Zukunft unterstützen möchte, sollte überlegen, ob er Omas Scheinchen unterm Weihnachtsbaum nicht an Haiku Inc. spendet.

Sonntag, 26. Dezember 2010

Neuer Coverity Scan deckt potentielle Bugs auf

Nach zwei Jahren gibt es für Haiku wieder einen Coverity Scan. Wie Urias McCollough berichtet, wurde der Haiku gcc4-Build r39849 mit Coverity v5 analysiert (vor zwei Jahren war das noch v2.4.1). Dabei wurden 10.506 potentielle Bugs gefunden.
Wer nach "CID#" Codes in den Commit-Logs Ausschau hält, wird sehen dass bereits einige der gemeldeten Fehler beseitigt wurden.

Wer genauer wissen will was es mit Coverity auf sich hat, sollte nochmal Stippis Ausführungen im Gazette Artikel vom letzten Scan durchlesen.

Freitag, 24. Dezember 2010

Haiku macht Druck mit Gutenprint

Bei OSNews ist ein interessanter Bericht über die Portierung von Gutenprint zu lesen. Dank der Spenden vieler User im Rahmen einer Bounty, wurde Michael Pfeiffer dabei unterstützt dieses Druckertreiber-Backend auf Haiku zu portieren.

Gutenprint fügt sich nahtlos ins System; Einrichtung und Konfiguration erfolgt über die Panels des nativen "libprint" Drucksystems. Dieses musste dabei etwas erweitert werden, um noch die zusätzlichen Einstellungsmöglichkeiten, die Gutenprint bietet, abdecken zu können.
Momentan sind so nur die Grundeinstellungen verfügbar, aber sobald ein Bug in der Layout API beseitigt ist, werden noch eine Menge weiterer Einstellungen zugänglich.

In seinem Bericht beschreibt Michael einige der Hürden, die er zu überwinden hatte und gibt abschließend einige interessante Zahlen zu seinem Projekt: Der Speicherverbauch einer Seite in Letter-Größe beträgt bei 300 dpi 32 MiB, bei 600 dpi 128 Mib.
Etwa 3/4 (51 kZeilen) des neuen Druck-Subsystems kommen direkt von libgutenprint, 17% (11 kZeilen) fallen auf Haikus Drucksystem libprint und nur 5% (3 kZeilen) sind dem neuen Gutenprint Treiber geschuldet.
Man sieht, durch die Verwendung der Gutenprint Bibliothek konnte Haikus Druckerunterstützung effizient und mit relativ geringem Aufwand um z.Zt. über 700 Drucker erweitert werden. Vielen Dank dafür, Michael!

Abstimmungsergebnis zu den R1 Features

Die Abstimmung über die R1 Roadmap wurde vor bald zwei Wochen abgeschlossen. Mit einem Newseintrag wollte ich noch etwas warten, um zu sehen was bei der internen Bewertung der einzelnen Features herauskam. Außerdem hätte über die Ergebnisse ja auch eine größere Diskussion auf der Mailingliste entstehen können. Dort wurde bisher allerdings nur kurz über die Bewertung der Unterschiede zwischen der öffentlichen User-Abstimmung und der Umfrage unter den Entwicklern geredet.
An der öffentlichen Abstimmung haben über 1.600 Leute teilgenommen, auf der Entwicklerseite (beschränkt auf diejenigen mit SVN-Schreibrechten) waren es knapp 30. Hier die offiziellen Ergebnisse über alle Punkte im Überblick, farblich hinterlegt sind jeweils die meisten Stimmen):



R1 Blocker kein Blocker keine Angabe

Feature User Devs User Devs User
#1 TTY Layer 440 8 755 20 410
#2 PPP / Modemeinwahl 286 1 1318 28 22
#3 Bootman: Unterstützung mehrerer Hds 968 5 590 23 57
#4 IRQ Routing 663 25 472 4 462
#5a Haiku Book, nur Unterschiede zu BeBook 733 24 819 5 54
#5b Haiku Book, vollständig 233 1 1324 28 58
#6 User Guide, vollständig 561 17 1030 11 20
#7 Standard Soundeffekte 358 5 1226 23 32
#8 WiFi, inkl. WPA/WPA2 1458 30 180 0 2
#9 WiFi, GUI zur Konfiguration 1378 28 248 2 24
#10 Layout API, mind. Experimentell 466 18 862 11 297
#11 Alle Apps benutzen Layout API 317 0 1003 28 296
#11a Tracker_layout branch 321 4 931 24 364
#12 Alle Apps benutzen Locale API 547 11 975 17 109
#13 Netzwerkdateisysteme (ftp,ssh,nfs,smb) 953 7 682 22 7
#14 Debugger 228 7 1255 21 148
#15 Jamfile-Engine 208 2 751 26 663
#16 Stack&Tile Decorator als Standard 346 2 979 26 309
#17 Video mode setting Treiber (nvidia, ati, intel) 1214 2 394 25 29
#18 Multimonitor Unterstützung 390 0 983 28 253
#19 BWebView API 355 0 997 27 269
#20 Services Kit 459 1 773 26 390
#21a Web+, HTML5 Video und Audio 749 11 866 17 21
#21b Web+, User agent faking 477 0 1027 27 119
#21c Web+, SSL Zertifikat-Verwaltung 880 18 649 8 100
#21d Web+, Caching 714 11 841 15 60
#21e Web+, Passwort-Verwaltung 576 10 1015 17 32
#22 BNotification API 425 2 779 26 413
#23 Neue Treiberarchitektur fertigstellen 901 11 576 15 150
#24 Treiber an neue Architektur anpassen 637 0 852 26 130
#25 Neues Netzwerk Einstellungsfenster 401 11 750 18 468
#26 OSS und native Audiotreiber ko-existieren 578 10 843 18 201
#27 Alle Boot-Abbrüche beheben 1276 19 316 9 31
#28 Alle Video/Audiotreiber Bugs fixen 1240 10 360 17 28
#29 IPv6 Netzwerk-Unterstützung 331 4 1273 24 22
#30 Haiku System Upgrade Manager 911 24 710 5 7
#31 Paketmanagement 978 14 642 15 9
#32 Isochrone USB Übertragung 637 6 687 21 305

Alles in allem werden die R1 Blocker von Entwicklern wie Usern recht ähnlich gesehen. Nur bei manchen Fragen gehen die Meinungen auseinander. Wie im oben verlinkten Mailinglist Thread zu lesen, könnte hier unter Umständen ein mangelndes Verständnis bei den Usern die Ursache sein, da es sich um ziemlich Hardware-nahe Features handelt, die ohne tieferes Hintergrundwissen vielleicht missverstanden wurden.
Doch auch innerhalb von Usern bzw. Entwicklern ist man sich noch nicht bei jedem Thema voll einig, siehe z.B. #21 Web+ bei den Usern oder #31 Paketmanager bei den Devs.
Hier sind wohl ein paar Diskussionen nötig; die Abstimmungsergebnisse sollte man also keinesfalls schon als festgeschriebene R1 Roadmap betrachten!

Sonntag, 12. Dezember 2010

Programming with Haiku, Lektion 2-15

Während die Gazette offline war, hat DarkWyrm weiter fleißig Lektionen zur Programmierung mit Haiku geschrieben. Das Erscheinen des 15. Teils bietet Anlass die verpassten Artikel zusammenzufassen.

#2: C++ Strings und noch mehr STL

Die 2. Lektion wirft als erstes einen Blick auf C++ Strings aus der Standardbibliothek und einige derer nützlichen Methoden wie beispielsweise find_first_not_of. Dann geht es weiter mit der Vorstellung weiterer STL Container (map, set, multimap, multiset) und Container Adapter (queue, priority_queue, stack), die die Art des Zugriffs auf den jeweiligen Container regeln. Anschließend werden die ganzen Methoden der verschiedenen Container beschrieben, mit denen deren Inhalte manipuliert werden können.
Das ist eine ganze Menge Holz! Aber keine Sorge, wenn man das alles nicht aufs erste, zweite oder auch dritte Durcharbeiten verinnerlichen kann. Die Haiku API bietet mit BList und Trackers BObjectList Werkzeuge, die man fast immer als Alternativen zu Containern verwendenden kann. Ähnlich verhält es sich mit C++ Strings und Haikus BString. Im Grunde ist es einfach nur gut über diese Dinge Bescheid zu wissen, insbesondere wenn man es mit dem Code anderer Leute und portierten Quellen zu tun hat. Und natürlich, wenn man möglichst plattformunabhängigen Code schreiben will.

#3: Streams und Exceptions

Im 3. Teil werden zuerst die C++ Versionen der In/Output-Streams cout, cin und cerr vorgestellt. Dazu wird erst die C-Variante eines Programms gezeigt, das eine Datei auf die Konsole ausgibt, und danach die C++ Variante. Anschließend werden nützliche Methoden der In/Output-Streams wie get, getline, write und seekp besprochen und die Möglichkeiten der Fehlerauswertung.
Weiter geht es mit der Ein/Ausgabe und deren Formattierung mittels cin und cout und deren Manipulatoren.
Auf Exceptions wird nur ganz kurz eingegangen; sie spielen in Haiku keine große Rolle, da die API sowieso schon eine gute Fehlerauswertung anbietet und Exceptions einiges an Performance kosten.

#4: Versionskontrolle

Lektion 4 legt eine kleine Pause ein was die Programmierung angeht und widmet sich einem Thema, das Hobbyprogrammierer oft vernachlässigen: den Segnungen der Versionskontrolle. Nutzt man sie, lassen sich Änderungen im Sourcecode leicht rückgängig machen oder verschiedene Lösungswege auf einfache Weise ausprobieren. Auch die Zusammenarbeit mit anderen wird sehr erleichtert.
DarkWyrm stellt einige Systeme dafür kurz vor, CVS, SVN, Git, Mercurial, um dann praxisnah die Einrichtung anhand von Mercurial zu zeigen.
Seit kurzem kann übrigens auch die IDE Paladin mit diesen Versionskontroll-Systemen umgehen.

#5: Praxis - Paladin Projektdateien laden

Um das Gelernte der vorangegangenen Lektionen mit einem Praxisbeispiel zu vertiefen, zeigt die 5. Lektion all die vorgestellten Techniken, um Paladin Projektdateien einzulesen.

#6-11: Rückblick auf den vorherigen "Kurs"

Die Teile 6 bis 11 werden später nachgereicht. Es werden leicht überarbeitete Kapitel aus dem ersten C++ Kurs "Learning to Program with Haiku".

#12: Attribute

Mit Lektion 12 sind die allgemeinen C++ Themen abgeschlossen und es wird durchgestartet zur Haiku API. Den Anfang machen Attribute; wie man mit ihnen eigene Daten an Dateien hängt und wie man die systemweiten Attribute nutzt.

#13: Queries

Nachdem beim letzten Mal die Arbeit mit Attributen gezeigt wurde, steht in Teil 13 die Suche nach ihnen mittels Queries auf dem Plan. Es wird die Syntax eines Query-Begriffs in Trackers Find Panel erklärt und wie man das programmiertechnisch umsetzt. Neben der Möglichkeit eines einfachen BString als Such-String, gibt es auch noch die etwas komplizierte Variante des Zusammenbauens mittels "Reverse Polish Notation (RPN)".
Schließlich wird auch die besondere Spielart der Live-Query gezeigt, bei der man durch BMessages informiert wird, wenn sich die Trefferliste geändert hat, falls Dateien dazugekommen oder aus dem Suchmuster rausgefallen sind.

#14: Node-Monitoring

Mit der Überwachung von Dateien und Ordnern bzw. Benachrichtigungen beim Einhängen von Partitionen, zeigt Lektion 14 ein weiteres Kern-Feature von Haiku. Ähnlich wie bei Live-Queries wird man durch BMessages darüber informiert, ob sich in einem Ordner etwas getan hat oder eine Datei verändert wurde. Über welche Änderungen man informiert werden möchte, lässt sich dabei genau festlegen.

#15: Eigene Dateitypen

Lektion 15 zeigt wie man aus seinem Programm heraus neue Dateitypen erzeugt. Neben einem eigenen MIME Typ lässt sich dabei unter anderem auch eine Dateiendung, Beschreibung und Icon vergeben und die Anwendung festlegen, die diese Datei standardmäßig öffnen soll. Etwas komplizierter wird es bei der Festlegung einer "Sniffer Rule": mit ihr können Dateien dieses Typs anhand immer gleicher Merkmale im Aufbau automatisch "erschnüffelt" werden.
Zu guter letzt können einem Dateityp auch immer gleich systemweite Attribute angehängt werden, wie es z.B. mit AUDIO:artist, AUDIO:title und AUDIO:album bei MP3-Dateien der Fall ist.


Alle Teile von "Programming with Haiku" finden sich in DarkWyrm's Library.

Donnerstag, 2. Dezember 2010

20. Thank You Award geht an Jérôme Duval

Jérôme "korli" Duval hat vor allem für seine Fortschritte bei der ext3-Unterstützung und Treiberverbesserungen den 20. Thank You Award gewonnen! Herzlichen Glückwunsch, auch an Scott, Philippe, Ithamar und Pengfei, die diesmal mit von der Partie waren.

Da die Thank-You-Award-Kasse mal wieder fast leer ist, sind kleine Spenden übrigens sehr willkommen.

Dienstag, 30. November 2010

Haiku beim ersten Google Code-In

Vom 22. November 2010 bis 10. Januar 2011 findet der erste Google Code-In (GCI) statt. Ähnlich wie beim großen Bruder, dem Google Summer of Code (GSoC), sollen Studenten die Mitarbeit an Opensource Projekten schmackhaft gemacht werden.

Im Gegensatz zum GSoC ist der GCI allerdings an ein jüngeres Publikum, zwischen 13 und 18 Jahren, gerichtet. Anstelle eines großen Projekts über mehrere Monate, sollen hier mehrere kleinere Aufgaben in wenigen Tagen gelöst werden. Auch die Aufgaben selbst sind abwechslungsreicher und größtenteils nicht so sehr auf die Programmierung ausgerichtet. Neben kleinerer Coding-Projekte gibt es auch Angebote für Dokumentation, PR, Qualitätssicherung, Recherche, Training, Übersetzung und User Interface Untersuchungen.

Haiku wurde als eine von 20 Organisationen ausgewählt, um Aufgaben in diesen Bereichen zu erstellen und von Mentoren zu betreuen. Über 100 solcher Tasks stehen in den diversen Kategorien zur Auswahl.
Wer jung genug ist und selbst gern mitmachen würde, sollte sich schnell bei der GCI Webseite anmelden und bei den diversen Organisationen nach interessanten Aufgaben suchen. Vielleicht wären auch einige Interessante Sachen für Schulklassen dabei...

Was den Teenie freut: zu verdienen gibt's dabei auch was. Ein T-Shirt und Zertifikat wenn man mindestens eine Aufgabe zufriedenstellend gelöst hat und $100 für jeweils drei gelöste Aufgaben, maximal jedoch $500.
Und wer besonderes Glück hat, kann eine Reise ins Google Hauptquartier Mountain View in Kalifornien gewinnen.

Montag, 29. November 2010

R1 Roadmap steht zur Abstimmung

Nach den ersten beiden recht erfolgreichen Alphas ist es nun Zeit die offizielle Haiku R1 Release ins Visier zu nehmen. Dazu müssen alle Features benannt werden, die darin enthalten sein sollen, damit sich die Entwickler auf die noch fehlenden oder fehlerhaften Komponenten konzentrieren können.

Nun gilt es abzuwägen welche Funktionen für die R1 unbedingt nötig sind und welche Dinge zwar wünschenswert wären, aber die Release nicht weiter verzögern sollen. Es zwei Abstimmungen geben.

Bis zum 12. Dezember 2010 findet eine öffentliche Abstimmung über R1 Features statt. Matt Madia hat diverse Listen und Mailinglist Beiträge zusammengeführt und 38 Features zusammengetragen, deren Notwendigkeit für R1 beurteilt werden sollen.
Und zwar mit:

  • "must-have" - ohne dieses Feature keine R1
  • "only-if-ready" - wäre schön, hält aber die R1 nicht auf
  • "dont-understand-what-this-means" - wenn man nicht versteht worum es dabei überhaupt geht...
Diese öffentlich Abstimmung, bei der jeder mitmachen kann, dient mitunter als Grundlage für eine spätere Wahl unter den abstimmungsberechtigten Entwicklern. Sie soll zeigen welche Features der Allgemeinheit so am Herzen liegen, dass sie eine weitere Verzögerung der R1 rechtfertigen und auf was erstmal verzichtet werden kann. Ultimativ ist das natürlich die Entscheidung derjenigen, die sich Tage und Nächte um die Ohren schlagen, um das alles umzusetzen...

20. Thank You Award: Abstimmung läuft

Für nur noch wenige Tage ist die Abstimmung für den 20. Thank You Award geöffnet. Kandidaten für ein Dankeschön-T-Shirt für ihre Arbeit in den letzten zwei Monaten sind diesmal:


  • Ithamar Adema (ithamar) - Fortschritte beim ARM Port

  • Jérôme Duval (korli) - Große Verbesserungen bei der ext3 Dateisystem-Unterstützung, Busmanager, Audiotreiber, ffmpeg/MediaKit und das Aktuellhalten von ffmpeg, freetype und anderer Komponenten.

  • Philippe Houdoin (phoudoin) - Verbesserung der Netzwerk Infrastruktur und Start der Modem-Einwähl-Unterstützung und vieles andere mehr.

  • Scott McCreary (scottmc) - Ein Hauptentwickler bei HaikuPorts und ein Ansprechpartner bei diversen Konferenzen. Momentan ist er für Haiku der Hauptorganisator des Google Code-In.

  • Pengfei Han (kurain) - Als Chinesiser Übersetzungsmanager hat er weite Teile des Systems und des Userguide übersetzt und auch die chinesische Haikuseiten größtenteils allein aufgebaut.


Die Gazette kehrt Heim

Nach einem knapp 2-jährigen Ausflug auf einen eigenen Server ist die Haiku Gazette jetzt wieder zurück an Googles Rockzipfel im Blogspot. Hoffentlich finden auch wieder ein paar Leser den Weg zurück...

Der "eigene" Server, den ich leider nicht selbst administriere, ist jetzt schon seit Monaten nicht mehr erreichbar. Mein Admin Daniel ist nur selten per Telefon zu erreichen und obwohl er öfters gesagt hat, dass er sich die Sache mal anschaut, hat er mich leider nie zurückgerufen oder auf Emails geantwortet. Leider hat er mir auch nie Backups der Artikel geschickt, so dass wir jetzt ein schönes großes 2-jähriges Loch in der "Berichterstattung" haben. :(

Habe länger drüber nachgedacht, ob ich überhaupt weitermachen soll mit der Haiku Gazette und kam jetzt zu dem Schluss, dass ich keine Lust habe aufzugeben. Neben den aktuellen Geschehnissen in der Haiku-Welt werde ich auch nach und nach das Wichtigste der letzten Monate in verkürzter Form nachtragen (soweit ich mich noch erinnere).

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.

Dienstag, 31. August 2010

Haiku Down Under

Sikosis berichtet von Haiku Down Under 2010, der jährlichen virtuellen Konferenz für Haiku Benutzer und Entwickler in Brisbane, Australien, die am 22. August stattfand. Für alle, die durch die für Europäer ziemlich ungünstige Zeitverschiebung (bei uns fing das ganze erst um 1 Uhr nachts an...) nicht teilnehmen konnten, gibt es eine Aufnahme des Live-Streams.
In dem rund 3 Stunden langen Stream sind auch einige Coding Sessions für C++ und Qt Anfänger enthalten. Alle Folien und Code Beispiele kann man sich auch runterladen.
Bei der diesjährigen Verlosung gingen eBook Versionen von DarkWyrms Learning to Program with Haiku an Kokito und sand_man und ein HDU 2010 T-Shirt an Daniel Devine. Die Preise wurden von DailyHaiku und HaikuPC gesponsert.
Um die Veranstaltung für nächstes Jahr weiter zu verbessern, bittet Sikosis zum Ausfüllen einer kleinen Umfrage.

Als nächstes steht übrigens wieder eine "reale" Konferenz an: DarkWyrm und Joseph Prostko werden am 10.-12. September 2010 Haiku auf einem kleinen Stand auf der Ohio LinuxFest vertreten.
Am 23./24. Oktober 2010 ist dann ja auch schon wieder das nächste BeGeistert Wochenende in Düsseldorf. Die Anmeldung dafür sollte in Kürze möglich sein...

Freitag, 13. August 2010

Und nochmal bezahltes Haiku Coding

Nachdem Axel Dörfler seine beauftragten 120 Stunden zur Verbesserung der Netzwerk Infrastruktur abgearbeitet hat, widmet er sich nun im Rahmen der WLAN Bounty der Integration und Weiterentwicklung von Haikus Funknetzwerk Unterstützung. Die Bounty und der Entwicklungsablauf werden in 3 Meilensteine aufgeteilt, die in den nächsten 4 Monaten erreicht werden sollen:

  1. Portierung von wpa_supplicant und dafür nötige Erweiterungen des Networkstacks. Das Ganze zumindest getestet für den Intel PRO 3945 WLAN Chipsatz, vielleicht auch noch für andere Chipsätze, falls Axel sie sich beschaffen kann.
  2. Design und Implementierung einer C++ API um WLAN (WEP/WPA/WPA2) zu konfigurieren und zu nutzen.
  3. Anpassung vorhandener Anwendungen wie ifconfig, net_server, Network Prefs, NetwokStatus etc.
Weil die letzte Spendensammlung anlässlich von Axels Beauftragung so gut lief, wurde gleich der nächste Auftrag vergeben: Stephan Aßmus packt ein zweites Mal an. Diesmal nicht beim Browser WebPositive, der zwar auch noch einigen Feinschliff vertragen könnte, sondern bei wichtigeren Themen, die auch für die nächste Alpha bzw. auf längere Sicht für R1 drängender sind. In erster Linie sind das App Server, Media Kit und MediaPlayer.
Geplant sind 160 Stunden für den wiedermal ausgesprochenen Freundschaftspreis von $2.000. Wer (nochmal) seine finanzielle Unterstützung zeigen möchte, kann weiterhin an Haiku Inc. oder die WLAN Bounty spenden.

18. Thank You Award Abstimmung

Bei Haikuware läuft die Abstimmung für den 18. Thank You Award.
Die Kandidaten sind diesmal:

Oliver Tappe - Für die Integration des Locale Kits in Haikus POSIX Infrastruktur.

Jerôme Duval - Für seine Arbeit an gcc4.5.

Michael Oliveira - Für die Portierung vieler SDL Spiele.

Philippe Houdoin - Für Verbesserungen im OpenGL Kit.

Jan64 - Für YAB und die YabIDE.

Stefano Ceccherini - Für seine Arbeit am Terminal.

Martin Hebnes Pederson - Für HaikuTwitter.


Update:
Nach dem alle Stimmen ausgezählt sind, steht der Gewinner fest: Oliver Tappe! Herzlichen Glückwunsch!

Sonntag, 1. August 2010

Haiku Inc. informiert

Haiku Inc. ist die Nonprofit-Organisation hinter dem Haiku Projekt, die sich in erster Linie um die Einhaltung der Trademarks und das Verwalten der Spenden kümmert. Nachdem Infos darüber bisher nur etwas versteckt auf der About Haik Seite zu finden waren, gibt es nun eine umfangreiche eigene Webpräsenz unter http://www.haiku-inc.org/.
Matt Madia hat hier mit großem Aufwand alles rund um Haiku Inc. zusammengetragen. Neben juristische Dokumenten und Finanzreports und einer FAQ, liegt das Hauptaugenmerk auf Haikus Trademarks und die Möglichkeiten zur finanziellen Unterstützung des Projekts. Es wird erklärt warum Haiku überhaupt Trademarks schützen lässt, was genau geschützt ist und was erlaubt ist und was nicht. Die Spendenseite bietet die Möglichkeit Haiku per Amazon Payments, Google Checkouts oder PayPal eine einmalige oder monatliche kleine Spende zukommen zu lassen. Auf Unterseiten werden die genauen Gebühren durch diese Spendendienste gelistet und, interessanter, das Spendenaufkommen monatlich dargestellt.

Samstag, 24. Juli 2010

"Learning to Program with Haiku" in Buchform

Jon "DarkWyrm" Yoders C++ Programmierkurs ist jetzt auch als Buch erhältlich. Auf 166 Seiten wird in 23 Lektionen in die C bzw. C++ Programmierung eingeführt.
Während der erste C-Teil noch ziemlich Plattform-unabhängig ist, bezieht sich das eigentliche Ziel C++ stark auf die Haiku API. Sehr früh wird das Erstellen von Fenstern und die Auswertung von Buttons und Menüs gezeigt. Dabei steht die Praxis im Vordergrund: In fast jeder Lektion wird ein kleines Projekt mit reichlich erklärenden Kommentaren aufgebaut und mögliche Fehler in kleinen "Bug Hunts" aufgezeigt, die es zu lösen gilt.

Die gedruckte Version gibt es bei Lulu.com für 20,50 EUR zzgl. Versand (ca. 8,40 EUR, falls ich auf die richtige Seite gestoßen bin... Die Lulu Seiten scheinen etwas unaufgeräumt. Web+ versagt hier oft, am besten unter einem anderen OS ansurfen). Alternativ kann man es sich auch als PDF direkt herunterladen und zahlt dann nur 8,20 EUR.
Wer schnell ist, kann bis zum 15. August 2010 vor dem Bezahlen noch einen Gutschein mit dem Code /BEACHREAD305/ einlösen, um einen 15% Discount zu erhalten.

Samstag, 17. Juli 2010

Nochmal Konferenzen im Juli

Neben der bereits gelaufenen RMLL Konferenz, zu der Adrien Destugues übrigens einen kleinen Bericht geschrieben hat, gibt es im Juli auch noch weitere Konferenzen mit Haiku-Beteiligung. Um dort dabei zu sein, hätte man allerdings eine etwas längere Anreise: beide finden in Brasillien statt.
Zum einen wäre da die Sociedade Brasileira de Computação (SBC) 2010 vom 20. bis 23. Juli 2010, zum andern die Fórum Internacional Software Livre (FISL 11) vom 21. bis 24. Juli 2010. Auf beiden Veranstaltungen wird Bruno Albuquerque (BGA) Vorträge zu Haiku halten.

Donnerstag, 15. Juli 2010

Axel Dörfler angeheuert

Wieder mal werden die Spenden an Haiku Inc. sinnvoll eingesetzt um einem Entwickler einige Wochen Vollzeitarbeit an Haiku zu ermöglichen. Axel Dörfler, einer der durchgehend produktivsten Core-Developer seit das Projekt als OpenBeOS formierte, wurde für 120 Stunden engagiert. Axel begnügt sich zwar mit dem äußerst bescheidenen Stundensatz von gerade mal $14, dennoch wären zusätzliche Spenden willkommen, um auch in Zukunft solche Aktionen durchziehen zu können.

Axels Aufgaben fokussieren sich auf die Netzwerk-Infrastruktur:

  • Internet Control Message Protocol (ICMP)
  • WPA/WPA2 Verschlüsselung
  • WLAN GUI Konfigurationspanel
  • Updaten und verbessern der FreeBSD Treiber
  • Netzwerkkarten testen, die Axel von einigen Leuten gespendet wurden
  • Optimierungen

Haiku Artikel in freiesMagazin

freiesMagazin ist eine online Zeitschrift, die sich vorwiegend mit Linux, aber auch mit dem allgemeinen Thema "Freie Software" beschäftigt. Die meisten Artikel richten sich an versierte Leser, die gern tiefer in ein Thema einsteigen anstatt nur an der Oberfläche zu kratzen. Ideal, um diese Benutzerschicht auf Haiku aufmerksam zu machen.

Daher befindet sich auch ein Artikel zur Alpha in der Juni Ausgabe. (Ja, der Artikel ist von mir...:)) Die Veröffentlichung bei freiesMagazin hat einen entscheidenden Vorteil gegenüber eines klassischen Printmagazins (wo der Artikel übrigens leider verschmäht wurde): Während man bei der kommerziellen Zunft in der Regel alle Rechte an einem Beitrag abgibt, publiziert freiesMagazin unter der GNU FDL Lizenz, d.h. ein Artikel kann auch bei anderen Publikationen erscheinen.
So wurde es auch möglich, dass derselbe Artikel von ProLinux aufgegriffen wurde.

Freitag, 9. Juli 2010

Teilnehmer für wissenschaftliche Umfrage gesucht

Miroslav Stimac schreibt demnächst seine Masterarbeit zum Master of Computer Science an der FernUniversität Hagen; sein Thema wird Haiku sein, insbesondere dessen grafische Oberfläche und eine empirische Erforschung der Haiku Community. Teil davon ist die Analyse einer Umfrage zu Haiku bzw. BeOS.
Durch 24 Fragen versucht Miroslav ein Bild der BeOS/Haiku Gemeinschaft zu erstellen, was sie zu diesem Betriebssystem hinzieht, welche Erwartungen sie von dessen Zukunft hat, welche Art Software als besonders wichtig eingestuft wird. Seine Ergebnisse wird er auch dem Haiku Projekt zur Verfügung stellen, damit sie ggf. in zukünftige Planungen einfließen können.
Alle Angaben werden anonymisiert verarbeitet. Wer nichts dagegen hat unter Umständen weiterführende Fragen zu beantworten, kann seine Email-Adresse angeben, die natürlich an niemanden weitergegeben wird. Die Umfrage läuft voraussichtlich bis November 2010.

Mittwoch, 30. Juni 2010

11. RMLL Treffen Anfang Juli

Vom 6. bis 11. Juli 2010 findet in Talence, Frankreich wieder die große FLOSS Konferenz "Rencontres Mondiales du Logiciel Libre" (RMLL) statt.
Wie schon bei den letzten Malen hat François Revol einen Platz für Haiku auf dem Event gesichert. Am Freitagvormittag, 9. Juli, wird er über die Neuerungen von R1/alpha2 einen etwa 20 minütigen Vortrag halten. Am Haiku Stand laufen über die Tage natürlich die üblichen Demonstrationen, außerdem sollen CDs verteilt und ggf. Live-Installationen per USB Stick angeboten werden.
François wird auch diesmal wieder von Olivier Coursière und Adrien Destugues unterstützt. Wer auch mithelfen will und nebenbei ein großes Programm an Vorträgen und Workshops besuchen möchte, sollte sich möglichst schnell bei François Revol aka mmu_man melden.

Mittwoch, 23. Juni 2010

Mini-Interview mit DarkWyrm und Pier Luigi Fiorini

Da der 17. Thank You Award mal wieder an zwei Leute ging, gibt es auf Haikuware auch zwei Mini-Interviews - mit DarkWyrm und Pier Luigi Fiorini. Ich fasse sie hier zusammen:

Wie alt seid ihr und womit verdient ihr euer Geld?

PLF: Ich bin 28 Jahre alt und Softwareentwickler.

DW: Ich bin 33 und lebe mit Frau und zwei Kindern nahe Columbus, Ohio. Ich gebe an einer christlichen Privatschule Musik- und Computerunterricht und bin dort auch der inoffizielle Netzwerk Administrator und zuständig für den technischen Support. So läuft das jedenfalls seit den letzten paar Jahren, in der Vergangenheit habe ich aber auch noch andere Sachen für die Schule gemacht.

Pier, in Deiner Thank You Award Nominierung war für das Caya Projekt, einer nativen Multi-Protokoll Instant Messaging Software. Wie einfach oder schwer war das?

Am schwierigsten war es dafür die Zeit zu finden - es gibt ja auch immer so viel zu tun in wahren Leben.

DarkWyrm, Du wurdest für Deine IDE Paladin und die tolle C++ Einführung in die Haiku Programmierung geehrt. War Deine Arbeit an diesen Projekten einfach oder eher schwer?

Es war ehrlich gesagt ziemlich einfach - zu beiden Projekten kam ich eher per Zufall.

Der Programmierkurs ergab sich so, nachdem mich ein Freund aus der Community nach etwas Hilfe beim Programmieren lernen fragte. Seit ich in die Community gekommen bin habe ich viel geschrieben - ich hatte eine Art Blog bevor es cool wurde zu bloggen. Ich hab den ersten Entwurf für Haikus Interface Guidelines [3] geschrieben und habe hier ein fast fertiges Manuskript für OpenOffice.org's Writer liegen, das ich noch abschließen möchte. Dieses Jahr hab ich zum ersten Mal Junior High und High School Schülern Computer Unterricht gegeben. Eine Erfahrung, in der auch ich viel dazulernen musste, was ich sehr genoss. Die Programmier-Lektionen zu schreiben kam da wie von selbst, weil das etwas ist was ich sowieso gern tue: programmieren und unterrichten.

Paladin war ein Experiment. Für ein paar Wochen hab ich mit den Jungs von Niue zusammengearbeitet, um den Code zu bereinigen. Das schien mir aber eine Menge Arbeit zu sein. An einem Wochenende fragte ich mich wie schwer es wohl sein würde eine IDE wie BeIDE zu schreiben - mein liebstes Entwicklungstool seit ich unter BeOS das Programmieren lernte. Es brauchte eine gewisse Zeit um rauszubekommen wie man mit gcc direkt arbeitet, aber es war überraschend wie einfach doch alles war. Es ist auch das erfüllendste Projekt an dem ich je gearbeitet habe - jede Verbesserung hilft mir (und anderen) besser zu programmieren.

Was würde euch die Arbeit an Haiku erleichtern?

PLF: Eine native IDE mit integrierter Dokumentation und einem grafischen Designer. Meine Lieblings IDE ist QtCreator. Gebt mir ein ähnliches Haiku Programm, integriert mit Jam, und ich bin glücklich.

DW: Stabilität, Stabilität, Stabilität. Ich wünschte Haiku wäre so stabil wie BeOS R5 oder zumindest Zeta. Ohne diese Bugs wäre Haiku der Killer für Entwicklungsarbeit, selbst ohne noch fehlende Features.

Welches interessante Buch, Band, Serie etc. würdet ihr gern empfehlen?

PLF: Ich lese nicht sehr viel (außer überlicherweise eine Ferienlektüre). Zuletzt hab ich "Dracula" von Bram Stocker und "The Hobbit" von Tolkien gelesen. Beides Bücher die ich empfehlen kann, wenn man auf diese Genre steht.
Anstatt fernzuschauen höre ich eher Musik - ich empfehle Progressive Rock, insbesondere Rush!

DW: Ich schau nicht viel fern und weil es so viele gute Bücher gibt, empfehle ich eine Band, die ich in letzter Zeit viel höre: Skillet. Deren frühe Songs waren etwas Rock, etwas Electronica, die letzten drei Alben sind aber waschechte Rockalben. Am besten ist ihr letztes, "Awake" - jeder einzelne Song ist spitze.

C++ Kurs, Lektion 23

Mit der 23. Lektion schließt DarkWyrms Einführungskurs zu C++ und der Haiku API.
In der letzten Folge geht es weniger ums Programmieren als um den letzten Schliff für ein Programm. Mittels Ressourcen wird der Anwendung ein Icon verpasst, mit dem FileType Add-on bestimmt man das Startverhalten und fügt Informationen zur Programmversion hinzu. Bevor man das Ergebnis seiner Programmieranstrengungen veröffentlicht, sollte man sich kurz Gedanken über die zu verwendende Lizenz machen. Dazu werden verschiedene Modelle kurz vorgestellt: MIT, GPL, LGPL, MPL und Public Domain.
Zum Schluss gibt es noch ein paar Tips in welchem Format man das Ganze unters Volk bringen kann - als ZIP oder PKG.
DarkWyrm beschließt seinen Einsteigerkurs mit Empfehlungen welche fortgeschrittenen Themen man sich noch anschauen sollte, falls man tiefer in die Programmierung einsteigen möchte, und welche Bücher dabei helfen können.

Alle Teile des C++ Kurses finden sich in DarkWyrm's Library, bzw. auf der Haiku Website. Außerdem überarbeitet DarkWyrm nochmal alle Teile, um sie zu einem Buch zusammenzufassen, das es eventuell auch als e-Book geben wird. Alles zu einem fairen Preis, versteht sich. Die PDF Version bleibt natürlich weiterhin verfügbar und kostenlos.
Später dieses Jahr möchte DarkWyrm einen weiteren Kurs starten, dann für fortgeschrittene Themen wie Multithreading, Add-ons, Queries und Attribute, Tracker und mehr.

Donnerstag, 17. Juni 2010

C++ Kurs, Lektion 22

Zu Beginn der 22. Lektion wird kurz das Thema Benutzerfreundlichkeit angeschnitten. Dazu sollte man folgende Überlegungen anstellen:
Wer wird das Programm hauptsächlich benutzen?
Was werden die Hauptaufgaben des Programms sein?
Gibt es weitere Aufgaben die mit übernommen werden könnten ohne die Komplexität über Gebühr zu erhöhen?
Werden eventuelle Fehler elegant abgefangen?
Dann geht es weiter mit der Entwicklung der grafischen Oberfläche für das in der letzten Lektion begonnene HaikuFortune.


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

Mittwoch, 16. Juni 2010

Anwendungen für Haiku

Andrew Hudson zeigt in einem Artikel auf OSNews, dass es neben den paar essentiellen Anwendungen, die mit Haiku selbst kommen, eine Vielzahl weiterer Anwendungen existiert. Meist für BeOS entwickelt, laufen sie Dank Haikus weitgehender Binär/Source-Kompatibilität oft unverändert unter Haiku. Öfters müssen zusätzlich erst noch Bibliotheken von Drittanbietern installiert werden und manchmal laufen die Anwendung trotzdem nicht oder nicht zufriedenstellend.

Dienstag, 15. Juni 2010

GSoC 2010 Blogs

Die 7 Google Summer of Code Studenten kommen so langsam in die Gänge (einige werden noch etwas ausgebremst durch letzte Examen vor der Semesterpause) und berichten auf ihren Blogs über ihre Arbeit. Die Inhalte sind natürlich oft sehr technisch, aber wer über die Fortschritte auf dem Laufenden sein möchte, sollte öfters mal dort vorbeischauen. Die Studenten sind angehalten zumindest alle zwei Wochen über ihren Status zu berichten.
Hier nochmal alle GSoC Teilnehmer mit Links zu ihren Blogs:

  • Atis Elsts - Blog
    Mentor: Alexander von Gluck IV
    Projekt: IPv6 Implementierung
  • Janito Vaqueiro Ferreira Filho - Blog
    Mentor: Jérôme Duval
    Projekt: ext3 Dateisystem Implementierung
  • Lucian Adrian Grijincu - Blog]
    Mentor: Niels Sascha Reedijk
    Projekt: lkl-haiku-fsd: generischer Haiku Dateisystem Treiber für alle von Linux unterstützten Dataisysteme
  • Christopher Humphries - Blog
    Mentor: David McPaul
    Projekt: Verbesserungen und Erweiterungen für den Media Player
  • Christophe Huriaux - Blog
    Mentor: Stephan Assmus
    Projekt: Implementierung der Grundlagen eines Services Kit
  • Nathan Mentley - Blog
    Mentor: Michael Lotz
    Projekt: Haiku x86_64 Port
  • Alex Wilson - Blog
    Mentor: Adrien Destugues
    Projekt: Perfektionierung der Layout API

Samstag, 12. Juni 2010

C++ Kurs, Lektion 21

Mit der 21. Lektion beginnt die letzte Runde in DarkWyrms C++ Kurs. Es ist die erste Hälfte eines Zweiteilers bei dem eine etwas anspruchsvollere Anwendung programmiert werden soll.
Das Ziel ist eine etwas aufgebohrte Version von "fortune", samt grafischer Oberfläche: aus einer per Zufall gewählten Datei soll ein Sinnspruch (fortune cookie == Glückskeks) gezogen werden, der in einem Fenster dargestellt wird. Der Benutzer kann sich dann per Button einen weiteren Spruch ansehen oder das Fenster schließen usw.
Dieser erste Teil beschäftigt sich erst mal mit dem Backend bevor dann im nächsten Teil die GUI an der Reihe ist. Das Hauptaugenmerk liegt auf der BFile Klasse, mit der komfortabel Dateien gelesen, geschrieben, erstellt oder gelöscht und ebenso deren Attribute bearbeitet werden können. Wie schon bei früheren Lektionen gibt DarkWyrm das Grundgerüst der Anwendung vor, die Tips zur Implementierung befinden sich in Kommentaren an den entsprechenden Stellen.

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

Freitag, 11. Juni 2010

Mini-Interview mit Diver (Sergei Reznikov)

Besser spät als nie: Bei Haikuware gibt es das Mini-Interview mit dem Gewinner des 16. Thank You Awards, Diver (Sergei Reznikov).

Wie alt bist Du und womit verdienst Du Dein Geld?

Ich bin 27. Zusammen mit meiner Freundin betreibe ich seit einigen Jahren eine mittelgroße ISP Firma in Moskau. Davor war ich Support-Techniker in eben dieser Firma. Dabei wurde ich mit vielen Netzwerk Problemen vertraut - bei Soft- und Hardware ebenso wie bei den Usern. Ich weiß also normalerweise was so alles schief gehen kann und wie man es wieder in Ordnung bringt. Jetzt bin ich allerdings auch froh nicht mehr zu oft mit dem "gemeinen" User zu tun zu haben. :-)

In der Nominierung heißt es, Du hättest in den letzten vier Jahren rekordverdächtige 800+ Bugs gemeldet. Wie schwer (oder einfach) war das?

Ich würde sagen, ziemlich schwierig. Wenn ich mir die ersten paar dutzend Tickets anschaue, war ich ganz schön naiv damals. :-) Sie enthielten nicht viele Infos und waren manchmal nur schlecht nachzuvollziehen; außerdem war mein Englisch damals auch noch schlechter als heute. Als ich allerdings ein Auge auf Haikus Bugzilla und später Trac per RSS behielt, wurde mir klar welche Informationen für die Entwickler normalerweise nützlich sind.

Am meisten motiviert mich, dass ich manchmal einige Aspekte meines bald Vollzeit-Betriebssystems beeinflussen kann, indem ich kleine aber nervende Dinge aufzeige, die ich noch aus der Zeit kenne, als BeOS R5 noch mein Hauptsystem war. Und wenn jemand dann Deinen Bug behebt, spornt Dich das gleich an noch weitere einzutragen.

Was würde Dir die Arbeit an Haiku erleichtern?

Drei Dinge hätte ich gern in Haiku:

  • VirtualBox Erweiterungen: Während ich Haiku unter VirtualBox laufen lasse um Bugs zu finden, ist es oft unbequem benötigte Info vom Gast- zum Host-System zu übermitteln. Momentan benutze ich ftp/scp, aber ich hätte liebend gern Clipboard- und Maus-Support zwischen den Systemen. Außerdem stimmt da irgendwas nicht mit Haikus Performance im Emulator verglichen mit Linux/Windows.
  • Java: Momentan muss ich Ubuntu/Fedora auf allen Rechnern benutzen, weil Java für die ISP Buchhaltung brauche (zumindest zur Administration). Das würde ich wirklich mal eines Tages unter Haiku machen.
  • Office: So traurig das klingt, aber unsere Arbeit verlangt oft nach einem MS Office kompatiblen System.

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

Meine Freundin hat mir kürzlich einige Bücher von Stephen Hawking geschenkt, die ich schon seit Monaten kaufen wollte. Außerdem liebe ich Science Fiction Bücher und Filme. Apropos Filme: Watchmen hat mir letztes Jahr sehr gut gefallen. Manchaml schauen wir auch Sitcoms wie The Big Bang Theory und Weeds. :-)

Sonntag, 6. Juni 2010

BFS Artikel bei Ars Technica

Bei Ars Technica ist seit kurzem ein interessanter Artikel von Andrew Hudson zu lesen. Das Thema ist BFS, das Dateisystem von BeOS und, als Open-Source Nachbau, von Haiku. Bevor etwas mehr in die Tiefe gegangen wird und die Umsetzung einiger Features wie Journaling, Index und Attribute vorgestellt wird, gibt es eine kurze Begriffsklärung was Dateisysteme im Allgemeinen angeht.
Den Abschluss machen zwei Kurzinterviews, zuerst mit dem Hauptentwickler des ursprünglichen BFS, dann mit Axel Dörfler, der für die Implementierung der Open-Source Variante verantwortlich war.

Samstag, 5. Juni 2010

Fortschritte der Haiku Inc.

Kürzlich hat Matt Madia mal die Fortschritte bei Haiku Inc. seit dem letzten Jahr aus seiner Sicht aufgezählt. Haiku Inc. ist die non-profit Organisation (NPO), die Spenden einnimmt und für Dinge ausschüttet, die der Entwicklung und Verbreitung von Haiku zugute kommen. So wurden und werden einige der Entwickler für einen bestimmten Zeitraum angeheuert, um an bestimmten Baustellen gezielt zu arbeiten. Der native Browser WebPositive ist ein gutes Beispiel für so eine Aktion.
Daneben achtet Haiku Inc. auf die Einhaltung des geschützten Logos und Namen "Haiku". Denn obwohl der Sourcecode unter der BSD/MIT Lizenz absolut frei verfügbar ist, möchte man dass unter "Haiku" nur kompatible Distributionen vertrieben werden können, die den hohen Ansprüchen des Haiku Projekts genügen.

Neben administrativen Fortschritten wie formellen Meetings einer offiziellen Mailingliste,
einem Board of Directors und diversen genehmigten Anträgen die für NPOs vorgeschrieben sind, tat sich auch auf der finanziellen Verwaltungsseite etwas. Neue Konten wurden eingerichtet und Haikus Spendensystem wurde etwas erweitert: es werden nun auch Google Checkouts und Amazon Payments akzeptiert und, für viele Europäer interessant, per PayPal kann nun auch in Euro gespendet werden, was Wechselkursschwankungen und Gebühren spart.
Diese neuen Möglichkeiten spiegeln sich in der etwas aufgebohrten Spendeseite wider.
Erstmals wurde ein Jahresbudget aufgestellt, der Finanzreport von 2008 (PDF, 48KiB) konnte endlich fertig gestellt werden und es wurde eine Spendenaktion für 2010 durchgeführt. Nicht zuletzt dadurch konnten etwa 8.000$ für insgesamt 800 Entwickler-Stunden ausgegeben werden und ein neuer Hosting Service für die Server finanziert werden.
Einige offene Punkte sind auch gerade noch in der Bearbeitung: der Finanzreport für 2009, SSL Zertifizierung, Steuerangelegenheiten, eine Satzung und die Vollendung der Trademark -Registrierung.

Matt Madia war zwar nicht der einzige, der sich um diese eher undankbaren Verwaltungsaufgaben gekümmert hat, aber er war in letzter Zeit die treibende Kraft und ihm gebührt daher auf alle Fälle großer Dank!

Mittwoch, 2. Juni 2010

C++ Kurs, Lektion 20

Die Folge 20 macht mal eine kleine Pause mit dem Interface Kit und der GUI Programmierung. Diesmal ist das Storage Kit dran, welches immer dann zum Einsatz kommt, wenn mit Dateien oder Verzeichnissen umgegangen wird. Die Lektion beginnt mit einer Kurzvorstellung der wichtigsten Klassen in diesem Kit, bevor der Einsatz einiger von ihnen in einem gut dokumentierten Beispielprojekt erklärt wird. listdir ist ein simples Kommandozeilenprogramm, das die Dateien/Ordner in einem Verzeichnis samt ihrer Größe auflistet.

Demnächst geht es dann weiter mit der Programmierung einer komplexeren "echten" Anwendung. Dies wird über mehrere Folgen geschehen und alles gelernte zusammenfassen. Damit dürfte dann der erste Teil von DarkWyrms Kurs beendet werden.

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

Dienstag, 1. Juni 2010

17. Thank You Award Gewinner

Der 17. Thank You Award geht wieder mal an zwei Gewinner: DarkWyrm und Pier Luigi Fiorini; beide bekamen 69 Stimmen der abgegebenen 190. Ersterer für seinen C++ Kurs, letzterer für seine native IM Anwendung Caja. Beide bekommen wie üblich ein Haiku T-Shirt.
Glückwunsch an beide Gewinner und vielen Dank an alle Kandidaten!

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.