Samstag, 27. Juni 2009

GSoC/HCD 2009 Status, Monat 1

Der erste der drei GSoC/HCD Monate ist um. Obwohl einige Studenten noch mit ihren Semesterprüfungen beschäftigt waren, gibt es einen kleinen Statusbericht der meisten Teilnehmer. Weitere Details tauchen immer wieder auf deren Blogs auf.

  • Adrien Destugues (Blog)
    Adriens Arbeit an Kataloge für Übersetzungen von Anwendungen funktioniiert jetzt grundsätzlich mit Haikus API. Als nächstes kommt unter anderem International Components for Unicode (ICU) und ein Panel zum Einstellen der Sprache dran. ICU bietet u.a. Konvertierungen von Datum, Zeit, Währungen und ähnlichen länderspeifischen Besonderheiten. Später, nach dem eigentlichen GSoC soll es noch einen Wrapper für die gettext Bibliothek für POSIX Anwendungen geben.
  • Maxime Simon (Blog)
    Maxime und sein Mentor Ryan Leavengood haben an den Grundlagen für den Browser gearbeitet und den WebKit Port auf den neuesten Stand gebracht. Insbesondere hat Maxime an der Bookmark Verwaltung, einer Werkzeugleiste und dem Design vom Rendern mehrerer paralleler Prozesse gearbeitet. Anfang des Monats war er mehr mit dem WebKit beschäftigt, dessen Haiku-spezifischer Code an an die aktuelle Version angepasst werden musste.
  • Johannes Wischert (Blog)
    Johannes hat endlich seinen Gumstix Overo Water samt Tobi Erweiterung geliefert bekommen. Vorher hat er sich auf den Kernel und den U-Boot Loader konzentriert, die er unter Qemu getestet hat. Als nächstes steht die MMU Unterstützung und einen Treiber für den microSD Cardreader an.
  • Bryce Groff (Blog)
    Bryce hat schon einiges an Code hochgeladen. Mit DriveSetup können mittlerweile BFS Partitionen erstellt und gelöscht werden. Getestet hat er das ganze übrigens unter Haiku, das in Qemu unter Haiku lief!
  • Ankur Sethi (Blog)
    CLucene, eine Bibliothek für eine Such-API, gibt es Dank Ankurs Portierung nun als OptionalPackage im Buildsystem. Der Indizierungs Daemon, der ermittelt welche Dateien indiziert werden sollen oder deren Index aktualisiert werden muss, mach auch schon erste Fortschritte. Diese Ergebnisse zu durchsuchen und mittels Translators innerhalb von nicht-Textdateien zu suchen, stehen auch noch auf Ankurs Agenda.
  • Raghu Nagireddy (Blog)
    Raghu hat die wichtigsten Funktionen des FUSE Moduls implementiert. Für den Rest muss er sich noch etwas eingehender mit Haikus Virtual File System auseinandersetzen. Dann muss das Ganze mit der fs-shell kompiliert werden. Das Debugging kann dann mit Werkzeugen des Hostsystem übernommen werden.

Mini-Interview mit 11. TYA Sieger: Humdinger

Bei Haikuware findet sich das traditionelle Mini-Interview mit dem letzten TYA Gewinner.

Wie alt bist Du und womit verdienst Du Dein Geld?

Ich bin 37 und arbeite als technischer Redakteur für eine Firma, die Reparaturanleitungen für einen der gerade "prosperierenden" Auto/Motorradhersteller erstellt...

In der Nominierung heißt es Du wärst schwer mit Haikus Dokumenattaion beschäftigt gewesen. Wie schwer (oder einfach) war das? Hast Du in den letzten zwei Monaten anderes vollbracht, das wir übersehen haben und das Du als erfolgreicher oder interessanter empfindest?

Schwer oder einfach... es ist wohl keins von beiden. In erster Linie ist es zeitaufwändig: schreiben, ein Bildschirmfoto machen, mehr schreiben, etwas neu schreiben, wieder zurück und den Screenshot aktualisieren, usw. Dann muss man immer auf der Hut sein, um die ganzen Änderungen und Erweiterungen nicht zu verpassen, während Haiku heranwächst.
Auch das richtige Maß muss gefunden werden. Man möchte ja nicht jedes selbsterklärende Menü und Button beschreiben. Andererseits kann dieses Weglassen den Leser irritieren: Warum sind da Lücken, ist die Dokumentation veraltet? Ich versuche auf alle Fälle alles vernünftig ausführlich zu beschreiben und denke mir, das ich oder jemand anders später die Sachen ja auch nochmal ändern oder ganz rausschmeißen kann.

Ich muss allerdings zugeben, dass ich in den letzten zwei Monaten Doku-mäßig nicht allzu aktiv war. Außer ein paar Korrekturen und wenigen neuen Sachen lief da eigentlich nicht so viel. Am meisten haben mich eher die Übersetzungen der Google Summer of Code und Haiku Code Drive Interviews in Beschlag genommen. Nicht dass ich diese Übersetzungen als Riesenerfolg ansähe, vielmehr sind sie ein Ausdruck des Respekts für alle Studenten und ihre Mentoren.

Was würde Dir die Arbeit an Haiku erleichtern?

Obwohl Haiku bei mir meistens in VirtualBox läuft, wäre ein Treiber für die nVidia 7600GS meines Notebooks toll. Momentan muss ich im VESA fail-safe Mode booten, der das Bild horizontal auf dem Breitbild-LCD verzerrt. Das ist so unscharf, dass ich's nur für ein paar Minuten aushalte um irgendwas nachzuschauen, bevor ich schnell wieder zurück zur VirtualBox in Ubuntu zurückkehre.

Welches interessante Buch, Band, Podcast, Website, Magazin, Film, Serie etc. würdest Du gern empfehlen?

Mal sehen... Bill Brysons Buch "A Short History of Nearly Everything" lässt sich gut lesen. Es erzählt wie wissenschaftliche Entdeckungen gemacht wurden und wie wir erfuhren was wir heute über das Leben, das Universum und alles sonst wissen. Nicht total wissenschaftlich natürlich, aber eine unterhaltsame Abhandlung, die den Kern der Sache trifft.
Als Podcast empfehle ich den Geologic Podcast von George Hrab, ein sehr witziger und intelligenter Musiker. Manchmal steigert er sich etwas rein, aber das ist wohl normal wenn man etwas mit Leidenschaft tut. Die James Randi Educational Foundation ist ein weiteres Highlight. Während einen das Swift Blog mal amüsiert mal schockiert, ob des um sich greifenden Unverstands und dessen skrupellose Ausnutzung durch betrügerische Geschäftemacher, ist das Forum der eigentliche Lichtblick. Hier schreiben einige äußerst schlaue Leute. Ich lese meist in der Wissenschaftsecke und verirre mich nur ab und zu in die Verschwörungstheorie oder Paranormale Rubrik um mal kräftig abzulachen. Nachtrag: Ein gute Übersicht über die Fakten zur Klimadebatte findet sich in dieser 12teiligen Vorlesung (120 Minuten). Sehr interessant für alle, die wissen wollen was denn nun Sache ist.

Was noch... Ach ja: "Buffy the Vampire Slayer" rules! Ja, immernoch. :E
Danke an alle die gewählt haben. Ich finde für den Thank You Award nominiert zu sein ist schon der Ehre genug. Zu Gewinnen ist dann nur noch das Sahnehäubchen. Nichtsdestotrotz, in meinem miesen Leben auch mal zu gewinnen, fühlt sich echt gut an. Witzle!
Ernsthaft, vielen Dank, Jungs!

Qt Port kommt voran

Vor nicht zu langer Zeit gab's von Evgeny Abdraimov mal die Meldung, das der Qt Port einen guten Schritt voran gekommen ist. Die QtGUI Bibliothek lässt sich nun für Haiku kompilieren und einige Sachen laufen auch schon. Natürlich fehlen noch weite Teile von Qt, Hilfe wäre also bestimmt sehr willkommen.
Hier handelt es sich übrigens um einen Port, der ohne X11 auskommt und sich daher besser ins System integriert. Anders sieht's da bei dem anderen Qt Projekt im Rahmen von TiltOS aus. Das nutzt X11, läuft daher nur in einem X11-Fenster, ist aber dafür schon etwas weiter.

Qt ist ein sehr umfangreiches Framework, das fast alles (und mehr) enthält, was Haikus eigene API bietet; von GUI Elementen bis Kommunikation über TCP/IP. Entsprechend umfassend ist das Softwareangebot, das auf das Qt Toolkit setzt, z.B. KDE, Opera, Mathematica, MainActor, VirtualBox, VLC, Scribus und die Entwicklungsumgebung Qt Creator. Qt für Haiku würde Portierungen dieser Softwaretitel möglich machen und Haiku ein Riesenangebot an (teilweise) ausgereiften Programmen eröffnen.

Nun gibt es allerdings auch eine Kehrseite der Medaille...
Wie auch schon mal auf der Developer Mailingliste zu lesen war, sind nicht alle Entwickler von den Vorteilen von Qt überzeugt. Es besteht die Gefahr, dass sich die Qt Ports nicht in die Haiku Umgebung integrieren und der Vorteil der Nutzung systemweiter Technologien, die Haiku so attraktiv machen, verschwindet. Man stelle sich vor die Nutzung von Multithreading, MediaKit, DataTranslators, Attribute, Queries, Node-Monitoring, Replicants und evtl. auch einiges von Haikus Look & Feel und die Philosophie-der-guten-Defaults-statt-Optionsorgien wäre nicht mehr überall
vorhanden.

Es sind praktisch die Argumente, die gegen jede Portierung sprechen. Qt könnte da allerdings als besonderer Katalysator wirken: Portierungen (die nicht auf Haiku Technologien eingehen) werden relativ einfach und das Qt-Softwareangebot ist so groß, dass nativ entwickelte Programme ins Hintertreffen geraten könnten, "weil's ja schon alles gibt".

Aber nachdem sich Qt nicht aufhalten lässt, sobald jemand genügend Motivation aufbringt es zu portieren, ist die Frage, ob man die Sache nicht unterstützen sollte, wenn's soweit ist. Dann würde sich Qt so gut es geht ins System integrieren und so Haiku zumindest möglichst wenig schaden...

Es wurde auch kurz angedacht Qt zukünftig als Nachfolger des InterfaceKit zu verwenden. Qt wäre von der Philosophie her ähnlich, aber halt viel vollständiger. Außerdem wird es von einer vergleichsweise riesigen Entwicklergemeinde weiterentwickelt und getestet. Das Gegenargument ist natürlich, dass man einen integralen Teil von Haiku aus der Hand gibt. Wozu überhaupt ein eigenes Betriebssystem entwickeln, wenn man um Arbeit zu sparen am Ende nicht ein komplett eigenes System hat, das man nach Belieben seinen Wünschen anpassen kann?

Wäre interessant zu erfahren, wie Leute zu der Sache stehen, die sich in der Materie auskennen. Ich selbst hab mich damit nicht eingehender beschäftigt, obige Aussagen sind also als die evtl. etwas uninformierte Einzelmeinung eines Endusers zu betrachten...

Freitag, 26. Juni 2009

11. Thank You Award naht

Wer noch weitere Kandidaten für den 11. Thank You Award hat, muss sich beeilen sie zu melden. Ab morgen beginnt die Abstimmung! Leider konnten bisher nicht alle Kandidaten erreicht werden. Somit sind's bisher nur drei:

  • David McPaul "dlmcpaul" - hat kürzlich den H264 und ASF Decoder zum Laufen gebracht. Nebenher verbesserte noch die bestehenden Codecs. Ohne ihn wäre die Haiku Welt um einiges weniger bunt.
  • Clemens Zeidler "czeidler" - hat den Email Einstellungen etwas Intelligenz eingehaucht: Man muss nur noch seinen Namen und Email Adresse eingeben und anhand einer Liste werden automatisch die POP und SMTP Adressen ausgefüllt. Praktisch!
  • Joachim Seemer "Humdinger" - war angeblich schwer mit der Doku für Haiku beschäftigt. [Ich muss allerdings zugeben, dass ich in dieser Hinsicht in den letzten Monaten eher faul war... :)]


Update:
Überraschenderweise lag ich bei der Abstimmung ganz knapp vor David McPaul und Clemens Zeidler. Ist mir fast peinlich, ich halte beide für "würdiger"... Nichtsdestotrotz: "Ich möchte mich herzlich bei allen Wählerinnen und Wählern für ihr Vertrauen bedanken...". Ach nee, Europawahl ist ja erst nächstes Wochenende. :)

Samstag, 20. Juni 2009

10. RMLL in Nantes, Frankreich

Das 10. Rencontres Mondiales du Logiciel Libre (RMLL), ein Treffen für Freunde Freier Software, findet dieses Jahr vom 7. bis 11. Juli 2009 in Nantes, Frankreich, statt.

Wie schon im vergangenen Jahr, wird Haiku auch diesmal wieder mit einem Stand vertreten sein. Neben François Revol, der die Sache wieder angeleiert hat, sind wahrscheinlich auch Alexandre Deckner, Adrien Destugues und Philippe Houdoin mit von der Partie. François ist übrigens auch für zwei Vorträge vorgesehen: Einmal über den Haiku Port auf die ARM Architektur und dann noch über die BeOS/Haiku Community und ihre Entwicklung in einer Opensource Umgebung.

Wer Bock hat und vielleicht gerade Urlaub in der Ecke Frankreichs machen möchte, kann ja mal vorbei schauen und Hallo sagen.

Freitag, 19. Juni 2009

Paladin in Version 1.0

Nach nur 7 Monaten hat Darkwyrms BeIDE-Ersatz Paladin die 1.0-Reife erreicht, d.h. alle für den Anfang geplanten Features sind vorhanden und sowohl die gcc2, wie auch die gcc4 Variante, läuft stabil im täglichen Einsatz. Neben der stabilen Version wird es auch immer wieder Entwicklungsversionen geben, die zeigen was noch so in Arbeit ist. Als Beispiele dafür nennt Darkwyrm einen makefile-Generator, besseres Multithreading beim Build, verbesserte Integration von Resource-Dateien, Shellskript-Unterstützung und schnelle Projekt-Backups.

Dass Paladin nicht nur Ersatz für die BeIDE ist, zeigt eine kleine Liste seiner Verbesserungen:

  • Opensource - jeder kann den Code nach Belieben weiterentwickeln, solange das Copyright der Originaldateien erhalten bleibt
  • Dateien wie ToDo-Listen und andere Notizen lassen sich zum Projekt hinzufügen
  • flex und bison Unterstützung
  • Das kompilierte Projekt kann flexibel gestartet werden: Debug-Ausgaben können geloggt werden, Argumente können beim Start übergeben werden
  • Debug-Unterstützung mit gdb in Haiku
  • Projektdateien benutzen ein offenes Format
  • Projekte können vom Terminal aus kompiliert werden
Darkwyrm würde sich sehr über Feedback freuen. Er hat selbst gemerkt, dass die meisten Bugs und Featurewünsche erwartungsgemäß dann zutage treten, wenn man Paladin tagtäglich benutzt. So laufen mittlerweile alle seine Projekte unter Paladin; auch Paladin selbst. Die IDE ist also wirklich einsatzbereit.

Neben Paladin arbeitet Darkwyrm an einem GUI Designer, der sich bestimmt gut im Paladin Paket integrieren wird. Dafür hat er ein internes API Gerüst ersonnen, das ein wenig wie Python funktioniert. Es erlaubt seiner Software äußerst simpel aus z.B. einer Checkbox einen Radio-Button zu machen. Diese Flexibilität wird zum einen die Entwicklung des Designers vereinfachen, zum anderen werden sich auch neue, selbst entwickelte Interface Klassen/Widgets leicht integrieren lassen.
Außerdem sieht's so aus, als wäre dieses Backend sprachunabhängig, d.h. es ließe sich vielleicht auch mittels Python, Perl oder yab nutzen. Die weitere Entwicklung wird allerdings erst noch zeigen, ob das wirklich so möglich ist.

Auch zum GUI Designer ist Darkwyrm natürlich sehr an Wünschen, Tips und Vorschlägen evtl. zukünftiger Anwender interessiert.
Er rechnet mit ersten Ergebnissen Ende des Sommers. Wer immer uptodate sein will, sollte öfters mal bei seinem Blog vorbeischauen.

Donnerstag, 11. Juni 2009

Nachgereicht: Podcast-Interview von den Chemnitzer Linux Tagen 2009

Vollkommen überraschend bin ich über ein Interview von Stephan Aßmus und Axel Dörfler gestolpert, das die beiden anlässlich der Chemnitzer Linux Tage im März diesen Jahres für RadioTux gegeben haben. Knapp 25 Minuten (MP3/OGG) erzählen die beiden von Haikus Entstehung, dessen Vor- und Nachteile und klären natürlich auch die immer gern gestellte Frage, wozu Haiku, wenn es doch schon Linux gibt...
Von dem Interview musste ich bei den Weblinks der Haikuseite auf Wikipedia erfahren. Also ehrlich, Jungs, sowas darf man doch nicht verheimlichen. Wie ihr seht, kommt's ja doch irgendwann raus. :)

Mittwoch, 10. Juni 2009

BeOS Artefakte: Hard-, Soft- und Wear-ware

Der Langzeit-BeOS-User Kancept bietet seine umfangreiche Sammlung rund um BeOS auf Ebay zum Verkauf an. Angebote werden aus Versicherungs-/Versandgründen allerdings nur aus USA/Canada angenommen.
Neben einer Menge Shirts, PR-Material und Originalsoftware, dürften die 2x66Mhz BeBox und das BeIA Qubit Tablett die Highlights der Kollektion sein.

Update:
Wie bei OSNews zu lesen oder im 12. Podcast auch zu hören, hat die Sammlung für satte $2.675 den Besitzer gewechselt!

Interview mit Eric Petit

Bei Haikuware gibt es ein Interview mit Eric Petit, "titer" im IRC, zu lesen. Eric konnte kürzlich vermelden, dass der Bittorrent Client Transmission 1.61 erfolgreich auf Haiku läuft.

Erzähl uns ein bisschen über Dich.

Ich wohne in Nantes, Frankreich. Ich hab mit BeOS 4.5 in 1999 oder 2000 angefangen. 2001 kam ich zum VideLAN Projekt und fing u.a. damit an Tony Castle beim BeOS Port von VLC zu helfen. Am Ende hab ich den Port für einige Jahre übernommen.
Im Jahr 2003 startete ich dann HandBrake (erst auf BeOS, dann den Port zu MacOS X und Linux) und in 2005 Transmission. So ziemlich seitdem ich kein Student mehr bin, bin ich bei diesen Projekten nicht mehr aktiv, andere haben sie jedoch übernommen. Die BeOS/Haiku Versionen werden allerdings nicht mehr gepflegt.

Seit der r30896 scheint die aktuelle Transmission Version 1.61 auch unter Haiku zu laufen. Wie gelang Dir das? Musstest Du dazu noch irgendwelche Bibliotheken portieren?

Im letzten Jahr hat Haiku eine Reife erreicht, die es für Entwickler richtig benutzbar macht. Das Haiku Team hat da saubere Arbeit geleistet und ich dachte, nun wäre es Zeit auch etwas zurückzugeben. Es stellte sich heraus, dass das Portieren bzw. Aktualisieren neuer Anwendungen eine gute Möglichkeit ist, verschiedene Bereiche des Systems einem Stresstest zu unterziehen. Ich hoffe, das hilft dabei Haiku zu einem ausgereiften Betriebssystem zu machen. So offenbarte der Transmission Port z.B. einige kleine Bugs in Haiku's Network Stack.
Transmission unter Haiku zu kompilieren und laufen zu lassen war keine große Sache. Ich musste nur einige Probleme von Transmission selbst und seinen Abhängigkeiten (libevent) umgehen, etwas mit dem Matt Madia bereits begonnen hatte. Die meiste Zeit nahm das Verfolgen der oben schon erwähnten Bugs in Anspruch.
Ich muss jetzt noch meine Änderungen etwas aufräumen und noch mehr testen (bisher hab ich dazu nur das Herunterladen von Dateien für einige Minuten probiert). Transmission 1.70 wurde kürzlich veröffentlicht und ich hoffe, dass wir einen offiziellen Haiku Port bis zu einem zukünftigen 1.7x Punkt-Release haben werden.

Hast Du Pläne eine grafische Oberfläche (neben dem Webinterface) zu entwickeln bzw. zu portieren?

Transmission hatte schon mal eine eigene GUI unter BeOS (damals von Bryan Varner geschrieben), aber seitdem hat sich so viel innerhalb von Transmission geändert, dass es wahrscheinlich schneller wäre ganz von vorn anzufangen. Ich selbst hab das nicht vor - obwohl ich früher schon so einige GUIs entworfen habe, heutzutage nervt's mich. :)
Wie Du schon sagtest, momentan lässt sich ein Transmission Daemon gut über das Webinterface steuern.

Arbeitest Du gerade auch noch an anderen Anwendungen oder hast Du Pläne für welche?

VLC 1.0.0 wäre ein logischer Kandidat. Scottmc arbeitet schon dran und ich hoffe, ich kann dabei helfen. Das wird bestimmt mehr Arbeit werden als für Transmission. Einerseits, weil es einfach ein größeres Projekt ist (mit viel mehr Abhängigkeiten), andererseits weil sich die aktuellen Entwickler dort stark auf die POSIX API des Betriebssystems verlassen. Das hat kürzlich selbst unter OS X zu Problemen geführt, wir werden also sehen wie gut sich Haiku da verhält. Unter Umständen erfordert es Änderungen oder Aktualisierungen von Haiku selbst.
Irgendwann würde ich auch gern beim PPC Port von Haiku helfen. Ich hab nämlich ein G3 iBook, das mit OS X so seine Probleme hat. Aber alles was ich tun kann, um der x86 Version zu helfen, sollte wohl zuerst kommen.

Dienstag, 9. Juni 2009

Mindwork's Clockwerk jetzt open-source

Wie Stephan Aßmus schon bei seinem Interview für den POFACS Podcast angedeutet hat, konnte Mindwork's /Clockwerk/ endlich unter der GPL veröffentlicht werden, wie das schon länger mit Mindwork's Steffen Friedle geplant war. Stephan hat von Anfang 2006 bis Mitte 2008 mehr oder weniger Vollzeit an dem Programm gearbeitet. Auch Axel Dörfler und Ingo Weinhold waren, obwohl eher mit anderen Mindwork Projekten beschäftigt, an einigen Teilen der Anwendung beteiligt.

Clockwerk ist ein Compositing Programm um Videos, Audioclips und Bilder in mehreren Spuren zusammen zu mischen.

Update;
Bei Haiku Italia hat Giuseppe einen Screenshot gepostet. In dem Thread auf der Haiku Mailingliste, in dem Stephan die Veröffentlichung angekündigt hat, findet sich auch eine kleine Liste der Features:

  • verschachtelte Playlisten/Zeitschienen
  • unbegrenzt viele Spuren für Medien aller Art
  • Spuren benennen, stumm oder solo schalten
  • Trennung von importiern Clips und ihren Zeitschienen
  • durchsuchbare Bibliotheken von importierten Clips
  • animierbare Eigenschaften (Transformation, Transparenz und Lautstärke)
  • Textobjekte (Blockausrichtung und direktes Bearbeiten vom Inhalt)
  • Laufschrift
  • Unterstützt alle Audio/Video-Formate des MediaKits
  • Unterstützt alle Bildformate des TranslationKits
  • Rendern der Zeitschiene (noch nicht in Haiku)
  • Multi-Threaded Rendern, Wiedergabe, Speichern
  • noch sehr einfaches Zeitschienen-Editieren (einzelne verschobene Clips kleben automatisch an den nächsten, Clips schneiden)
  • horizontales Zoomen der Zeitschiene
  • Alpha Compositing (animierbare globale Tranzparenz eines Clips) und Alpha Kanal in Bildern
  • zoom- und scollbare Vorschau
  • Wiedergabe eines Abschnitts, Looping, Scrubbing
  • automatisches Erstellen von Playlisten (Diashow mit automatischen Überblendungen)

Am meisten wird jedoch noch vermisst:
  • Vorschaubildchen bei Videoclips
  • Filtereffekte

Zur Zeit werden noch ein bisschen die Lizenzen der verschiedenen Teile der Anwendung auseinander sortiert. Während der eigentliche Clockwerk Code unter der GPL veröffentlicht wird, werden auch einige Teile von WonderBrush und eXposer benutzt, die weiterhin unter MIT laufen sollen. Das Projekt wird bei OSDrawer gehostet.

Was jetzt natürlich noch fehlt, ist das Encoding in Haikus MediaKit: bisher können Medien nämlich nur abgespielt werden, aber nicht neu erstellt werden. Vielleicht erfährt dieser Teil nun mehr Aufmerksamkeit, da es so einen Multimedia Multitrack Editor gibt.
Vielen Dank an Steffen Friedle, für die großzügige GPL-Lizensierung von Clockwerk! Dadurch wurde es zwar für Mindwork auch nicht zu einem kommerziellen Erfolg, wie es zu gönnen gewesen wäre, aber zumindest war die ganze Arbeit nicht umsonst.

Mittwoch, 3. Juni 2009

BeGeistert 021 Termin steht fest

Der Termin für das 21. BeGeistert, passend untertitelt mit "The 21st Century OS", steht fest: 17. - 18. Oktober 2009, wie gewohnt in der Jugendherberge Düsseldorf. Das Anmeldeformular auf BeGeistert.org und evtl. ein Programm zu erwartender Vorträge/Workshops kommen erst noch.
An das BeGeistert Wochenende wird sich wieder eine Woche "Code Sprint" anschließen, zu der sich Entwickler anmelden können, um konzentriert zusammen mit einigen der Core-Developer an Haiku zu arbeiten.

Also, schonmal Terminkalender raus und eintragen. Oder am besten gleich die Anreise buchen und evtl. ein bisschen Geld sparen.

Neues von den Haikuware Bounties

Die Bounty für den WLAN Stack geht in den Endspurt. $2.000 sind angepeilt, es fehlen also nicht mal mehr $400. Obwohl Colin Günther bereits kräftig im Rahmen seines Masters daran arbeitet, wäre es doch schön, wenn der angestrebte Betrag wirklich zusammen kommen würde. Der €/$-Wechselkurs stand übrigens schon lang nicht mehr so günstig. :)

Daneben wurde von jemanden eine neue Bounty eröffnet: die Haiku Portierung auf die Xbox. Bisher steht weder das monetäre Ziel der Bounty, noch ein Entwickler fest, der sie umsetzen will. Dies wäre aber auf Fälle schon mal ein grober Plan:

Hardware

  • Original Xbox, soft-modded oder chipped
  • Unterstützung für 1.0 bis 1.5 xbox (1.6 kann später kommen, hat einen anderen Video Encoder)
  • 10gb Festplatte für eine Installation von Haiku auf der F: Partition
Treiber
  • Integrierter Grafikchip (nVidia nForce 420, aber mit einem GeForce "NV2A" statt GeForce2 MX)
  • USB Tastatur und Maus
  • Netzwerk (nForce "nvnet")
  • PIC16LC (Steuert Shutdown/Reboot, Power Knopf, Eject Knopf, Eject Befehle und Videokabeltyp)
  • Xpad Unterstützung als Maus (optional)
  • DVD Laufwerk
Zu lösende Probleme
  • PCI Enumeration Bug
  • kein Super-I/O Chip
  • Timer Frequenz (Xbox=1125000)
  • alles was Haiku sonst noch am Booten hindert.
Einige Programme, die laufen müssen
  • Tracker
  • Deskbar
  • Firefox

Dienstag, 2. Juni 2009

GSoC'09 Interview mit Alexey Burshtein

IsComputerOn hat noch einen Nachzügler für die GSoC'09 Interviews zu bieten: Alexey "hitech" Burshtein.

Erzähl uns als erstes etwas über Dich. Wie hast Du mit den Programmieren angefangen? Warum hast Du Dich dafür entschieden?

Diese beiden Fragen hängen eng miteinander zusammen, ich werde sie also auch zusammen beantworten. Ich heiße Alexey Burshtein. Ich habe russische Wurzeln (oder sollte ich "sovietisch" sagen? :) ), bin 1978 in West-Sibirien in Irkutsk geboren. Hier möchte ich mal die Gelegenheit ergreifen und eine falsche Vorstellung vieler zurechtrücken, wenn sie an Sibirien denken: Viele denke da an einen eiskalten, von Schneestürmen heimgesuchten Ort. Während das im Winter meistens stimmt, Temperaturen sinken bis zu -30°C, sind die Sommer normalerweise brühtend heiß. Dann steigen die Tempereaturen bis auf +40°C. Niemand sagt, das Leben sei einfach, besonders nicht an Orten wie diesen. :)

Als ich fünf war, ist meine Familie in die kleine russische Stadt Nalchik im Nord-Kaukasus umgezogen, 200 km weg von Tschetschenien (durch den Krieg gegen Russland bekannt geworden). Hier begann ich die Schule und machte meine ersten Erfahrungen mit Computern. Als ich sieben war, fing mein Vater bei einer Baufirma an, die Berechnungen auf ES Computern machten. Das waren im Grunde die gleichen alten IBMs, von den Soviets gestolen und unter einem anderen Namen produziert. Die Technik von damals kann man heute wohl nur noch im Museum sehen, und zwar in einem großen Austellungsraum: Der Computer, so schnell wie ein heutiger Taschenrechner, war so groß wie ein Basketballfeld mit geregelter Lufttemperatur und-feuchtigkeit.

Und, da steh ich zu dem Wort, ich arbeitete mit diesen Kisten. Schon damals - wir reden hier vom Jahr 1985 - im Westen hatte man da schon Apple Macs, die erste Microsoft Windos Version (Gott bewahre! :) ), Festplatten und andere Früchte des Fortschritts. Zu dieser Zeit tippte ich meine ersten BASIC Programme ein (Text-basierte Spiele im Stil von "Rogue"), die ich auf Lochkarten, Lochstreifen und seltener auf Magentbänder speicherte. Falls ich die wertvollen Speicherresourcen und Computerzeiten für meine Programmierversuche verschwenden durfte (was normalerweise kein Problem war, weil mein Vater die Abteilung leitete :) ).

Dort sah ich auch meinen ersten Computer in PC-Größe: Einen "Iskra-226", ein Computer von Russen konstruiert aber eigentlich eine Replika eines Wang 2200. 1987 fiel er mir in die Hände. Er hatte eine 8 Zoll Floppy, formattiert 237 KB, 2-Farb Display mit sagenhaften 31 cm (12") Diagonale und 512x256 Pixel und wog ungefähr 40 kg. Sein Riesenvorteil - und das mein ich ernst - war, dass BASIC in der Kommandozeile integriert war. So konnte man ganz einfach anfangen am Prompt sein Programm einzutippen (10 INPUT X, "Enter", 20 PRINT X etc.), laufen zu lassen und zu debuggen. Alles ohne eine besondere Entwicklungsumgebung starten zu müssen. Ich glaube ja, dieser Vorteil wurde unterschätzt und eine Kommandozeile, die zugleich eine IDE ist, ist eine tolle Sache.

Der Rechner hatte auch eine externe Festplatte - 5 MB in der Größe von Opas altem Venyl Plattenspieler. Durch die durchsichtige Abdeckung konnte man die sich bewegenden Schreib/Lesekopf-Arme sehen und es war ein tolles Gefühl ein Programm zu schreiben, das diese Bewegungen kontrollierte. Ich durfte die Platte weder lesen noch beschreiben, aber programmierte die Ärmchen so, dass sie zu meinen Lieblingsliedern tanzten. Die Motoren für die Köpfe, die rotierende Platte und deren hoch- und runterfahren, machten alle unterschiedliche Geräusche und so hab ich versucht Musik damit zu machen. Manchmal klappte das sogar, meistens aber nicht. :)

Irgendwann schenkte IBM meiner Schule einige IBM PS/2 Rechner und als ich in die 8. Klasse kam beschäftigte ich mich mit höheren Sprachen wie Pascal. Normalerweise zählte ich zu den Besten in meiner Klasse. Für meine Klassenarbeit entwickelte ich sogar ein kleines Intro mit funkelnden Sternen, fliegenden Raketen, wehenden Fahnen usw. (im interstellaren Vakuum - auf Realismus kam's mir da noch nicht an ;) ). Ihr hättet meinen Lehrer sehen sollen, als er meine Hausaufgabe korrigieren wollte und auf mein Intro stieß - das ganze Brimborium nur für sowas wie das Maximum aus drei Zahlen finden oder eine Bubblesort Implementierung! Neben dem normalen Unterricht nahm ich an einem zusätzlichen Kurs teil, bei dem auf einem höheren Level an Algorithmen und Problemlösungen gearbeitet wurde. Und da fing alles an... Auch nachdem ich 1994 nach Israel ausgewandert bin, programmierte ich immer weiter und hab bis heute nicht aufgehört.

Bis 2001 hab ich nie daran gedacht professionell zu programmieren. Im Gegenteil, ich wollte Physiker werden und tat alles um diesen Traum zu verwirklichen. Ich zweifelte erstmals an dieser Entscheidung, als mir klar wurde, dass fortgeschriettene Nuklearphysik, die mich besonders interessierte, fast zu 95% aus höherer Mathematik bestand. Und meine Noten im Einführungskurs zur Programmierung waren alle viel besser als jedem Physikkurs.

Seit 2002 arbeitete ich in den IBM Labs in Haifa in der Systems & Storage Abteilung. Meine Aufgabe war der Support und die Entwicklung von Debugging Tools, die Entwicklung von "Advanced Mirroring" (kontinuierliches Kopieren) für die DS8000 und DS6000 High-End Enterprise-Level Speicherserver, Codepflege etc. Diesen April habe ich IBM verlassen, um mein Studium für mein Master-Diplom fortzusetzen.

Was mich besonders zu Computer hinzog, waren Computerspiele. Die guten alten Titel wie Prehistorik, Nightmare on Elm Street, King's Bounty (Vorgänger der "Heroes of Might and Magic" Serie, Starcon, Wing commander und natürlich Prince of Persia. Alle fast perfekt - aber halt nicht ganz perfekt. Daher mein Drang sie zu perfektionieren, damit sie sich so verhielten, wie ich es gern hätte. Aber sobald ich an einem Spiel arbeitete, merkte ich, dass es einfacher war ein komplett neues Spiel zu entwickeln, als ein bestehendes Spiel zu disassemblen und zu "korrigieren" (damals konnte ich nur Pascal und BASIC). Soweit ich mich erinnere war ein FPS Raumschiff Simulator das einzige Projekt, das ich fertiggestellt und für meine Freunde "veröffentlicht" habe.

Ich finde Computerspiele sind sehr wichtig für die Entwicklung eines Programmierers. Zumindest sind sie ein guter Ausgangspunkt.

Wie hast Du von Haiku erfahren? Hattest Du vorher schon Erfahrung mit BeOS oder Zeta?

1999 arbeitete ich bei Israel's größsten Internet Provider "NetVision Ltd." im Privatkunden Support. Erinnert ihr euch an die Typen, die ihr anruft when ihr euch nicht mehr mit dem Internet verbinden könnt? Ich war einer von ihnen. Verdammt, für 4 Jahre war ich dabei, von Januar 1999 bis Ende 2002. Im Schnitt entkommen die Leute nach 8 Monaten aus dieser Abteilung. Seit dem denke ich über ein Drehbuch für ein IT Horrorfilm nach, basierend auf wahren Gegebenheiten. Ich fürchte allerdings der Film käme gleich wegen extremer Gewaltdarstellung auf den Index. :)

Eines kalten Dezember Abends, während einer langen, einsamen Schicht, erwischte ich einen Kollen mit einer CD in der Hand, wie er durch die Abteilung lief. Die CD war mit "BeOS 4.5" beschriftet.

Zwei Wochen vorher hatte ich mir eine nVidea RIva TNT2 M64 Grafikkarte gekauft. Beim durchstöbern der nVidia Webseite nach Treibern, sah ich, dass es auch Treiber für BeOS gab. Das Logo war so attraktiv: blau, weiß und rot... Das fiel mir sofort wieder ein, als ich die Beschriftung sah. Natürlich schnapte ich mir die CD aus der Hand meines Kollegen und kopierte sie. (Für mich war zur der Zeit "für Software bezahlen" etwas das nur den "Bösen" in Hollywood Filmen zustieß.)

Ich hab das Betriebssystem dann auf meinem Rechner installiert und war beeindruckt von der Geschwindigkeit, den kurzen Ansprechzeiten und der Qualität und Benutzbarkeit des Systems. Als erstes hab ich mich mit dem Uni-Netzwerk verbunden (damals wohnte ich im Wohnheim). Das ging in nur 20 Sekunden. Ich weiß noch, wie geschockt ich vor der Tastatur saß, weil ich nicht glauben konnte, dass es so einfach war. Bei Windows 98 (dem einzigen OS auf meinem Rechner damals) musste ich mehrmals neu Booten, um die selbe Netzwerkverbindung einzurichten.

Die blaue Hintergrundfarbe entsprach genau meinem Lieblingston. Zusammen mit den leuchtend gelben Reitern wurde das OS sofort mein bester Freund. Es war auf meinem Rechner sogar mein Hauptsystem bis letzten Herbst, als es wegen Hardwareänderungen nicht mehr hochfuhr.

Nur selten würde ich Software als lebendig bezeichnen, aber hier war so ein Fall: Von Anfang an verglich ich BeOS mit einem hübschen, sportlichen Mädchen in einem schönen Kleid, das mal albern und kindisch, sich mal ziert oder eifersüchtig ist (besonders wenn sie nicht genug Aufmerksamkeit bekommt, d.h. Du es für längere Zeit nicht mehr bootest). Aber normalerweise vergibt sie schnell wieder und hilft Dir wo sie kann. Und da bin ich wohl nicht allein (hier auch). In der Diskussion zu diesem Bild rief jemand sofort "Hm... Haiku!". Er assoziiert Haiku anscheinend auch mit einem Mädchen. Der Punkt ist, BeOS und ihre Nachfolger sind, genauso wie Schiffe, lebendige Wesen. Windows verbinde ich übrigens mit einem hässlichen, langsamen und schwergewichtigen Arbeitspferd(... bullock), mehr ist es nicht.

Meine Besessenheit mit BeOS lässt sich belegen: Eines meiner poetischsten Komplimente für eine Frau war "Du bist noch besser als BeOS". Wenn das nicht überzeugt: Meine drei Katzen heißen Bes, Haiku und Zet - ratet mal wem zu ehren. :)

Seit Anfang 2000 bin ich als Alex Hitech Mitglied in der russischen BeOS Community. Ich habe schon einige Programme für BeOS geschrieben, die ich aber erst veröffentliche, wenn ich mit ihrer Qualität zufrieden bin. Die Liste meiner Programme ist daher ziemlich kurz.

Fast hätt ich's vergessen, ich hab für BeOS ein kleines Buch geschrieben: "Immigrant's guide to BeOS (ehemals "BeOS Bubble" in Anlehnung an die BeOS Bible). Darin beschreibe ich so ungefähr was in der BeOS Bible in den ersten fünf Kapiteln steht, also eine Beschreibung des BeOS, seine Vor- und Nachteile, Installation, eine Beschreibung aller mit BeOS kommender Programme und wie man ins Internet kommt. Das Buch ist auf Russisch und wurde bis vor kurzem Online veröffentlicht. Außerdem war es Teil der "BeOS/Zeta Expedition CD".

Wie hast Du vom GSoC erfahren und wann wolltest Du das erste mal teilnehmen?

Weil ich die BeOS Community ungefähr seit dem Jahr 2000 im Auge behalte, war mir der Google Summer of Code der letzten Jahre bekannt - genauer, seit Haiku beim GSoC mitmacht. Ich dachte daran teilzunehmen, aber dafür bräuchte ich eine Genehmigung meiner Vorgesetzten, was nicht einfach gewesen wäre. Um ein closed-source Freeware Programm zu entwickeln braucht man übrigens in der Regel keine Genehmigung. Die einzige Bedingung ist, dass Programm nicht mit dem Produkt des Arbeitgebers konkurriert.

Das Problem ist folgendes: Wenn jemand in seiner Freizeit an einem open-source Projekt arbeitet, könnte er dabei zufälligerweise auf eine Lösung stoßen, die er dann später auch bei seinem closed-source Arbeitsprojekt verwendet. GPL-code in die Storage-Software einzuschleusen, wäre eine Katastrophe für meine Arbeitgeber. Wegen der "infizierenden" Wirkung der GPL, müssten sie die gesamte Software ebenfalls unter der GPL rausgeben. Kleinere Firmen könnten bei sowas sogar bankrott gehen. Deswegen ergreift jede Firma, die propritäre Software entwickelt, Maßnahmen um selbst zufälligen Kontakt ihrer Angestellten mit open-source Code zu verhindern, der vorher nicht durch ihre Rechtsabteilung geprüft wurde. Das geht sogar so weit, dass in einigen Firmen die Angestellten, die an einem open-source Projekt, in einem eigenen Gebäude sitzen und keinerlei Kontakt zu den anderen haben dürfen, die an ähnlichen, aber proprietären Projekten arbeiten.

Und das wiederum bedeutet, dass jeder der an einem open-source Projekt arbeiten will, unbedingt mit seinem Vorgesetzten reden muss. Der geht dann mit dem Anwalt über die Projektbeschreibung und, nach dem Schneeballprinzip, kann das bis zur höchsten Managementstufe gehen bis eine Genehmigung erteilt wird. Firmen nehmen Lizensierungsfragen wirklich sehr ernst, oh ja!

Zurück zu mir und den GSoC. Ich habe eine generelle Genehmigung bekommen, eigene Anwendungen für BeOS zu entwickeln (solange ich kein Konkurrenzprodukt zum DS8000 baue :) ). Ein Engagement beim GSoC würde allerdings eine viel eingehendere Prüfung erfordern. Daher hab ich nicht mal versucht mich zu bewerben.

Dieses Jahr wusste ich allerdings, dass ich IBM verlassen würde und meldete mich endlich für den GSoC an. Ich habe drei Bewerbungen für drei Haiku Projekte abgegeben.

Warum ist es Haiku für Dich wert daran zu arbeiten?

Wie ich vorher schon sagte, bin ich ein riesen Fan von BeOS und seinen Derivaten. Haiku ist es also per Definition wert. :)

Im Ernst, BeOS' Stärken sind gepaart mit der freien open-source Lizenz einfach überwältigend. Ich glaube zwar nicht, dass die ganze Welt plötzlich aufhört Windows zu benutzen und stattdessen Haiku installiert (obwohl das die perfekte Zukunft wäre :-P ), aber im Ernst, Haiku ist elegant, durchdacht und schnell. Benutzer wie Entwickler können sehr einfach mal damit rumspielen.

Zwei Punkte, die meine Behauptung stützen:

Erstens, meine Mutter ist ein ganz besonderer Computernutzer. Falls bei Wikipedia mal einen Artikel über den "Primitiven Nutzer" (und damit meine ich das Gegenteil zum "Fortgeschrittenen Nutzer") geben wird, wäre der Artikel mit einem Bild meiner Mutter illustriert. Sie benutzt immer noch einen 486er mit Windows 3.11, weil ihre Bedürfnisse damit voll abgedeckt werden (sprich: es läuft "Solitär"). Nichtsdestotrotz kam sie gut zurecht als sie mal meinen Rechner benutzen musste - Programme starten, Spiele, ins Internet gehen, Musik und Filme abspielen - unter BeOS gar kein Problem für sie. Was die Sache erschwerte, war die fehlende Lokalisierung. Obwohl meine Mutter kein Englisch kann, meisterte sie auch das. Für mich ist das genau die Bedeutung von "Intuitive Bedienung": Selbst ein User fast ohne Computer Erfahrung kann ihre Aufgaben erfolgreich erledigen. Die Bedienoberfläche ist eine der großen Stärken von BeOS. Und da Haiku die gleiche benutzt, somit auch eine Stärke von Haiku.

Zweitens, ich bin Programmierer. Ich hab auf Systemebene schon unter diversen Betriebssystemen programmiert, darunter AIX, QNX und OS/2 (ich hatte das Glück in einer Abteilung mit Leuten zuarbeiten, die OS/2 mitentwickelt hatten). Und ich muss sagen, unter keinem OS ist die Anwendungsentwicklung einfacher. Die API ist rund, logisch und nachvollziehbar - was auf die Win32 API z.B. nicht zutrifft.

Die einfache Bedienung und Entwicklung sind die Stärken von Haiku. Sie versprechen eine große Zukunft.

Für was hast Du Dich beworben und was hat Dich daran besonders interessiert? Gab es andere Projekte, die Du auch gern angegangen wärst?

Wie gesagt, habe ich mich mit drei Projekten beworben:

Webcam Treiber
Je mehr Leute Haiku benutzen, desto mehr wollen das zukünftige Multimediasystem auch für Multimedia nutzen. Eine Kamera zu verwenden ist ein Grundbaustein von modernem Multimedia. Wenn immer mehr Leute Video Chats abhalten, werden sie sauer sein, wenn ihre Kamera unter Linux und Windows funktioniert, aber nicht unter Haiku. Außerdem hab ich mir gedacht es wäre schön wenn Haiku Usergroups ihre Treffen in Echtzeit ins Netz übertragen könnten. :)

Verbesserung des WebKit und Entwicklung eines WebKit-basierten, nativen Haiku Browser
Je mehr Menschen Haiku im Alltag benutzen, desto mehr wird Haiku davon profitieren. Weil die meisten User mit ihnen spielen, Dokumente bearbeiten, Multimedia abspielen (E-Books lesen gehört hier auch zu Multimedia) und durch's Netz surfen, wird die Entwicklung eines feature-reichen schnellen Browsers ein Viertel aller Probleme von Haiku Neulingen lösen. Oder gar die Hälfte, wenn Google Documents für ihre Zwecke ausreicht.

Entwicklung einer Kalender/Organizer Anwendung
Das ist mein Favorit. Ich hab mit diesem Programm angefangen, lange bevor ich meine Bewerbung abgeschickt habe. Der Grund war, dass ich irgendwie meine Zeitplanung praktisch erledigen wollte.

Die einfachste Möglichkeit wäre, eine Tabellenkalkulation wie MS Excel (Gott bewahre!) oder Gobe Productive zu nehmen und die Zeitplanung da zu machen. Dann macht man eine Hardcopy, entweder automatisiert (sprich: "ausdrucken") oder manuell (also: mit Stift und Papier "abschreiben", und trägt die immer bei sich. Das ist aber zu, sagen wir mal, "Alte Schule" und Low-Tech; auch berücksichtigt es nicht evtl. auftretende Änderungen.

Eine fortschrittlichere Möglichkeit wäre die Verwendung einer Zeitplanungssoftware wie MS Outlook (Mann, die sind echt überall! :) ), Palm Desktop oder BePlan, wo man sich den kompletten Semesterplan mittels wiederholender Ereignisse erfasst. Die Ereignisse ließen sich dann bei Bedarf anpassen. Besser noch, die Zeitplanung ließe sich mit Mobilgeräten und Handys synchronisieren, was das ganze portabel und aktualisierbar machen würde. Schön wäre auch, wenn man die Funktionalität erweitern würde: So könnte man einen Tag vor dem Examen erinnert werden sich vorzubereiten, per E-Mail, Aufruf eines Skripts, Abspielen eines Sounds etc. Keiner der Planer für BeOS/Haiku kann sowas, obwohl AutoPilot und BeThere dem schon recht nahe kommen. Andererseits können die ihre Kalender nicht auf den Desktop verankern. Schade, wie ich finde, Replicants sollten wo möglich (und praktisch) verwendet werden.

Letztendlich hab ich ein grobes Design der Anwendung entwickelt und auch schon mit der Implementierung begonnen. Auf der Bewerbungsseite stehen noch ein paar mehr Details.

Wie lief die Bewerbung ab? War irgendwas zu kompliziert oder abschreckend?

Ehrlich gesagt war die Voraussetzung einen mit "Easy" gekennzeichneten Bug zu beseitigen nicht so einladend. Ich verstehe allerdings den Sinn dahinter. Es sieht auf alle Fälle so aus, als würde dies zur Standardprozedur für Haikus GSoC. Ich werde mich also damit abfinden müssen. :)

Hast Du Dich neben Haiku noch bei anderen GSoC Organisationen beworben?

Nee, hab ich nicht. Ich hab mir überlegt es bei ReactOS zu probieren, aber soweit ich weiß, waren die dieses Jahr nicht beim GSoC dabei.

Wärst Du an einen evtl. Haiku Code Drive wie im letzten Jahr interessiert? [Das Interview wurde vor der Bekanntgabe der HCD Studenten gehalten.]

Sicher wär ich das. Ich würde die Kalender/Organizer Anwendung bevorzugen, weil mir die am meisten nutzen würde ;) , aber alles andere wäre auch möglich.

ICO bedankt sich herzlich für die ausführlichen Antworten, der Übersetzer ist nicht ganz so dankbar, aber immer noch reichlich... :)