This post originated from an RSS feed registered with Ruby Buzz
by Christian Neukirchen.
Original Post: Euruko 2005 -- Day two
Feed Title: chris blogs: Ruby stuff
Feed URL: http://chneukirchen.org/blog/category/ruby.atom
Feed Description: a weblog by christian neukirchen - Ruby stuff
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
(where can it be found on the net?) by implementing tests for an
imaginary BurglarAlarm—with lots of feedback from the audience.
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.
Conclusion
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!