Freitag, 4. Oktober 2013

Packagemanagement schlägt im Master Trunk auf

Nach vielen Monaten Planung und Programmierung, zuletzt mit Vollzeitverträgen von Ingo und Oliver, fand der "Merge" vom Packagemanagement in Haikus Master Trunk statt. Das dürfte der letzte große Meilenstein zur Beta und damit R1 gewesen sein. Die Meldung ist nicht mehr ganz neu; golem.de und OsNews haben schon davon berichtet.

Haikus Packagemanagement bietet einige Vorteile, die für die R1 als unbedingt nötig eingestuft wurden. So sind damit zukünftig Updates des Systems möglich und theoretisch auch Downgrades auf vorige Versionen. Bisher konnte Haiku nur durch eine komplette Neuinstallation auf einen neuen Stand gebracht werden.
Pakete bieten eine benutzerfreundliche De-/Installation und Updatemöglichkeiten, siehe "HaikuDepot". Dabei wird sichergestellt, dass alle eventuell nötigen zusätzlichen Bibliotheken etc. mit de-/installiert werden.

Da die Pakete selbst schreibgeschützt sind und auch Haikus Systemdateien "verpackt" sind, wird nun effektiver verhindert, dass der Benutzer sich ungewollt das System zerschießt. Die Änderungen sind für langjährige Nutzer natürlich etwas gewöhnungsbedürftig. ~/config/boot ist eine Ebene tiefer nach ~/config/settings/boot gewandert und auch ~/config/be liegt nun dort als ~/config/settings/deskbar.
Die aktivierten Packete liegen in /boot/system/packages und ~/config/packages. De-aktiviert werden sie, indem sie einfach aus diesen Verzeichnissen verschoben werden.
"Nicht-paketierte" Anwendungen kann man wie gewoht irgendwo in der /boot/home-Hierarchie ablegen. Evtl. mit der Anwendung kommende Bibliotheken können entweder in einem Unterordner "libs" in dem Anwendungsordner liegen, da /boot/system und ~/config ja schreibgeschützt sind (in letzterem hat man nur auf die ~/config/settings Zugriff). Als Alternative existiert das Verzeichnis ~/config/non-packaged. Hier können ebenfalls Bibliotheken (unter "libs"), Add-Ons (unter "add-ons") oder Konsolenprogramme (unter "bin") abgelegt werden.

Die /boot/common-Hierarchie entfällt übrigens komplett. Es gibt also nur noch die Trennung System/User, was alles eigentlich nochmal etwas vereinfacht. Die genauen Hintergründe für den Verzicht auf "common" kann man im Thread [haiku-development] Removing /boot/common nachlesen.
Alle übrigen Details finden sich im Wiki.

Wie nicht anders zu erwarten nach so einer tiefgreifenden Veränderung im System, sind nach dem "Merge" diverse Fehler aufgetreten und auch schon einige behoben worden. Auch sind noch nicht alle Feinheiten des Packetmanagements ausgearbeitet und es rumort noch etwas im Trunk. Wer sich selbst vom derzeitigen Stand ein Bild machen will und ggf. bei der Bugsuche und -beseitigung mithelfen möchte, für den stehen wie üblich Nightly Images zur Verfügung. Kommt man von einem nicht-PM Haiku, sollte man das Anyboot Image auf einen USB-Stick dd'en, ihn booten und von dort installieren.

Donnerstag, 3. Oktober 2013

Haiku bei StackExchange?

StackExchange ist ein großer Verbund von Q&A Seiten, auf denen User und Entwickler qualitativ hochwertige Fragen stellen und Antworten geben. Gerade der Ableger StackOverflow ist unter Programmierern sehr bekannt und geschätzt.

Momentan gibt es Bemühungen auch für Haiku so ein Q&A Netzwerk zu etablieren. Dazu müssen 40 gute Beispiel-Fragen ersonnen werden, die von anderen mindestens 10 positive Bewertungen erhalten haben. Ist dies geschehen, beginnt eine Beta-Phase, in der dann eine "echte" FAQ Liste mit guten Fragen und Antworten aufgebaut wird.

Doch erst mal muss die erste Phase in "Haikus Area51" bestanden werden. Das geht nur, wenn möglichst viele sich dort anmelden und Fragen bewerten und eigene einbringen. Wohlgemerkt, hier geht es nur um Fragen, Antworten muss man auf sie nicht schreiben.

StackExchange wäre für Haiku User und Entwickler eine wertvolle Resource und eine Möglichkeit für Haiku auch nach außen als lebendige Plattform zu präsentieren. Natürlich nur, wenn genügend von uns mitmachen...

Sonntag, 8. September 2013

Weitere zwei Vollzeit-Verträge

Ingos und Olivers Vollzeit-Verträge mit Haiku Inc. sind noch nicht ganz abgelaufen, da kündigen sich schon die nächsten beiden an. Bei denen geht es zur Abwechslung mal nicht um das Packagemanagement, dessen Grundlagen soweit gediehen sind, dass sie demnächst in den Master Trunk eingefügt werden. Die neuen Baustellen sind Verbesserungen im Kernel und im Browser.

Adrien (PulkoMandy) Destugues kümmert sich um WebPositive und den dahinter werkelnden WebKit Port. Sein erster Plan ist, das schonmal begonnene ServiceKit soweit aufzubohren, dass es als Backend in WebPositive genutzt werden kann. Die Verbesserungen im ServiceKit wären dabei natürlich auch für alle anderen (zukünftigen) Anwendungen interessant, die Daten über das Internet austauschen. Nach etwas Feedback anderer Entwickler, könnter dieser Plan aber noch leichte Änderungen erfahren. Seine Vertragsarbeit beginnt allerdings auch erst im Oktober; er hat also noch etwas Zeit zur Recherche.

Den zweiten Vertrag übernimmt Paweł (pdziepak) Dziepak. Seine Aufgaben liegen noch tiefer im System: er möchte den CPU Scheduler verbessern und Caches besser nutzen, HyperThreading performanter machen und Stromsparfunktionen umsetzen. Alles Themen, die schon länger im Gespräch sind. Bisher fand sich allerdings niemand, der die Zeit hatte sich so tief ins System reinzudenken. Einzelheiten finden sich in Pawełs ersten Blogpost.

Beide Verträge laufen erstmal einen Monat. Paweł würde gern noch einen weiteren anhängen, Adrien nach Möglichkeit mehrere. Beides hängt davon ab, ob sich genügend Spender finden, um es zu finanzieren. Wer mithelfen möchte Haiku in diese beiden essentiellen Komponenten zu verbessern, kann bei Haiku Inc. dafür spenden. Neben einmaligen Spenden gibt es auch die Möglichkeit einen kleinen Betrag automatisch (und jederzeit kündbar) zu überweisen.

Freitag, 30. August 2013

Iljas Multimonitor-Idee

Ilja Demant hat mir folgende Idee zugesandt:


ich bin ein großer Haiku Fan, weil ich hinter Haiku im Gegensatz zu div. Linuxen ein gutes Konzept für freie Software sehe (welches sich nicht alle 2 Monate ändert). Es ist in meinen Augen das einzige was es an vernünftigen Mutimedia-Systemen gibt.

Vielen Dank für Deine Beiträge in der Haiku Gazette, welche ich immer gern und sehr neugierig verfolge.

Gestern Nacht habe ich habe ich mir überlegt, wie die Anwendung Cortex mit Sound umgehen kann. Und da kam mir der Blitzschlag, warum gibt es das noch nicht für Video?

Praktische Anwendung wäre, wenn man 2 Bildschirme (Screen 1 + 2) anschließt und eine Präsentation abhält:
Screen 1 (Monitor) verknüpft mit Workspace 1 (auf dem Bildschirm sind Notizen für die Präsentation)
Screen 2 (Beamer) verknüpft mit Workspace 2 (strahlt die eigentliche Präsentation/Video an die Wand)

Heute kann man bereits bis zu 4 Bildschirmen an einer VGA anschließen z.B. VGA, HDMI, DVI mit Splitter für 2 Monitore.
Die Idee verfolgte mich heute den ganzen Tag und ich habe sie noch weiter gedacht und es sogar gemalt. Die Zuordnung von Workspaces zu verschiedenen Screens wäre optimal für ein Multimedia-System.
Man könnte sogar alle Workspaces in einem Screen 4 (einem Beamer) gleichzeitig angezeigt bekommen "all in one" (z. B. 4 Homepages mit Wetter, Kursen, News usw. siehe Screen 4 auf dem Bild links unten).
Des weiteren könnte man die Screens individuell mit einander verbinden, so zu sagen für ein Video-Puzzle (Screen 1 mit 4 und 3 mit 2).
Aus Sicherheitsgründen wäre der Screen 1 immer Primär und automatisch mit allen Workspaces verknüpft, so kann man nichts kaputtmachen oder aus Versehen abschalten.

In ferner Zukunft, wenn man Multiuser-Support hat, kann man den "Log in" mit einem "Workspace", welches mit einem "Screen" verbunden ist, verknüpfen und auch gleichzeitig mit bestimmten Eingabegeräten (Tastatur und Maus).
Dazu müsste man den Inputserver dann genauso bearbeiten. Damit könnte man in einem Raum an einem einzigen Computer 4 Arbeitsplätze schaffen. Das könnte man in den Schulen anwenden oder auf der Enterprice, wo ein Prozessorkern tausende Bildschirme und Consolen verwaltet.


Ich hoffe meine Fantasien sind was für die Haiku-Gazette und inspirieren dadurch die Leute zu noch mehr Multimedia. Ich danke allen Mitwirkenden, die an Haiku arbeiten und freue mich auf die neuen Idee, die bereits in der nächsten Version umgesetzt werden.

Montag, 19. August 2013

Package Management - Status Update

Nach längerer Zeit hat Ingo wieder einen Blogpost über den momentanen Status des Package Managements geschrieben.
Danach haben sich Oliver und er in der letzten Zeit vornehmlich um Haikus Buildsystem gekümmert. Es ist nun wieder möglich Hybrid-Images zu erstellen, also Haiku Versionen, die mit gcc2 und gcc4 generierten Anwendungen zurecht kommen. Das gelingt nun sauberer als vorher: Früher musste man für gcc2/4 jeweils getrennt das Buildsystem konfigurieren, welches sich dann diverse Dateien aus der jeweils anderen Konfiguration ausborgte. Auch die Optional Packages der jeweils anderen Konfiguration wurde mitbenutzt.
Jetzt wird klar in primäre und sekundäre Architektur getrennt; das Buildsystem weiß selbst was mit welchem Kompiler gebaut werden muss. Aus den Optional Packages können redundante Daten entfallen.
Mit dieser Trennung ist man dann auch gut vorbereitet, wenn andere Architekturen offiziell von Haiku unterstützt werden, wie z.B. x86-64.

Ebenfalls interessant für neue Architekturen ist die Unterstützung von "Bootstrapping". Dabei werden keine schon vorhandenen Pakete heruntergeladen, sondern mittels HaikuPorter per cross-compiling komplett neu erstellt.
Genau das muss jetzt für noch für x86 gcc4 und x86-64 gemacht werden, bevor der Package Management Branch in Haikus Main Branch integriert werden kann.

Wer das alles schon mal ausprobieren will und Probleme im BugTracker melden möchte, für den gibt es wieder PM-Test-Images zum Herunterladen und z.B. per dd auf einen USB-Stick zu schreiben.
Ingo hat eine Wiki Seite erstellt, in der er die Änderungen für das Package Management festhält. Insbesondere die in der Zukunft für die Paketerstellung interessanten Regeln für .bep Dateien des neuen HaikuPorter sind für Entwickler einen Blick wert.

Neben diesen großen Fortschritten im Backend von HaikuPorter und dem Buildsystem, gibt es auch Neuigkeiten beim für den Benutzer sichtbaren Teil. Stephan Aßmus arbeitet unter dem Arbeitstitel "HaikuDepot" an dem grafischen Tool zur Verwaltung von Paketen. Mit ihm sollen bald Pakete online gefunden, deren Beschreibungen und Bewertungen angesehen und dann installiert und de-installiert werden. Wann immer Stephan die Zeit dazu findet, bringt er die Anwendung ein Stückchen weiter voran. Den aktuellen Code findet man im Haikus Main Branch, da es aber noch keine Verbindung zu einem (noch nicht existierenden) Repository/Depot gibt, haben die meisten Funktionen noch keine Wirkung und so fehlt HaikuDepot noch in den Nightly Images.

Hier ein Screenshot mit drei Testpaketen (Stand: hrev45972), der schon erahnen lässt wie simpel und elegant das Packagemanagement dem Benutzer präsentiert werden soll:

Donnerstag, 15. August 2013

Leszeks Haiku Challenge

Leszek Lesner war vor langer Zeit Nutzer von BeOS, danach Zeta und das inoffizielle BeOS Max Edition. Als großer BeOS Fan startete er sogar die kleine Linux Distro "ZevenOS", die sich optisch an BeOS anlehnte. Haiku war von Anfang an auf seinem Radar und so hat er ab und zu die aktuellen Alphas angetestet. In seinen Haiku Screencasts zeigt er immer wieder mal wie man diverse Aufgaben unter Haiku erledigt und auch sein Techview Podcast beinhaltet oft eine kleine Haiku Rubrik.

Haiku ist mittlerweile so stabil, dass er sich nun zu einem Experiment entschloss: Ist Haiku bereits so alltagstauglich, dass man es eine Woche lang als Haupt-Betriebssystem nutzen kann?

Seine Erkenntnisse hält er auf Leszeks Blog fest. Heute hat er die Erfahrungen seines zweiten Tags veröffentlicht.

Montag, 12. August 2013

Haiku Down Under 2013

Wer mitten in der Nacht aufwacht und ums Verrecken nicht mehr einschlafen kann, oder wer einfach eine Extrem-Nachteule ist, für den ist das Treffen Haiku Down Under genau das Richtige. Am Sonntag, 18. August 2013 sind Sikosis und BeMark zum sechsten Mal in der University of Queensland in Brisbane, Australien. Dort präsentieren Haiku den Interessierten vor Ort und per UStream und im IRC (irc://irc.freenode.net/#haiku-au) dem Rest der Welt.

Für Europäer liegt Brisbane in einer ziemlich ungünstigen Zeitzone, wenn es um morgendliche Veranstaltungen geht. Hier das Programm für Haiku Down Under 2013 mit den entsprechend unchristlichen Zeiten:

2:00 - 2:20 : Introduction / Session 1 - State of Haiku
2:20 - 2:30 : Haiku in Action VI
2:30 - 2:40 : Lazarus Demo with BeMark
2:40 - 2:50 : Haiku Visualized
2:50 - 3:10 : cURL Just Wanna Have Fun
3:10 - 3:30 : Open Forum
3:30 - 3:40 : End of Conference then Lunch

Mittwoch, 31. Juli 2013

BeGeistert 027 am 14./15. September 2013

Das 27. BeGeistert Treffen findet am Wochenende 14./15. September 2013 statt. Wie üblich trifft sich die Haiku Gemeinschaft in der Düsseldorfer Jugendherberge und tauscht sich über die neuesten Entwicklungen aus. Anschließend findet wieder eine Woche lang ein Code Sprint statt, bei dem interessierte Coder die Köpfe zusammenstecken um Haiku gemeinsam voranzubringen.
Wer mit dabei sein möchte, kann sich jetzt dafür unter BeGeistert.org registrieren. Ein offizielles Programm gibt's noch nicht; wenn das noch auftaucht, findet man weitere Infos in Haikus Event-Kalender.