Meine völlig subjektiven Eindrücke von Ubuntu
Ich habe in der letzten Zeit ein wenig mit Ubuntu Linux auf verschiedenen eee PCs herumexperimentiert. Die Erkenntnisse, die ich dabei gewonnen habe, würde ich gerne hier der geneigten Öffentlichkeit mitteilen. Vorab folgendens:
- Ich bin ein Mac User. Nicht aus ideologischer Überzeugung, sondern weil ich mit Macs am besten zurecht komme und sie NeXTstep am meisten ähneln, womit ich vorher gearbeitet habe.
- Ich habe mit Linux schon 1992 oder 1993 angefangen zu experimentieren, damals in 0.96. Davor habe ich auch schon mit Coherent herumgebastelt. Ich habe sogar Geld als Linux-Admin verdient. Ich bin also kein Neuling und wünsche Linux alles erdenklich Gute. Außerdem arbeite ich selber bei einer Open-Source-Firma.
Fangen wir an mit der Installation von Ubuntu Netbook Remix (UNR) 9.04 auf eine eeePC 701. Das ist der ursprünglich eeePC, noch mit Xandros Linux. Den wollte ich auf UNR umrüsten, weil das für mich gegenüber Xandros die bessere Alternative ist. Ein Grund ist der große Verbreitungsgrad von UNR und das bessere Software-Angebot. Außerdem zweifel ich, dass das Xandros langfristig weiter unterstützt wird. Die Installation von UNR war auch einfach. Am Ende hat man einen einfach zu bedienenden Rechner mit einem schönen Menü, der jede Menge aktuelle Software hat. Nur benutzen kann man ihn nicht. Das Menü ist mit grafischen Animationen verziert. Der eeePC ist nicht dazu in der Lage, diese schnell genug anzuzeigen, so dass die Oberfläche tatsächlich fast nicht benutzbar ist. Das ist erstaunlich, denn zuvor hatte ich auf dem Rechner schon mal viele lustige Grafik-Effekte mit der Linux-Distribution am Laufen, die heute
easypeasy heißt. Die Lösung findet man nach eine Suche im Netz zum Beispiel
hier. Es fehlt lediglich eine Zeile in einer Konfigurationsdatei. Erfahrung hier: Tolle Software-Auswahl, tolles Menü, aber auf dem eee PC 701 kein Plug and Play. Ein "normaler" Anwender hätte das Handtuch geworfen, weil es schlicht nicht ordentlich funktioniert - und das auf dem Rechner, der sehr lange bei Amazon der am besten verkaufte Laptop war.
Auf meinen neuen eee PC 1011HA sollte Ubuntu Desktop 9.10 drauf, obwohl der Test in der c't dem 1011HA eine schlechte Linux-Kompatibilität bescheinigt hat. Mit 9.10 funktionieren WLAN und Netz problemlos, während 9.04 hier noch Probleme machte. Ich habe noch in der Beta-Phase von 9.10 einige Releases installiert. Problem ist die Grafik, aber dank
diesem Thread aus dem Ubuntu-Forum ein lösbares Problem. Allerdings hat irgendein Beta-Update dann den Installation des Grafik-Treibers kaputt gemacht, so dass ich dann neu installieren musste. Allerdings habe ich Fedora 11 ausprobiert, um auch mal davon einen Eindruck zu bekommen. Auch bei Fedora muss man den Grafik-Treiber nachinstallieren, eine Anleitung gibt es
hier. Fedora funktioniert gut, aber mir persönlich gefällt die Oberfläche von Ubuntu besser und auch der Package-Manager von Ubuntu ist eher mein Fall. Außerdem gibt es mit Ubuntu One auch einen Service, um 2GB Daten auf einem Server kostenlos zu parken, was Fedora nicht bietet. Keine großen Themen, aber insgesamt bin ich dann wieder zu Ubuntu gewechselt, nachdem 9.10 Release draußen war. Erstaunlicherweise funktioniert fast alles - Hibernate, Suspend, Sound, Grafik, WebCam - bis auf das interne Mikro. Ein externes geht, wenn auch verrauscht. Skype und VMware Player sind ebenfalls leicht nachinstallierbar.
Was mich wirklich wundert ist allerdings, dass einige Ubuntu Packages einfach nicht funktionieren. eToys funktioniert schlicht nicht und dazu gibt es auch einen Bug-Report. Dabei startet das Programm noch nicht einmal. Ebenfalls habe ich sugar nicht zum Laufen gebracht - die Oberfläche des OLPC (One Laptop Per Child)-Projekts. Hier mag es sein, dass ich etwas falsch gemacht habe, aber es gibt auch dort einen Bug-Report, der besagt, dass sugar einfach nicht startet. Nun sind dies keine sehr wichtigen Pakete, aber es ist schon erstaunlich, wie schlicht nicht lauffähige Software in ein Release kommt.
Ingesamt also überwindbare Probleme. Aber es bleibt die Frage, warum man überhaupt Ubuntu nutzen sollte - jenseits des "Es ist freie Software und es fühlt sich gut an!". Immerhin ist der Anspruch von Ubuntu ja, den
Bug 1 von Ubuntu zu fixen. Meiner Ansicht nach ist ein wesentlicher Vorteil die virtuellen Desktops. Eigentlich ist das ein Feature, dass X Window Manager schon lange anbieten. Man kann tatsächlich mehrere Arbeitsflächen einrichten, die jeweils Anwendungen für bestimmte Aufgaben wie Kommunikation (EMail, Skype, IM) oder konkrete Arbeit (OpenOffice) enthalten. Dadurch kann man tatsächlich diese Aufgaben konsequent voneinander trennen. Lustigerweise geht das viel besser als unter Mac OS X mit Spaces. Das liegt meiner Ansicht nach daran, dass die Desktops tatsächlich getrennt sind. Alt+Tab beispielsweise schaltet nur zwischen den Fenstern im aktuellen Desktop um. bei Mac OS X schaltet es zwischen alle Fenster um. Außerdem kann man Fenster auf einem oder allen Desktops anzeigen lassen. Alles keine Innovationen, sondern schon lange üblich bei Linux - aber eben weder unter Windows noch Mac OS X und ein Feature, dass ich in Mac OS X auch gerne sehen würde.
Ansonsten bin ich nicht sicher, ob ich Microsoft Office Mac gegen OpenOffice eintauschen würde, denn ich bin auf weitgehende Kompatibilität angewiesen. Aber es macht sicher Spaß, sich mal anderswo - also bei Ubuntu - umzusehen.
Fazit: Die Installation von UNR 9.0.4 auf dem eeePC 701 ist nicht akzeptabel. Die Installation auf dem einem derart weit verbreiteten Netbook sollte Plug and Play sein. Die Installation auf dem 1101HA ist erwartungskonform und man hätte den Problemen mit anderer Hardware wahrscheinlich entgehen können. Ubuntu insgesamt macht Spaß - wenn auch einige Dinge wie nicht funktionierende Software - einfach nicht akzeptabel sind.
Am Ende noch ein "Danke" an Canonical, Ubuntu und die Ubuntu-Community für die Software!
Labels: eeePC, Linux, Ubuntu
Über Architekturen und Perfektion
Wenn ich mir Architekturen ansehen, wie sie typischerweise präsentiert werden, muss ich an dieses Photo denken:
Ein völlig sauber, möglichst quadratisches Gebäude mit rechten Winkeln - das ist es, was man meistens als Ziel für die Architektur präsentiert bekommt. Oder die tatsächliche Architektur des Systems soll wirklich so aussehen. Meistens gibt es da aber dann die sprichwörtlichen "kleinen" Ausnahmen.
In Wirklichkeit erinnern mich die tatsächlichen Architekturen eher an das hier:
Das ist das Spiel "Villa Paletti", zum bekommen
bei Amazon. Dabei geht es darum, dass jeder Spieler Säulen seiner Farbe ganz nach oben auf das Gebäude stellen muss, bis es einstürzt. Es gewinnt der Spieler mit den wertvollsten Säulen auf der obersten Ebene.
Wenn man sich die dabei entstehenden Konstruktionen anschaut, sind sie sicher ein Gräuel, wenn man ein Gebäude mit möglichst vielen rechten Winkeln und klaren Strukturen bevorzugt. Und natürlich ist das Ziel einer Software-Architektur nicht, dass sie am Ende einstürzt.
Aber die entstehenden Entwürfe haben auch Vorteile: Auf dem Bild kann man erkennen, dass die oberste Ebene nur von zwei Säulen unterstützt wird. Hier kommt man also mit einem sehr geringen Material-Einsatz aus - und bei einem klassischen Entwurf würde man sicher jede Ebene mindestens mit drei Säulen unterstützen. Es kann also im Laufe des Spiels eine Konstruktion entstehen, die mit weniger Material mehr Höhe erreicht, als dies bei einer im Vorhinein geplanten Konstruktion der Fall wäre.
Die andere interessante Eigenschaft des Spiels ist, dass man ständig evolutionär weiterentwickelt. Das Gebäude umfasst immer alle Bausteine und wird schrittweise "optimiert", also höher. Das ist bei dem Gebäude auf dem anderen Bild sicher nicht der Fall. Dort wird das Gebäude gebaut, es dann irgendwann "fertig" und kann danach eigentlich nicht mehr wirklich verändert werden. Bevor es "fertig" ist, kann man es nicht benutzen. Für Software ist das eine schlechte Eigenschaft, weil man dann die Software nicht ernsthaft weiterentwickeln kann.
Ich bin nun der Meinung, dass "Villa Paletti" eine wesentlich bessere Metapher für Software-Entwicklung ist als das Gebäude weiter oben. Warum?
- Software entsteht evolutionär. Es wird ständig weiterentwickelt, angepasst usw - ein klarer, rechteckiger Entwurf kann dabei nicht entstehen.
- Selbst wenn ein "sauberer" Entwurf entstehen könnte - das "Villa Paletti"-Modell ist teilweise überlegen, wie man am Beispiel des Material-Einsatzes sieht.
Für die Software-Entwicklung bedeutet das aus meiner Sicht, dass wir uns von den klaren, rechteckigen Entwürfen verabschieden müssen - wir werden sie eh nicht realisieren können. Wenn man es dennoch versucht, landet man bei Stackenblocken, weil man es eben nicht schafft, alles in rechten Winkeln anzuordnen. Zu Stackenblocken gibt es unter
http://www.youtube.com/watch?v=QEN5-_93gQg ein sehr sehenswertes Video.
Das bedeutet aus meiner Sicht:
- Lebe damit, dass die Architektur nicht perfekt sein wird!
- Beeinflusse aktiv, welche Teile architekturell besser und schlechter sind. Wenn nicht alles perfekt sein kann, muss man dafür sorgen, dass zumindest die wichtigen Teile eine gute Architektur haben.
- Setze also Prioritäten: Probleme, mit denen man leben kann, sollte man nicht korrigieren. Beispielsweise ist ein sauberer Entwurf kein Wert an sich, sondern er hilft bei der Weiterentwicklung. Ein sauberer Entwurf für einen Teil, den man nicht weiterentwickeln wird, macht daher kaum Sinn.
- Entwickel daher die Architektur und die Software evolutionär weiter. Man kann nicht ein sauberes, neues Gebäude bauen - es wird früher oder später wieder umgebaut werden, das muss evolutionär passieren und das Umschalten auf das neue Gebäude wird nicht einfach sein.
Labels: Architektur