Samstag, 30. Juni 2012

PDF aus XHTML generieren (mit FlyingSaucer und iText)


Richard Livsey zeigt, wie er mit dem Renderer FlyingSaucer mit einem JRuby-Script-Wrapper aus XHTML ein PDF-Dokument erzeugt. FlyingSaucer ist in Java geschrieben und untertstützt CSS 2.1.

Freitag, 29. Juni 2012

JRuby on Rails in der Jelastic-Cloud

Wer eine JRuby on Rails-Applikation in der Jelastic-Cloud deployen will, findet auf der Jelastic-Website eine kurze Schritt-für-Schritt-Anleitung dazu. Interessant an Jelastic ist, daß man explizit in Europa hosten lassen kann.

Donnerstag, 28. Juni 2012

Redcar Editor

Der Redcar Editor ist in JRuby geschrieben und läuft damit auf allen Java-haltigen Systemen. Ganz interessant ist die Erweiterbarkeit über Plugins und die Unterstützung von Textmate-Themes und Snippets. Redcar ist Opensource und noch Alpha-Software.

Dienstag, 26. Juni 2012

Java GUI mit JRuby: Beispielcode von Michal Kozminski

Michal Kozminski hat ein kleines Beispiel fürdie Generierung eines Java-Swing-GUIs auf https://gist.github.com/2985172 abgelegt. Sehr nett, wenn sich die Integration von Java in JRuby ansehen will

Montag, 25. Juni 2012

Pom Pom Pom: Abhängigkeiten unter JRuby verwalten

Wer Abhängigkeiten mit .poms verwalten, aber eben nicht Maven verwenden will, hat unter JRuby die Alternative "Pom Pom Pom", dessen Version 2.0.0b2 gerade erscghienen ist. Theo Hultbergs Motivation für Pom Pom Pom ist seine Abneigung gegen Maven. Zitat "Maven makes me want to kill myself".

Sonntag, 24. Juni 2012

Samstag, 23. Juni 2012

Data-Warehouse: OLAP mit JRuby

mondrian-olap ist ein Wrapper um die mondrian-library (Java), mit der man Multidimensionale OLAP-Queries auf SQL-datenbanken ausführen kann. mondrian-olap ist ein JRuby-Gem, so daß die Einbindung in JRuby-Scripte sehr einfach ist.

Freitag, 22. Juni 2012

neues Padrino-Release mit verbesserter JRuby-Unterstützung

Padrino 0.10.7 ist fertig - mit verbesserter JRuby-Unterstützung. Padrino ist ein leichtgewichtiges Ruby-Framework, das auf Sinatra aufbaut. Eine Alternative für Rails, wenn man nicht soviel Gepäck mitführen möchte.

Vortrag von Matt Raible: Web Frameworks auf der JVM

Ein hochinteressanter Vortrag von Matt Raible: Comparing JVM Web Frameworks. Das Video ist 45 Minuten lang, die Folien dazu gibt es auch zum Download (Vorsicht: Monster-PDF). Er erläutert dort seine Kriterien und was für Schlüsse er daraus zieht. Insbesondere geht er auf seine Entscheidungsmatrix und die Gewichtung der Kriterien ein. Eine sehr gute Entscheidungshilfe, wenn man gerade ein Web-Framework auswählt. 

Donnerstag, 21. Juni 2012

Cucumber-JVM - BDD auf der JVM

Wer BDD (Behaviour Driven Development) betreibt und auf der JVM bleiben will, kann Cucumber-JVM als Tool dafür einsetzen - gerade ist Version 1.0.10 erschienen. Cucumber-JVM  unterstützt neben JRuby auch Clojure, Groovy, Ioke, Java, JavaScript, Python und Scala. Cucumber-JVM ist in Java geschrieben und lässt sch in Eclipse und IntelliJ IDEA integrieren.


Mittwoch, 20. Juni 2012

Einführung in JRuby: Folien, Beispiele und Übungen

Anthony Juckel hat auf der EuRuKo 2012 einen Vortrag Introduction to JRuby gehalten. Dir Folien dazu gibt es auf slideshare.net. Die  Files zum Nachvollziehen hat er auf github abgelegt. Er zeigt, wie JRuby sich zu Ruby unterscheidet, wie man JRuby-Applikationen zu .war-Files verpackt und sie dann z.B. auf Tomcat deployed.


Dienstag, 19. Juni 2012

MySQL bulk insert performance: Vergleich JRuby, MRI, Rubinius

LaunchAny hat die Bulk-Import_Performance verschiedener Ruby-Implementierungen gemessen. Am schnellsten war JRuby 1.6.2 unter Java 7 mit jdbc_mysql, dicht gefolgt von Ruby 1.9.2/mysql-Gem. Weit abgeschlagen Rubinius. Ruby 1.8.7 mit dem mysql-Gem war gleichauf mit JRuby 1.6.2 und dem mysql-Gem. JRuby/JDBC scheint also eine  gute Wahl für die mysql-Anbindung zu sein.

Montag, 18. Juni 2012

neo4j und neo4j.rb: Folien zu einem Vortrag von Andreas Ronge

Auf Speakerdeck.com gibt es die Slides zu einem Vortrag von Andreas Ronge über die Graph-Datenbank neo4j und seine JRuby-Anbindung mit neo4j.rb. Themen sind:
use cases für neo4j,
was enthält neo4j,
was bietet neo4j.rb für Rails,
warum sollte man neo4j.rb nenutzen und nicht direkt das Java-API aufrufen




Sonntag, 17. Juni 2012

Gems ins jars umwandeln mit gemjar

Ganz interessant: wenn man Ruby-Gems in einer Java-Umgebung direkt als jar einsetzen will, kann man mit gemjar JRuby-kompatible jars erzeugen, die dann in einer Java-Umgebung benutzt werden können. gemjar ist von Andrew Kiellor (Thougthworks).



Samstag, 16. Juni 2012

Benchmarks JRuby vs MRI vs Rubinius ...

David Czarnecki hat den Webserver Puma unter verschiedenen Ruby-Implementierungen verglichen. Puma ist optimiert für Multithreading und Geschwindigkeit und profitiert von der JVM. Interessant ist die extreme Performancesteigerung unter JRuby 1.7preview1. Hier hat Puma (nach Warm-Up) einen vierfachen Durchsatz im Vergleich zu JRuby 1.6 und ist dreimal so schnell wie unter MRI 1.9.3.

Freitag, 15. Juni 2012

Video Vortrag "Complex made simple" über TorqueBox

Hier ist der Vortrag "Complex made simple" von der RailsConf 2012 als Youtube-Video zum Anschauen. Zusätzlich kann er in verschiedenen Auflösungen runtergeladen werden.

Donnerstag, 14. Juni 2012

synchrones Messaging auf TorqueBox

Hier zeigt Ken Barber, wie er synchrones Messaging auf der TorqueBox-Applikation-Plattform mit JRuby implementiert. Es sind JRuby-Codebeispiele und Vergleiche mit äquivalentem Erlang-Code enthalten.


Mittwoch, 13. Juni 2012

rungist.com yet another try (j)ruby

Auf rungist.com kann man Ruby-Scripte  eingeben und gleich ausführen lassen. Ganz interessant zum Lernen oder ausprobieren. Implementiert ist rungist.com in JRuby, der auzuführende Code wird bei github als gist eingegeben (https://gist.github.com/). Sehr clever. Außer Ruby werden auch HTML+ERB und CSS unterstützt.

Dienstag, 12. Juni 2012

Connection pooling und Fairness

Ganz interessanter Blog-Eintrag: Active record connecton pool fairness. Patrick untersucht dort, was faire bzw unfaire Strategien bei der Nutzung  eines JDBC-Connection Pools unter Jruby bewirken. Er hat dazu ActiveRecord gepatcht, um faires/unfaires pooling zu messen.



Montag, 11. Juni 2012

jHepWork: Datenvisualisierung nun mit JRuby-Unterstützung

jHepWeork hat mit dem aktuellen Release JRuby integriert. jHepWork ist eine Datenanalyse-Software, die aus der Hochenergie-Physik kommt. Man kann damit interaktiv Daten analysieren und graphisch darstellen. Mit dem neuen Release 3.4 ist JRuby-Interstützung für das integrierte Scripting-Environment hinzugekommen. jHepWork kann natürlich auch außerhalb der Hochenergiephysik benutzt werden :-)


Sonntag, 10. Juni 2012

RJack: als Gem verpackte Java-libraries

Um den Umgang mit Java-Libraries von JRuby zu erleichtern, verpackt David Kellum Java-Libraries in JRuby-Gems, die damit einfach in JRuby integriert werden können. Er nennt das Projekt RJack, dort sind mittlerweise knapp 30 Java-Libraries/Gems zum Download verfügbar.

Samstag, 9. Juni 2012

Euruko 2012: Charles Nutter zum Stand von Ruby

Auf der EuRuKo 2012 hat Charles Nutter (jetzt bei RedHat, einer der Core-JRuby-Developer) einen Vortrag zum aktuellen Stand von JRuby gehalten. Auf slideshare.net gibt es die Folien dazu.

Freitag, 8. Juni 2012

Tweitgeist: Echtzeit-Big Data mit Twitter, JRuby und RedStorm

Colin Surprenant von der Firma needium hat eine Demo-Anwendung für RedStorm gebaut, er nennt sie Tweitgeist. Tweitgeist analysiert laufend ein großes Sample von Tweets und zeigt in Echtzeit die 10 häufigsten Hashtags. Den Code gibt es auf Github, eine Präsentation auf Slideshare. Äußerst interessant.

Donnerstag, 7. Juni 2012

Slides vom Vortrag "when Ruby meets java" (Torquebox)

Hier gibt es die Folien vom Vortrag "When Ruby meets Java" von der RubyConf India 2012. Interessanter Architekturüberblick über TorqueBox  mit Beispielen für JMS-Messaging, Scheduling, Clustering, Caching und Performancemessungen.

Dienstag, 5. Juni 2012

RedStorm 0.5: verteilte Echtzeit-Berechnungen mit JRuby

RedStorm v0.5.0 ist erschienen. Redstorm ist eine JRuby-DSL-Integration für das Storm Realtime-Computation-System. Mit Storm kann man hochskalierbare Echzeitsysteme bauen, in dem Berechnungen parallelisiert ausgeführt werden.


Montag, 4. Juni 2012

Interessanter Aufsatz: "Journey to the center of JRuby"

Pat Shaughnessy beschreibt in seinem Blog in Journey to the Center of JRuby Schritt für Schritt, wie ein JRuby-Programm nach Java, von dort nach Bytecode und schließlich als Maschinenprogramm ausgeführt wird. Sehr interessant auch der Kommentar von Charles Nutter dazu. Pat arbeitet gerade an einem Buch Ruby Under a Microsocpe,
 


Sonntag, 3. Juni 2012

JRuby performance

Immer wieder interessant sind Zahlen zum aktuellen Performancestand von JRuby vs MRI. Gabor Vitez zeigt in seinem Blog einige Messwerte von JRuby 1.6.7.2 (der aktuellen stabilen JRuby-Version) gegen JRuby 1.7.0preview1 (cutting edge, benutzt invokedynamic von Java 7) und Ruby 1.9.3 (neueste stabile MRI-Version). Außerdem beleuchtet er die verschiedenen Usecases, unter denen die Werte betrachtet werden sollten.

Freitag, 1. Juni 2012

RSpec für JRuby beschleunigt.

Joe Kuttner hat ein Gem zur Beschleunigung von RSpec unter JRuby geschrieben. Problem ist dabei, daß die Zeit die für jede Spec/Test benötigt wird, maßgeblich von der Startzeit der JVM abhängt, da diese jedesmal neu geladen wird. Mit dem guard-gem wird die JVM nur einmal für alle Specs geladen, der Durchlauf wird erheblich beschleunigt.

Ein anderes Verfahren  nutzt nailgun, um die JVM im Speicher zu halten. Jefferson Carley beschreibt das hier.