leah blogs

October 2005

16oct2005 · Euruko 2005 -- Day two

Continued from day one.

On the second and final day of Euruko 2005, the European Ruby Conference began at about ten o’clock.

Steve Purcell, Mocking Objects with RMock

Steve Purcell, who by the way was the first speaker that said he is a Rails user, presented an implementation of mock objects done by him.

Mock objects are a technique for writing better unit tests; they provide fake versions of other systems. These fake versions now can be made to produce the test scenarios you want.

He said that by using mock objects, one can trade “reality” for control over the test environment, as testing classes can happen in isolation using fake collaborators. He emphasized that mock objects are not just stubs. After this, he demonstrated how to use RMock by implementing tests for an imaginary BurglarAlarm—with lots of feedback from the audience.

Update: RMock is now known as Mockr and can be found at sanityinc.com.

Michael Neumann, Ruby and DSLs

The next one in order was Michael Neumann, who presented various Domain Specific Languages that he developed in Ruby.

Michael implemented a DSL for dealing with formal systems (think logic terms) in Ruby, which gets very usable due to heavy operator-overloading. He also wrote a script to automatically typeset those terms using lout. An example of what this DSL looked like:

V::x { P(:x, :y) } >= E::y { Q(:y) & V::Z(:x) }

Michael also wrote a high-level macro assembler for MIPS and an interface to the Ploticus visualization package in Ruby.

Of course, he showed the programmatic HTML generation made for Wee which is based on “brushes” that are outputted on generation of the next one. This allows for a very convenient syntax.

Then, he explained how to implement DSLs in Ruby and which language features help with this: instance_eval, undef_method, method_missing and const_missing. Interestingly, he also mentioned scoped globals, which are pretty much the same I presented as “dynamic variables” the day before. :-)

Sven Koehler and Armin Roehrl, Futurometer

First, Sven Koehler told us about the state of financial tools for stock market analysis. He claimed these programs are stagnating, and went on by outlining a system, dubbed Futurometer, that they have been writing for quite some time, which can help with that. It is supposed to be a kind of “google for the financial market”.

He compared the patterns in earthquakes and stock market crashes and told us how linking graphs of different areas could help predicting stock markets.

The Futurometer web application counts and graphs the occurrence of certain words, like “bird flu” or “al kaida” on Google News.

After this, Armin continued the talk and showed us some slides that analyzed the grounding of Swiss Air. He explained how statistical techniques like EVT (Extreme Value Theory) can help with investing. He said schoolbook statistics usually are 20 years behind from what the current methods of statistics are.

This talk sparked a long and very interesting discussion on economics and globalization. After the discussion, we tried to estimate the amount of energy that could be saved if everyone used Ruby instead of Java. :-P

Marcus Barchfeld, Eclipse’s Ruby Plugin

After the discussion, Marcus Barchfeld did a live demonstration of Eclipse’s Ruby plugin, RDT. I can’t say much about this either.

Michael Neumann, We.eXplained

In his second Wee talk, Michael Neumann explained the inner workings of Wee.

He compared Wee to a GUI that runs over the net and explained how Wee is component oriented and which parts are inspired by Seaside2. Then, he went on by talking about decorations and their implementation and how URLs in Wee are mapped.

A full demonstration of a Wee request cycle and when one should or shouldn’t use Wee concluded his presentation.

Johannes Pirkl, Nitro, Wee, Og and Glue

After this, Johannes Pirkl demonstrated how Nitro, Wee, Og and Glue can work together. He showed quite a lot of code and some of the techniques behind Nitro and Og.

Robert Kuzelj, Teclarative, a DSL for Testing

The last talk of Euruko 2005 was by Robert Kuzelj, who presented a more declarative unit testing framework he actually wrote in five hours during the conference. :-)

He argued a bit against Test::Unit and spoke about how syntax matters because syntax expresses intent.

Advantages of Teclarative are easy configuration, activation, and grouping of tests. Also, there is per-test-configurable setup and teardown. Furthermore, Teclarative allows for more flexible test naming (any string) and smooth creation of huge suites.

Robert finished his presentation by demonstrating how to use it.


Stefan Schmiedl quickly summarized Euruko 2005 and thanked everyone that helped and made it possible. He gave an outlook on next year, which will be interesting, as the number of attendees doubled this year. It peaked at about forty persons, even though RubyConf 2005 was talking place at the same weekend. When the conference is going to get bigger and bigger, there will be a lot more planning involved, and the space at Sulzer GmbH won’t be enough anymore. I’m sure they’ll find a solution for this, though.

All in all, I only can say that Euruko 2005 was a huge success from my point of view, and I think everyone that attended will agree. See you all on Euruko 2006!

NP: Blood Ruby—Remains of the Day

Copyright © 2004–2022