J and I and Me
2009-11-08
  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:



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: , ,

 
2009-11-06
  Ü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?



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:

Labels:

 
2009-10-20
  Noch Plätze frei: Spring: Performance, Skalierbarkeit & Betrieb am 3.11. in Düsseldorf
Am 3.11. findet in Düsseldorf der Event zu Spring: Performance, Skalierbarkeit & Betrieb statt.

Auf der Agenda steht:


Nähere Informationen finden Sie unter http://spring-performance.eventbrite.com/. Dort können Sie sich auch registrieren. Es wird ein Unkostenbeitrag in Höhe von 99€ erhoben, für das leibliche Wohl ist gesorgt.

Labels: , , , ,

 
2009-10-07
  JAOO: Dritter Tag
Heute habe ich nur wenige Sessions besucht. In der Keynote hat Cameron Purdy nocheinmal die Vorteile von Java gegenüber C++. Daraus wollte er dann die Probleme von Java ableiten, die eine neue Sprache lösen müsste. Dort kamen Themen wie Startup Time, Memory Footprint, Full GC Pausen usw - meiner Meinung nach nicht wirklich die großen Probleme.

Dann habe ich noch den Schluss von Beat Schweglers Vortrag über Microsofts Cloud-Pläne mitbekommen und mich geärgert, dass ich nicht früher bei dem Talk war.

Gregor Hohpe sprach über Googles Cloud Ansatz. Dabei ging es um das Google File System, Big Table für Datenhaltung und Map Reduce für die Verteilung von Arbeit. Wie auch Urs Hölzle vor ihm gab das einen guten und interessante Einblick darin, wie Google arbeitet.

Schließlich habe ich noch den Vortrag von Rod Johnson, dem Chef der SpringSource Division bei VMware angehört. Dieser Vortrag zeigt sehr deutlich, wo die Chancen von SpringSource un VMWare liegen. Die Folien gibt es hier - reinschauen lohnt sich. Fast alle anderen Folien finden sich im Schedule der Konferenz.

Labels: , , ,

 
  Artikel zu Spring ROO
Hier findet sich ein Artikel meines Kollegen Mike Wiesner für Jaxenter über Spring ROO. Dabei handelt sich um einen Generator-basierten Ansatz für die Entwicklung von Spring-Anwendungen. Viel Spaß beim Lesen.

Labels: ,

 
  JAOO: Tag 2
Zunächst ein Nachtrag zum ersten Tag: Ich war auch in einem Talk von Jonas Jacobi zu WebSockets. Interessant war dabei neben WebSockets auch das Stomp-Protokoll, mit dem man in JavaScript von ActiveMQ Mesages empfangen kann - und das sehr problemlos.

Der zweite Tag ging los mit einer Keynot von Simon Peyton-Jones (Microsoft Research) zu Haskell, einer funktionalen Programmiersprache, und zwar insbesondere zu dem Typ-System und der Modellierung von Klassen in dem System. Inhaltlich fand ich es sehr interessant, aber sicher auch eher schwer zu verstehen. Gleichzeitig zeigt die Keynote, dass Sprachen wieder ein Thema sind. Lustig ist vor allem, dass vor längerer Zeit ein Bekannter Haskell an der Uni lernen musste und sehr negativ dazu eingestellt war - weil es ihm akademisch und nicht praxisrelevant erschien. Jetzt scheint Haskell in der Nutzung auch außerhalb der Unix zumindest zuzulegen und Microsoft Research wird sicher nicht "einfach so" Experten in dieser Sprache eingestellt haben.

Den Start des von mir organisierten "Java Now" Tracks gab es auch eine Art Keynote. Rod Johnson, Erfinder von Spring und Chef der SpringSource-Division bei VMWare, sprach über den Trend zu Open Source und leichtgewichtigen Ansätzen bei Java. Ich fand diesen Vortrag vor allem wichtig, um auf die große Bedeutung von Open Source als Innovator bei Java hinzuweisen.

In diesem Sinne ging es dann weiter: Dalibor Topic (Sun) sprach über das OpenJDK-Projekt, dessen Leiter er ist. Neben den Innovationen wie Type Annotations habe ich vor allem mitgenommen, dass Java noch mehr Verbreitung findet, seit es Open Source ist. So steht es jetzt in jeder Linux-Distribution zur Verfügung und auch in vielen anderen Betriebssystemen wie beispielsweise BSD. Später zeigte Dalibor mir noch eine Grafik, die zeigt, dass es auch immer mehr Open-Source-Projekte gibt, die auf Java setzen. Also wird durch das OpenJDK-Projekt Java noch populärer.

Martin Lippert sprach dann über OSGi auf dem Server, meiner Meinung nach eines der wichtigsten Zukunftsthemen für Server-Java. Schön war, dass Martin auch der Meinung ist, dass der SpringSource dm Server in diesem Bereich im Moment die beste Lösung darstellt. Inhaltlich ging Martin neben den Grundlagen - also den Problemen, die man bei OSGi auf dem Server hat - auch auf die neuen Architektur-Herausforderungen wegen der Dynamik von OSGi ein. Ich denke, dass in diesem Feld noch einige interessante Ansätze möglich sein werden.

Kirk Pepperdine sprach über Latenzzeiten. Gerade bei automatisierten Börsen-Systemen können Latenzen sehr wichtig sein. In seinem Talk hat er dann einen vollständigen Ansatz zur Analyse von Performance-Problemen dargestellt - was für eine Stunde eine große Leistung ist.

Am Abend gab es dann noch eine Diskussion mit James O Coplien und mir bei der JavaGruppen zur Zukunft von Java. An dieser Stelle nochmal mein Dank an JavaGruppen und Martin Boel für die Organisation. Insgesamt gab es eine lebhafte Diskussion und ich hoffe, dass dabei klar geworden ist, dass Java und die JVM eine sehr positive Zukunft haben werden.

Labels: , , , , ,

 
2009-10-05
  JAOO: Erster Tag
Ich bin gerade auf der JAAO Konferenze in Dänemark und habe den ersten Tag erfolgreich hinter mich gebracht. Hier die Highlights:

Für morgen steht dann der von mir organisierte Java-Track auf dem Programm...
 
2009-09-24
  Bitte wählen!
Am Sonntag ist Bundestagswahl. Ich möchte alle Leser dieses Blogs darum bitten, an der Wahl teilzunehmen und dabei eine demokratische Partei - also nicht NPD - zu wählen.

Und an dieser Stelle noch ein Hinweis an die NPD-Wähler unter den Lesern: Sie sind hier nicht erwünscht. Ich möchte nicht, dass die Ergebnisse meiner Arbeit von Nazis genutzt werden. Bitte bestellen Sie den Blog ab. Danke.
 
2009-09-23
  SE-Radio-Interview mit mir über Spring
Unter http://www.se-radio.net/podcast/2009-09/spring-2009-eberhard-wolff gibt es eine Interview mit mir zum Spring-Framework - allerdings in Englisch. An dieser Stelle mein Dank an SE Radio und insbesondere Markus Völter für das Interviews.

Labels: ,

 
J für Java, Java EE | I für Internet, iMac, iBook und iPod | Me für mich

Mein Foto
Name: Eberhard Wolff
Standort: Berlin, Germany

Ich arbeite als Regional Director für SpringSource, die Firma hinter dem Spring Framework, in Deutschland. Hauptsächlich beschäftige ich mich mit Java EE, Spring und agiler Software Entwicklung. Ich bin einer von weltweit 20 Gründungsmitgliedern Java Champions. Außerdem benutze ich - wann immer es geht - mein MacBook pro...

ARCHIVES
Juni 2005 / Juli 2005 / August 2005 / September 2005 / Oktober 2005 / November 2005 / Dezember 2005 / Januar 2006 / Februar 2006 / März 2006 / April 2006 / Mai 2006 / Juni 2006 / Juli 2006 / August 2006 / September 2006 / Oktober 2006 / November 2006 / Dezember 2006 / Januar 2007 / Februar 2007 / März 2007 / April 2007 / Mai 2007 / Juni 2007 / Juli 2007 / August 2007 / September 2007 / Oktober 2007 / November 2007 / Dezember 2007 / Januar 2008 / April 2008 / Mai 2008 / Juni 2008 / August 2008 / September 2008 / November 2008 / Januar 2009 / Februar 2009 / März 2009 / April 2009 / Mai 2009 / Juni 2009 / Juli 2009 / August 2009 / September 2009 / Oktober 2009 / November 2009 /

Links

Spring Training in Deutschland

SpringSource - die Firma hinter Spring

Spring User Group Germany

Software Engineering Radio Audiocast

Das Spring Buch

Twitter

Feeds
Feedburner
Site Feed