Matt, auch besser bekannt als the Merbist, hat bekanntgemacht, dass er sich aus der Railswelt zurückzieht. Besonders bekannt war Matt aufgrund seines Engagements im MacRuby, Merb und Rails Umfeld.
Bei O’Reilly wird in kürze das Buch “Rails in a Nutshell” erscheinen. Einen ersten Entwurf kann man bereits jetzt schon lesen. Die Autoren bitten um Korrekturen bevor sie das ganze noch einmal auf tote Bäume drucken. Ich finde diese neue Offenheit der einzelnen Verlage absolut positiv. Die Bücher in digitaler Form anzubieten war schon lange überfällig, aber diese nun auch während der Entstehung bereitzustellen, ist meiner Meinung nach eine klare Win-Win Situation. Weiter so!
Was mich an dem ganzen gewundert hat, war dieser alte Blogeintrag. 2006 wurde bereits angekündigt, dass ein Nutshell Buch über Rails in Arbeit ist. Der damalige Autor Jeremy Voorhis, scheint jedoch dem ganzen nicht Herr geworden zu sein.
Das ist keine Arroganz (auch wenn es von unten so aussehen mag :-). Es ist einfach Genugtuung nach ewiger Bevormundung im Bereich Lokalisierung auch mal auf unserer Seite des Atlantik sich zurückzulehnen und mit den Schultern zu zucken. Ein amerikanischer Rails Anwender hat folgende Verbesserung in 1.9 für sich entdeckt:
ruby-1.8.6-p383:
1 2 |
require "date" Date.parse("01/02/2009").day # => 2 |
ruby-1.9.1-p243:
1 2 |
require "date" Date.parse("01/02/2009").day # => 1 |
Mein Beileid geht an alle diejenigen, die ASCII für das Nonplusultra halten, UTF-8 als die Lösung Ihrer nicht existenten Probleme ansehen und sich immer gefragt haben warum in einer englischsprachigen Welt Lokalisierung ein Thema sein soll.
Heute Morgen ist die Version 2.3.4 von Rails erschienen. Das Interessante an diesem Release ist die Geschichte hinter dem XSS Vulnerability Patch. Brian Mastenbrook hatte vor einiger Zeit einen Fehler in Twitter und Basecamp entdeckt. Durch diesen konnte er JavaScript in beiden Seiten einschleusen und dadurch Cross Site Scripting durchführen. Bei der Meldung dieses Fehlers stieß Brian jedoch auf erhebliche Probleme bei der Kommunikation mit 37Signals, die Ihn zu der Empfehlung führten, dass man in Zukunft lieber keine Daten mehr bei 37Signals speichern sollte.
Phusion Passenger ist in der Version 2.2.5 erschienen und behebt mit dieser einige seit längerer Zeit bestehende Probleme.
Es gibt weiterhin berichte, dass Passenger bei der neusten (und auch bei älteren) Versionen Probleme mit Mac OS X 10.6 verursacht. Bisher ist den Entwickler aber noch nicht klar, was diese Fehler verursacht und wie sie diese beheben können. Wenn ich raten müsste, würde ich sagen, dass es etwas mit dem 64bit Support zu tun hat. Wie werden sehen.
Wie bei EngineYard gerade zu lesen ist, wurde heute auf der JavaOne angekündigt, dass ab Juli 2009 eine JRuby Betaphase auf der EngineYard Serverfarm beginnt. Ab dann soll es möglich sein, statt des MRI (1.8.6) auch JRuby verwenden zu können. Michael Mullany von Engine Yard begründet diesen Schritt, mit der Kundenanforderung bereits vorhandenen Java Code auch in zukünftigen Railsapplikationen weiterzuverwenden. Laut Ezra ist bisher aber noch nicht vollständig klar, wir die Integration in der “EngineYard Cloud” aussehen wird.
Mit dem heutigen Release 2.2.2 wollte ich mal alle Leute auf Phusion Passenger aufmerksam machen (sofern es noch welche gibt, die Phusion nicht kennen).
Bei Phusion Passenger handelt es sich um ein Modul für Apache und Nginx, welches es spielend einfach gestaltet, eine Rack Applikation (jajaja, nicht nur Rails!) auf einem Server zum Laufen zu bekommen. Das Projekt selbst existiert seit etwa einem Jahr und in dieser Zeit ist eine Menge passiert. Ursprünglich waren die Köpfe hinter Phusion Passenger für die Ruby Enterprise Edition verantwortlich. Auf diesem aufbauend, entwickelten sie ein Modul, dass sich in den Apache einbinden lies und mit wenigen Konfigurationszeilen (5 wenn ich mich recht entsinne) eine Rack Applikation zum rennen brachte. Beeindruckend finde ich noch heute das Installationsskript, welches in seiner Professionalität mir so bisher in keinem anderen Projekt aus der Ruby Szene bisher untergekommen ist. Nach dem die Monate ins Land gingen (und Phusion Passenger sich verbreitete) wurde vor einigen Wochen die Unterstützung von Nginx bekanntgegeben. Der Weg dahin war mit einem (als Rant verstandenen) Blog Eintrag und einer Präsentation und anschließend einer kleinen Spende Richtung Phusion geflastert. Engine Yard spielt auch an dieser Stelle (wie in letzter Zeit fast überall in der Ruby Welt) ein gewisses Stück mit. Verschwörung?
Wie ich gerade eben gesehen habe, wurde ein weiteres Magazin mit dem Thema Rails vorgestellt. Zusammen mit der auch sehr frischen RailsWay scheint es eine richtige Zeitschriftenwelle zu geben (sofern ich bei zwei Stück schon von sowas sprechen darf :-). Der Markt ist dann wohl trotz seiner systembedingten Latenz doch nicht so tot wie angenommen.
rake19 – das ist der Befehl, der in meinem Edge-Rails-Verzeichnis die Tests für Ruby 1.9.0 laufen lässt.
So sieht die Ausgabe der Tests gegen Revision 8514 + ein paar Patches von mir zur Zeit unter Mac OS X 10.5 aus:
unexpected aliasing, den bekomme ich auch mit Ruby 1.8.Also: Wenn ko1 den blöden module_eval-bug noch fixt, kann es eigentlich losgehen ;)
Neugierige können sich den Patch herunterladen und selber testen. Oder einfach noch ein wenig warten.
Update 2008-01-07: Nichts neues :(.
Was soll ich sagen? Es ist draussen. Zwei meiner Applikationen konnten einfach portiert werden ohne weitere Probleme. Scheint also nicht soviel passiert zu sein (-;
Liste aller Änderungen
PDF Buch mit Änderungen (9,00$)
Rails 2.0 deprecations
ActiveResource stellt eine einfache Zugriffsschicht auf Webdienste mit REST-Schnittstelle zur Verfügung. Dabei ist die API lose nach ActiveRecord modelliert und erlaubt somit eine einfache Benutzung der Ressourcen des Dienstes.
ActiveResource war Ende des Jahres 2006 für Rails 1.2 geplant, wurde dann aber wieder aus Rails herausgenommen. Derzeit soll es mit Rails 2.0 veröffentlicht werden und wird auch mit dem ReleaseCandidate ausgeliefert.
Wer aber nicht mit Edge Rails arbeiten will oder kann, kann ActiveResource nicht ohne weiteres einsetzen, da es eine neuere Version von ActiveSupport verlangt, als Rails-1.2-Stable beiliegt.
Ich hatte auf Arbeit das Problem, Edge Rails nicht verwenden zu können, aber dennoch benötigte ich einen REST-Client. Daher habe ich versucht, ActiveResource unter Rails 1.2.5 mit der zugehörigen ActiveSupport-Version zum Laufen zu kriegen.
Hier der Gluecode, der bisher nur kurz getestet ist, um ActiveResource zum Laufen zu bekommen. Diese Teile sind einfach dem neusten ActiveSupport-Zweig entnommen.
class Object unless respond_to?(:send!) # Anticipating Ruby 1.9 neutering send alias send! send end end class Module def attr_accessor_with_default(sym, default = nil, &block) raise 'Default value or block required' unless !default.nil? || block define_method(sym, block_given? ? block : Proc.new { default }) module_eval(<<-EVAL, __FILE__, __LINE__) def #{sym}=(value) class << self; attr_reader :#{sym} end @#{sym} = value end EVAL end end
Zudem wird dieser Patch benötigt, um ActiveResource fehlerfrei zum Laufen zu bekommen. Warum dieser Fehler immer noch nicht behoben ist, oder ob es sich hier um irgend ein anderes Problem handelt, konnte ich leider nicht feststellen.
Wer noch eine kleine Anregung zum Bauen eines REST-Clients braucht, sei auf diesen verwiesen.
Dies war mein erster Blogeintrag hier in der Ruby-Mine. Bitte seid gnädig ;-)
Werden diese Raubkatzen nicht irgendwann zu fett, um Langhörner zu fangen?
Was soll’s. Mac OS 10.5 hat Rails eingebaut:
Ruby on Rails
Work in a developer’s dreamland. Leopard is the perfect platform for Ruby on Rails development, with Rails, Mongrel, and Capistrano built in.
Welche Version, das sagen sie leider nicht. Ich befürchte, es ist nicht die neueste (die CDs müssen ja gebrannt werden), und damit mal wieder wertlos für die Entwicklung (10.4 kam mit kaputtem Ruby.) Aber ich vermute auch, dass jetzt Rubygems eingebaut ist – ein sudo gem up sollte also reichen.
Schön, dass sich Apple so um seine Kunden bemüht.
Update: Ruby 1.8.6 ist es – fragt sich, welches Patchlevel. Da sind sogar Links auf die Seiten von Rails, Mongrel und Capistrano! o_O Bloß nicht auf ruby-lang.org.
Update: Es ist Rails 1.2.3.
Update: Gem-Liste
Öhm…die neueste Version von Rails ist da ^^ Schon wieder…diesmal mit HTML-Escaping für JSON.
Da muss ich mich wohl beim Rails-Core-Team entschuldigen: Sie arbeiten tatsächlich an Ruby-1.9-Kompatibilität, siehe Changeset 7474.
Also irgendwas tut sich da. Jeremy Kemper schreibt seit gestern fleißig neue Changesets. Rails läuft zwar immer noch nicht unter Ruby 1.9, aber das Team ist aufgewacht!
Danke, Jeremy!