Continued from day one.
The first talk on Saturday was about
since he can use DHTML (e.g. animations), AJAX and it also saves the
server CPU, since it works on the client side (I’m not really buying
that ;-)). He doesn’t want to use RHTML since it’s too obtrusive
(cf. JSP), difficult to separate mentally and he prefers prefers
CGI-like HTML generation. Also, he doesn’t like RJS because of the
code gets slow quickly with growing size. Before digging deeper, he
lot unlike Java, it’s not class-based object-oriented, and it’s
difficult at times to combine libraries. He showed some idioms in
enumerable or doing default parameters for methods. Next, he also
namespaces, having no nice debugger (it slowly gets better), and
having only a single thread in the browser. Then, he went to show
some Prototype niceties (
Builder.node and using JSON).
At the end, he presented a new “Web 2.0” web site he has been
developing called MySit.es, best quote during the demo: “It takes a
Next in line was a talk about ebXML by Sacha Schlegl, which started with the explanation of open standards and why they are useful, about the work of OASIS, where ebXML is from, and that open source and open standards are a good match. ebXML is an XML format for the next generation of e-business, but I didn’t learn a lot more, except that, according to him, it should be EBxml, since the “electronic business”-part is the important one, not the XML.
After this, we got into Ruby code again in the talk
CodeGolfing with Ruby by Jannis Harder, which was written over-night,
but pretty good and interesting nevertheless. Jannis started by
showing off a golfed “paint my numbers” solver, and then tried to
justify code-golfing: his first point was to learn more about obscure
features of Ruby, then he stumbled, and, ehm, ehm, it’s to have fun!
He went on with the problem of adding numbers in a path traversing a
triangle, and polled the audience whether it was “shorter to code” if
he went from top-to-bottom or bottom-to-top. Top-to-bottom actually
turned out to be a lot shorted, especially since you can read the
input and compute at the same time. Then, he showed some golfing
tricks, e.g. using
*x=1 instead of
map instead of
Array#* instead of
join. He also listed a few other
techniques, such as heavy use of side-effects, reuse of return values,
$...-variables and multiple assignments. After showing us
some more examples of golfed code, he ended his presentation referring
to http://codegolf.com, where one can participate in golfing
The next talk was about Transparent Archiving by Kero Van Gelder, which is a kind of lightweight API for assignment that can keep more than one timestamp of values and archive automatically to files (that is, some light way of persistence). He wanted the archives to be human readable, editable and not being too harsh on flash memory. Following good manners as a software engineer, it’s of course developed using TDD (he gave a quick introduction to it). After an overview of its usage, he showed tests and how the implementation worked.
After this, I presented Sublanguages. You actually can read the presentation for yourself on my talks page. Enjoy!
I had to leave Euruko early just after my presentation, so I missed the talks on CRM and Rails, Patching Ruby, Pay4Code and Mongrel, which I really would have liked to see… but then I wouldn’t get the train home. I hope someone else blogged about it, else, you got to wait until the videos get uploaded.
Euruko 2006 was big fun for me, and I’d like to thank again the organizers, Ruby Central, O’Reilly for the book each speaker got for free, and everyone attending for the great time I had.
See you all next Euruko!
NP: Pearl Jam—Nothingman