Einträge unter 'Java'

Rails und OSX Leopard eine gute Kombination…?

Ich habe am Freitag vormittag pünktlich meine vorbestellte Version von OSX 10.5 “Leopard” bekommen. Leider hatte ich keine Zeit es direkt zu installieren, so habe ich es mir am Samstag vorgenommen.

Da ich vorsichtig bin, habe ich zuerst einmal meine Zweitmaschine -ein schwarzes Core2Duo Macbook- migriert. Ich habe mich für die Variante “Neuinstallation” entschieden, da ich keinerlei wichtige Daten auf der Maschine hatte. Wie bei Apple üblich lief die Installation natürlich absolut rund und in etwa 30 Minuten hatte ich ein lauffähiges Leopard System.

Zuerst einmal habe ich die neuen Tools wie Time Machine, das neue iChat, Spaces und Safari 3.0 etc. ausprobiert, die alle einen guten Eindruck gemacht haben. Im Anschluss wollte ich die wesentliche Frage für mich klären: Kann ich unter Leopard an meinen derzeitigen Arbeitsprojekten arbeiten? Können alle benötigen Abhängigkeiten zum Laufen gebracht werden?

Nachdem ich ein Terminal Fenster geöffnet und die entsprechenden Befehle eingegeben habe, musste ich zu meiner Freude feststellen, dass Ruby 1.8.6, Rubygems und auch Rails 1.2.3 standardmässig vorhanden waren! Insgesamt sind 27 Rubygems vorinstalliert wie z.B. capistrano, fcgi, ferret und mongrel. Das sind schon einmal sehr gute Grundvoraussetzungen, allerdings benötige ich für die meisten meiner Arbeitsprojekte ImageMagick und rmagick.

Im nächsten Schritt habe ich dann mein Ruby Setupscript ausprobiert, über das ich auch schon mal geschrieben habe. Leider musste ich feststellen, dass sich ImageMagick mit Macports nicht installieren ließ. Es scheitert an der Abhängigkeiten “tiff” von ImageMagick (Auch GraphicsMagick hängt übrigens von “tiff” ab). Somit kann ich leider rmagick unter Leopard derzeit nicht zum Laufen bringen. Zudem ließ sich auch ruby ansich nicht kompilieren (zumindest ohne Patches oder spezielle Kompilieranweisungen), weder 1.84, noch 1.8.5 oder 1.8.6. Dann habe ich meine bereits kompilierten Binaries (ruby Versionen, ImageMagick, mysql5 etc.) von OSX Tiger herüber kopiert und konnte diese zum Großteil ausführen. Allerdings konnte ich mysql5 nicht zum Laufen bringen (mit sudo ausgeführt, konnte es sich angeblich nicht an den Port 3306 binden)…

Fazit: Ich persönlich kann meine Arbeitsmachine derzeit noch nicht auf OSX Leopard upgraden. Für Rails ansich ist OSX Leopard allerdings ein Riesenschritt nach vorne. Mit einer Standardinstallation von Leopard kann man sofort mit Rails loslegen. Die Abhängigkeiten, die mir derzeit noch Probleme bereiten, werden sicherlich auch bald von den entsprechenden Entwicklergemeinden gefixt oder Patches bereitgestellt. Also daher, bin ich noch ein bisschen geduldig…

Übrigens noch ein Hinweis für Java Entwickler. Java 6 ist nicht Teil von Leopard und die Java 6 Preview für Tiger läuft nicht unter Leopard! JDK 5 läuft allerdings problemlos.

Update: Nach einem frischen Macports Install habe ich nun mysql5 problemlos laufen. Auch das mysql gem habe ich installiert bekommen. Wenn ihr mysql5 mit macports installiert, könnt ihr folgenden gem Befehl verwenden:

ARCHFLAGS=”-arch i386″ gem install mysql — –with-mysql-include=/opt/local/include/mysql5/mysql/ –with-mysql-lib=/opt/local/lib/mysql5/mysql

Update 2: tiff kompiliert nun auch mit macports und somit kann ImageMagick problemlos installiert werden.

Dieser Code ist “Crap”

Ich habe heute ein Java Tool gefunden, mit dem man ermitteln kann, ob Java Code “Müll” ist… ;) Das Tool heisst Crap4J. Es ist zwar keine 100 prozentig objektive Formel (Change Risk Analysis and Prediction), um die Qualität bzw. das Fehlen an Qualität zu messen, jedoch geht es von der Annahme aus, dass schlechter Code eine hohe Komplexität hat (Cyclomatic Complexity) und wenige Unit Tests dafür vorhanden sind, d.h. die Code Coverage gering ist. Crap4J steht als Eclipse Plugin zur Verfügung.

Meine Eindrücke von der Railsconf Europe 2007 in Berlin

Railsconf 2007

Ein paar Tage nach der Railsconf Europe 2007 in Berlin komme ich nun endlich mal dazu meine Eindrücke aufzuschreiben. Zuerstmal fand ich die Konferenz alles in allem ziemlich gelungen. Die Organisation durch O’Reilly war im Prinzip fehlerlos, das Umfeld deutlich besser als letztes Jahr und die Anzahl der Besucher hatte sich verdoppelt. Die Qualität der Vorträge und Sprecher war in Ordnung, allerdings auch nicht umwerfend.

Angefangen mit der Keynote von DHH wurde relativ schnell klar, dass Rails sehr bald in eine neue Richtung geht bzw. in eine neue Phase eingetreten ist. Rails ist in der kommerziellen Welt angekommen. Es gibt (erstmal) keine “großen Revolutionen” mehr, sondern es ist nun Zeit die Benefits von Rails zu geniessen und anzuwenden. Rails 2.0 steht vor der Tür und wird sehr bald in einem Preview Release verfügbar sein. Darin wurde aufgeräumt, ausgelagert, an Details verbessert und weniger gute Konzepte über Bord geworfen.

Firmen wie Sun und IBM sind nun eindeutig auf den Rails Zug aufgesprungen. Aus reinem Interesse am Framework? Sehr unwahrscheinlich… Klar wurde auf der Railsconf, dass diese Firmen nun um unsere Gunst buhlen, wenn es darum geht Services, Support, Tools, Produkte und Expertise in große Enterprise Projekte einzubringen.

Naja, die Übermacht von Apple Notebooks auf der Railsconf war mal wieder unglaublich. Manchmal saß man in einer Reihe, wo bis zu 8 Macbook Pro’s nebeneinander aufgeklappt waren. Komisch, dass Apple kein Sponsor ist. Mal ehrlich, eine bessere Zielgruppe kann man wohl kaum mehr erreichen…

Inhaltlich habe ich nicht so viel gelernt, aber es ist immer wieder interessant zu sehen, wohin sich das Umfeld bewegt und womit sich Leute beschäftigen. Ich bin weiterhin der Auffassung und das wurde auch durch die Railsconf klar, dass (J)Ruby, Rails und Java zusammen eine Killerkombination sind. Die Entwickler Gemeinden sollten sich wirklich auf eine friedliche Koexistenz einigen. Selbst der Struts Erfinder und Java Server Faces Mitverantwortliche Craig McClanahan war von der Partie und sprach in den höhsten Tönen von Rails… Irgendwie verkehrte Welt… Es scheint, dass man nicht mehr versucht Rails in die Enterprise Welt zu pressen, sondern die Enterprise Welt sich Rails annähert, akzeptiert und natürlich auch davon profitieren möchte…

Java ist doch nur Junk…

Das Interview mit David Heinemeier Hansson ist nicht mehr ganz neu, aber ich wollte doch nochmal die Gelegenheit nutzen darauf hinzuweisen. Großartig! Ich liebe es wenn Leute “starke Meinungen” haben und eine ganze Industrie (Hersteller von Java und .NET basierten Architekturen) mit einem Begriff (Junk) völlig politisch inkorrekt abstrafen. Ein weiteres Beispiel ist Linus Torvalds, der Linux “Erfinder”, der immer wieder mit seinen völlig arroganten Bemerkungen (z.B. über CVS) unangenehm auffällt.
Ich bin zwar überhaupt nicht einer Meinung mit David, aber ich finde es gut, dass er weiterhin unangepasst ist und an seine Idee glaubt. Ich denke allerdings, es ist nur vorteilhaft, dass eine Java Implementation von Ruby gibt, denn die (in Konzernen vorhandenen) J2EE/JEE Umgebungen (Applikationserver) sind in Sachen Skalierbarkeit, Clusterfähigkeit, Ausfallsicherheit, Connection Management etc. dem üblichen Rails Stack deutlich überlegen. David sieht JRuby und andere Lösungen als Nischen und ich denke, darin täuscht er sich. Ich denke, die Zukunft sieht gut aus für diese Lösungen.