Montag, 31. Dezember 2012

StairCar: Matrix-Library für JRuby

Ryan Stout hat verschiedene Java-Matrix-Libraries für JRuby gewrappt und als Gem veröffentlicht. Es liegt auf GitHub zum Download bereit. StairCar ist für zweidimensionale Matrizen gedacht und kann auch mit sehr großen Matrizen umgehen.

Sonntag, 30. Dezember 2012

fastruby heißt jetzt RubyFlux

Charles Nutter hat seinen statischen Ruby-zu-Java-Compiler, der bisher fastruby hieß, zu RubyFlux umbenannt. Der Compiler erzeugr auf Ruby-Programmen Java-Quelltext, der dann mit normalem Java weiterverwendet werden kann. Auf dem RubyFlux-Wiki gibt es mehr Hintergrund und auch Beispiele,

Samstag, 29. Dezember 2012

JRuby-rack-worker: Thread-basierte Worker

Karol Buceks jruby-rack-worker-library implementiert Worker-Threads für JRuby. Threads sind näher an der Java-Philosophie, als Background-Jobs. Im README sind die Vorgehensweise und potentielle Gotchas erläutert.

Freitag, 28. Dezember 2012

JrSerialPort: serielle Schnittstelle mit JRuby ansprechen

Wer einen seriellen Port mit JRuby ansprechen will, hatte bisher nicht viele Möglichkeiten. Für Java gibt es das plattformübergreifende RXTXcomm.jar. David Crosby von Atomic Spin hat dafür einen Wrapper für JRuby geschrieben, den er JrSerialPort nennt. In seinem Blog-Post bespricht er den Sourcecode und hat auch Beispiele zur Benutzung in JRuby parat.

Donnerstag, 27. Dezember 2012

Multimeter - Profiling für JRuby

Theo Hultbergs Multimeter-Gem ist ein JRuby-Wrapper um Yammers Metrics-Library. Damit kann man auf einfache Weise das Laufzeitverhalten seines Produktionssystems beobachten und sehen, welcher Code wie oft und mit welcher Performance ausgeführt wird.

Mittwoch, 26. Dezember 2012

Rails auf Windows - mit JRuby

Rocky Jaiswal hat eine Schritt-für-Schritt-Anleitung geschrieben, wie er eine JRuby-on-Rails-Applikation auf Windows zum Laufen gebracht hat.Als datenbank verwendet er PostgreSQL, sein Webserver ist Tomcat. Zum Bau der Webapp verwendet er Warbler.

Dienstag, 25. Dezember 2012

neo4j.rb, Version 2.2.1 ist raus (für JRuby 1.7.1)

Version 2.2.1 von neo4j.rb ist veröffentlicht. Das ist ein Bugfix-Release, um die Kompatibilität mit JRuby 1.7.1 herzustellen. Neo4j ist eine Graphen-Datenbank, die über neo4j.rb von JRuby aus zugänglich ist.

Montag, 24. Dezember 2012

JRuby Hackfest in Berlin?

Florian Gilcher hat ein JRuby-Hackfest in Berlin im Auge. Er plant das für Ende Januar/Anfang Februar 2013, hier ist das Annoncement:

Sonntag, 23. Dezember 2012

Per JDBC von JRuby auf MSSQL zugreifen

ZPH verwendet JDBC, um auf einen Microsoft-SQL-Server zuzugreifen. Eine Alternative wäre ODBC, was aber komplizierter zu konfigurieren ist. In einem Blog-Post zeigt er Schritt für Schritt, wie er die Verbindung hergestellt hat - vom Download der Treiber bis zum Einbinden in sein JRuby-Projekt.

Samstag, 22. Dezember 2012

Multithreaded HTTP-Client: jruby-httpclient

Adam Esterline hat einen Wrapper um Apache HTTPClient geschrieben, weil Net:HTTP auf JRuby nicht threadsafe ist. Version 1.1.1 liegt jetzt auf Github zum Download bereit.

Freitag, 21. Dezember 2012

Tutorial: Recommendation Engine mit JRuby und Mahout

Vasily Vasinov, der Autor des JRuby-Mahout-Gems, hat ein Tutorial geschrieben, in dem er beschreibt, wie er eine Recommendation Engine mit JRuby und dem JRuby-Mahout-Gem baut. Apache Mahout ist eine hochskalierbare Java-Machine-Learning-Library die wiederum auf Apache Hadoop basiert. Im Tutorial zeigt er anhand eines Beispiels Schritt für Schritt, wie so eine Recommendation Engine programmiert wird.



Donnerstag, 20. Dezember 2012

Multithreading-Probleme im Development-Modus lösen

Interessanter Artikel Fixing multithreading for Rails in development mode von

Mittwoch, 19. Dezember 2012

Dienstag, 18. Dezember 2012

Heroku: Ruby-Anwendung auf JRuby umziehen

Auf dem Heroku-Devcenter ist ein Artikel erschienen, der genau beschreibt, wie man eine bestehende Ruby-Anwendung auf Heroku nach JRuby umzieht. Er fängt bei der Installation eines lokalen JRuby auf der Entwicklermaschine an, zeigt wie man einen JDBC-Teriber einbindet und hat Tips für den Umgang mit JRuby-inkompatiblen Gems.

Montag, 17. Dezember 2012

Concurrency-Probleme mit Hamster vermeiden

schreibt in seinem Blog, wie er Concurrency-Probleme unter JRuby durch die Verwendung der Bibliothek Hamster vermeidet. Hamster stellt Datenstrukturen bereit, die threadsafe sind uns so ConcurrenyErrors vermeiden.

Sonntag, 16. Dezember 2012

TorqueBox auf Heroku (JBoss/JRuby Application Server)

Ben Browning (RedHat, TorqueBox Core Contributor) beschreibt, wie man TorqueBox auf Heroku zum Laufen bekommt. TorqueBox ist eine Ruby-Application-Plattform, die auf RedHats JBoss AS aufsetzt und Enterprise-Features (Clustering, HA, Scheduling, Messaging usw) zur Verfügung stellt. Dazu wurde TorqueBox an das Heroku-Environment angepasst, ein paar zusätzliche Schritte sind aber dennoch nötig und von Ben Browning genau beschrieben.

Samstag, 15. Dezember 2012

Heroku nun mit JRuby-Unterstützung

Es war bisher schon möglich, JRuby-Applilationen auf Herokus Infrastruktur laufen zu lassen, aber dazu war etwas Handarbeit nötig. Nun hat Heroku direkte JRuby-Unterstützung angekündigt und Hacks sind nicht mehr nötig! Heroku ist ein fantastischer Service, da es das Deployment von Websites/Webservices extrem einfach macht - und nun auch mit JRuby arbeitet. Einfach mal ausprobieren, für kleine Projekte fallen keinerlei Kost

Freitag, 14. Dezember 2012

JRuby Mahout - Machine Learning mit JRuby und Apache Mahout

Vasily Vasinov hate einen JRuby-Wrapper für Apache Mahout geschrieben. Apache Mahout ist ein verteiltes Machine-Learning-System, das auf Apache Hadoop basiert. Mit JRuby Mahout kann man bequem von JRuby aus auf Apache Mahout zugreifen.

Donnerstag, 13. Dezember 2012

Puma: Perfromancedaten (multithreaded Ruby)

Mike Perham schreibt in seiner Blog-Post-Serie 12 Gems of Christmas im ersten Teil über puma, einen in Ruby geschriebenen multithreaded Webserver. Er testete gegen eine nichttrivial Webanwendung, die zwei Datenbankqueries und eine Templateextrapolation durchführte. Ergebnisse mit JRuby und MRI-Ruby hat er miteinander und mit derselben Anwendung unter dem Unicorn-Server verglichen. Puma/JRuby ist klar am schnellsten, hier kommt die Muticore-Untertützung von JRuby zum Tragen.

Mittwoch, 12. Dezember 2012

Spieleprogrammierung mit JRuby und Entity-Component-Architektur

Chris Powell hat eine Serie von Blog-Posts über Spieleprogrammierung mit der Entity-Component-Architektur geschrieben. Dazu verwendet er JRuby und libGDX. Bis jetzt sind fünf Teile erschienen. Fünf Teile sind schon fertig und mindestens drei weitere angekündigt. Faszinierende Sache..

Dienstag, 11. Dezember 2012

Rubydoop: Haddop aus JRuby aufrufen (Big data)

Eine neue Version von Rubydoop ist auf github verfügbar.Rubydoop ist eine Integration von JRuby in die Hadoop-Runtime. Damit kann Apache Hadoop direkt von JRuby aus benutzt werden. Es liegen einige Beispiele bei, so daß man einen einfachen Einstieg hat.

Montag, 10. Dezember 2012

Mitschnitt vom 3rd Ruby Hangout auf Youtube

Der Mitschnitt vom 3rd Ruby Hangout vom 5.12. ist nun auf auf Youtube. Sehr interessantes Q&A mit Charles Nutter, dersich viel Zeit nimmt, den Stand von JRuby und insbesondere Performanceverbesserungen mit invokedynamic zu erklären. Ein grosser Teil nimmt auch eine Diskussion über die Vorteile der JVM, (Garbage Collection JRuby vs MRI, bessere Performance durch abwarten einer neuen JVM usq.)

Sonntag, 9. Dezember 2012

imgry: gem für Image-resizing und -cropping

Eine neue Version des  imgry-Gem ist raus. Dieses Gem ist auf hohe Geschwindigkeit unter JRuby optimiert  funktioniert aber auch auf MRI-Ruby.

Samstag, 8. Dezember 2012

TorqueBox 2.2.0 erschienen (JRuby Application Server)

TorqueBox 2.2.0 ist erschienen und steht zum Download bereit. TorqueBox ist ein Ruby-Application-Server und basiert auf JRuby und JBoss AS7. Diese Version enthält das brandneue JRuby 1.7.1 und einige weitere Goodies: torquebox-console, Steuerung von scheduled jobs über ein neues API und viele Bugfixes. Clustering, Loadbalancing und HA-Features ebenfalls sind in TorqueBox enthalten.

Freitag, 7. Dezember 2012

Benchmark mit JRuby, MRI und verschiedenen Webservern

Marek Jelen von RedHats OpenShift hat einen Benschmark auf der Plattform mit verschiedenenen Webservern und Ruby-Versionen durchgeführt.  Er verglich MRI-Ruby 1.9.3, JRuby 1.7.0 unter Mizuno (Jetty), Trinidad (Tomcat), Puma und Thick (Thick stammt von Mark Jelen selbst) Es gibt keinen eindeutigen "Sieger" - Fazit war, daß die Auswahl von der Art des Problems abhängt, das man lösen will.

Mittwoch, 5. Dezember 2012

heute Nacht (6.12, 01:00 MEZ): Ruby hangout mit Charles Nutter

Wer heute Nacht (6.12.2012, 01:00 MEZ) Zeit & Lust hat kann auf Google plus (https://plus.google.com/events/cve767iu4nma86ivisc6k9quad8) mit Charles Nutter und anderen über JRuby chatten. Bisher haben schon über 60 Leute zugesagt.

Ruby-Refinements und die Auswirkungen auf JRuby-Performance

Charles Nutter hat hier einen sehr interessanten Text über die Refinements geschrieben, die mit Ruby 2.0 kommen sollen. Refinements schränken die Möglichkeit für Monkey-Patching ein, um  negative Effekte besser kontrollieren zu können. Refinements haben aber sehr negative Auswirkungen auf die Performance, die Komplexiät der Sprachimplementierung und außerdem ist das Verhalten bei Edge-Cases nicht genau definiert. Auf Grund dieser Diskussion werden Refinements nur in eingeschränkter Form ins kommende Ruby 2.0 einfliessen.

Montag, 3. Dezember 2012

JRuby 1.7.1 scheint fertig zu sein (Update: ist fertig!)

Jedenfalls ist die Version auf github bereits auf 1.7.1 gestellt worden. Was fehlt ist noch das offzielle Announcement und die Binaries zum Download. Wer jetzt schon damit anfangen will, kann sich JRuby 1.7.1 aber gleich selbst bauen :-)

Update

JRuby 1.7.1 ist offiziell fertig! Hier das Announcement von Tom Enebo. Eingeflossen sind hauptsächlich Bug- und Securityfixes - also möglichst bald von 1.7.0 auf 1.7.1 updaten!


OpenShift Enterprise, RedHat PaaS ist nun nicht mehr "beta"

RedHats OpenShift ist nun nicht mehr im beta-Status, sondern offiziell als OpenShift Enterprise verfügbar. Interessant an OpenShift ist, daß es komplett Opensource ist und man damit  seine Applikationen in eine private Cloud verlagern kann, falls man es nicht von RedHat hosten lasen will. OpenShift ist polyglot, neben Java werden JRuby, Perl, PHP und Python unterstützt, als Datenbanken mySql und PostgreSQL.

Announcing OpenShift Enterprise – an On-Premise Platform as a Service from Red Hat

Sonntag, 2. Dezember 2012

Ruboto 0.10.0 ist fertig (JRuby auf Android)

Ruboto 0.10.0 ist fertig. Uwe Kubosch vom Ruboto-Team hat die neue Version auf Github bereitgestellt. Wichtigste Änderungen: es wurden einige legacy-Features entfernt, viele Bugs gefixt und die Dokumentation erweitert. Mit Ruboto kann von einem JRuby-Script direkt auf das komplette Android-API zugegriffen werden.

Samstag, 1. Dezember 2012

JRuby 1.7.1 kommt am Montag, 3.12.2012

Tom Enebo hat hat das Releasedatum von JRuby 1.7.1 auf Montag verschoben. Eigentlich sollte es  schon diese Woche fertig sein, doch das JRuby-Team will noch einen Bug auf Windows zum Release fixen.