ruby user group berlin: JRuby, YARV/1.9, omdb.de and more

Posted by crux on March 03, 2007

We had our 2nd ruby users group berlin meeting yesterday with two speakers and the demo of the yet to be released omdb.org project.

First was Tim Lossen giving a good round-up of the JRuby developments. Not of much interest to me because i have’t touched Java in a while. There was a common understanding that JRuby is a good thing and will pave Rubys way into the enterprise world, and with Sun now as official backing partner, JRuby is heading for a 1.0 release this summer for Javaworld confererence. You can already run JRuby based Rails applications inside you IBM Websphere Application server, Yeah! But can you run a Rails application with JRuby from inside a Java applet on your client browser? Hm, interesting idea, we couldn’t answer that yesterday.

Next was the talk by Murphy about the state of the ruby 1.9 release. Murphy mainly used Mauricio Fernandez eigenclass for reference and gave a really great overview around the three main themes of this topic: Roadmap, New and changed features and performance. Everybody loves the hand drawn roadmap image(which i can’t find now) and while a Ruby2.0 release being something from a far utopian future, we might see a 1.9 release later this year. I’m actually not following the 1.9 developments but became inspired to check again. Enumerators for examples reminded me to my STL/C++ years, just now without the template pains :-) Interessting were his comments on performance. Tim already showed some charts which related the JRuby to some other implementations and Murphy made some own benchmarks which were pretty much in line with Tims data. The general information is that 1.9(==YARV) is a couple of times faster, ranging from 3 to 10 times faster. BUT! and that is a big but, Murphy did report that on the real life applications he tested, the speed-up was close to insignificant for various applications. This is because the the performance tuning in 1.9 seems to be focussing on benchmark relevant stuff. And real life application are hardly build from benchmark functionallity. This sounds like, been there, seen that before. History(benchmark tweaking) is repeating itself. For me it doesn’t matter. When others can do 4000 requests/second, ruby/rails is definitly fast enough for me.

Finally Benjamin Krause showcased his upcoming OMDB project(tech blog, development version, live). OMDB is a IMDb in wikipedia style with a creative commons licence. 16501 People(see comment) 16000 movies are already in the database and once it will open up, everybody can extend it. Thats a cool idea conceptually and what he showed technically was nothing less than the equivalent to an “Full House” in poker. For example the subsecond async response times for fetching actors from a huge database which were made possible by his ferret magic. impressive.

And this also led to the agenda for the next meeting where Benjamin will give a talk about ferret on Rails. Everybody wanted to see more of it. Also we will have a talk by Adam about AmzonWebServices: S3 and Rails on EC2 . I’m looking forward to it. And about the open mic section, i’m pretty sure we are releasing our foto-foo into the wild.

And for you to have some fun, we plan to record the talks next time and put them up as podcasts to fit with your online consumption habits. Murphy and Tim also promised to upload their talks for online viewing (to the wiki i guess).

looks like the ruby users group berlin is consolidating.

Technorati Tags: , , , , , , , ,

Next big language predicted(kind of)

Posted by crux on February 11, 2007

In his blog Steve Yegg rants abouts the next big language and has some nice things to say about ruby as well. He equals refusing to use Ruby with “refusing to use an electric car because there’s no place to put the gasoline”.

… it lacks automated refactoring tools. Ruby doesn’t actually need them in the way Java does…
…But programmers are a stubborn bunch, and to win them over you have to give them what they think they want.


and right he is i think. Steve does not spoill his inside knowledge about what the next big language will be, but his commenters are concluding pretty much on it to be ECMA script. Well, may be it so, that will not be for some time.

Meanwhile from the sneaking ruby through the system department we got more and more reports from the field like the one from my colleague. In a nice guerilla tactics approach they contaminated the working place with making ruby an integral part of the ant based build system. And this in an all java only development group. congrats comrades.




Technorati Tags: , ,

I dropped YAML in favour of plain ruby for config files

Posted by crux on January 28, 2007

write: h = { :a => 123, :b => "321", 'c' => 0.123 }

instead of

---
 :a: 123
 c: 0.123
 :b: "321"
like a lot of people i put config values in hashes and used YAML to read them from file. Take database.yml in Rails for example. YAML feels like coder nirvana when you have suffered from XML pain in Java land for many years. YAML syntax is so much nicer. But to express ruby values, plain ruby syntax for me is even more straight forward. To check syntax I always had to try and err before use with YAML.dump {:foo=>"bar"}.

I thought about just writing plain ruby and eval it. Problem is, eval avoids polluting the global namespace and the variables you set in an evaled file will not show up anywhere. Using global variables(yuck), constants, @@ variables or similar constructs would defy the purpose of getting a nice syntax for the user.

Then I got the idea of using the introspecitve powers of ruby to the retrieve the local variables which got defined on evaling a file from the binding. I wrote a function which does exactly this. From a known binding it extracts the loaded variables afterwards. The values are then injected into a hash an returned.

def load_values_from_file(filepath)
    b = binding
    v1 = eval "local_variables", b
    eval IO.read(filepath), b
    v2 = eval "local_variables", b
    (v2 - v1).inject({}) do |c, key|
        c[key.to_sym] = eval "#{key}", b
        c
    end
end

and my future config files will be plain ruby, which I know better than YAML syntax.

Technorati Tags: , ,

ruby declared programming language of year 2006!

Posted by joe.sixpack on January 05, 2007

see for yourself on the TIOBE index.

Java, c/c++, PHP, Perl, C#, Python and Javascript are still ahead but non of the other languages gained a whopping 11 positions and Ruby is now in the Top10. Where will ‘007 lead us? seven? five? Ruby is mainstream now.

UPDATE: thank you for the screenshot:

tiobe-2007.png

Widgets, widgets, widgets everywhere!

Posted by joe.sixpack on January 05, 2007


Widgets sind der Hit der Stunde. Das hat der ein oder andere ja sicher schon mitbekommen(wenn er die letzten monate nicht unter einem Stein verbracht hat). Nachdem die versprochene Wiederverwendbarkeit der Java Enterprise Architekturen ja nicht wirklich eingetreten ist und nun die Rebellen schon den Sieg über den zur Rettung gerufenen WS Todestern erklären, findet alldieweil die Vision der verteilten Systeme unterdessen ihre Erfüllung im unternehmerischen Pragmatismus der Web2.0 Mash-ups. Diese wiederum konstituieren sich zusehends über generische, hier-klicken-kein-coding Angeboten von immer mehr Widget Anbietern. Sogar eine eigene Konferenz zum Thema wurde schon abgehalten.

Obige Umfrage hab ich mir auf http://www.majikwidget.com in zwei minuten zusammengeklickt, inklusive Registrierung. Dort bekommt man eine handvoll Widgets, und pro Verwendung verlangen sie einen Credit, wobei die 25 Gratiscredits aus der Registrierung erstmal reichen werden. 24 Polls to go!

Blogpimping leichtgemacht! Die Web1.x Lieferanten und ihre Consultants werden nicht mehr gebraucht.

Und wer nun noch weiss von wem die Frage stammt bekommt einen extra-bonus.

Technorati Tags: , , ,

Sexy Java?!

Posted by joe.sixpack on October 31, 2006

Ich moechte ja keinem zu nahe treten, aber war das schlau? Sich im Halloween Kostuem mit einer Frage zum sex appeal von Java fotographieren zu lassen?

Auf der anderen Seite ist es aber natuerlich auch etwas befremdlich wenn man auf der suche nach “MAC/OS/X” als ersten Treffer “Ruby on Rails” geliefert bekommt.

komisch, aber verstaendlich wenn man sich die Java PR so anschaut.

have fun