I had (or really, am having) the pleasure of attending the GR8 conference in Copenhagen. I originally thought I’d “live blog” the whole event, but some travel problems prevented me from getting to the beginning of the conference. The agenda shows a complete list of all the presentations. I’m going to post my reactions to each presentation below. Please feel free to add your own comments!
Day 1
Keynote & Introduction to GR8 Technologies — Søren Berg Glasius & Guillaume Laforge
I missed this one.
Grid Computing for Real-Time Computational Finance: A Case Study with Groovy and Grails — Jonathan Felch (Crédit Suisse)
Missed this one too. Heard a lot of good feedback on it, and some feedback that it got a bit financially technical for some people.
Groovy usage patterns — Dierk König
I arrived about halfway through this one, so it took a bit of catching up to see where Dierk was going with the theme. The idea was that there are several patterns of using Groovy in your environments, rather than using it as an all or nothing approach. The Glue pattern (tying various external pieces together), Smart Config pattern (using Groovy for config files instead of XML), and others were ideas that he touched on. I only caught the last portion of this, but the portion I saw was both useful and well delivered. PHP is often referred to as a ‘glue’ language, and it was interesting to hear Groovy referred to as one as well.
Lunch
Lunch was excellent (this was actually Tuesday’s lunch)


What’s new in Groovy 1.6? — Guillaume Laforge
For me this set the tone of the conference – an insane amount of good information. As with most conferences, there’s simply too much to take in. One of the big takeaways for me was seeing Guillaume demonstrate mixins in Groovy 1.6. I’d read about them, but seeing them ‘live’ was more ‘real’ for me. I’m not even sure he ran code – just showed it on the screen and talked about it, but something ‘clicked’ and I get it much better now. This was primarily information from his infoq and groovymag articles, so if you’ve read either one (you’ve read groovymag, right?) you saw most of this. If not, you should be able to see the video on parleys.com soon (I’m told).
What’s new in Grails 1.1? — Graeme Rocher
Another session of information overload, but in a good sense. One of the good takeaways for me was reminding me that we can use grails taglibs in controllers. For example, you can have def contents = g.include(controller:”person”,action:”show”); println contents; in the controller to include the results of a controller. Graeme demonstrated a huge number of changes, including standalone GORM. I’m probably less impressed with this than I thought I would be, only because I realized I don’t do Java outside of Grails anyway.
Designing your own Domain-Specific Languages — Guillaume Laforge
This was an interesting presentation. We were shown some of the basic meta-programming techniques to add things like “43.days” to your application. Actually, his examples ended up being more complex than that towards the end, but I have to confess, I was started to zone out. I have to rewatch this one on parleys.com when it’s posted. My zoning was due to the fact that I hadn’t slept the night before (long story) but then accidentally took sleeping tablets on the morning plane ride over (instead of my cold/flu tablets) so I was slightly spaced out by the afternoon.
Was it this presentation where we learned about @singleton in Groovy? I need to read up on that some more…
Groovy and Grails in Eclipse – Andrew Eisenberg
Andrew demonstrated the progress he and his colleagues are making on getting good Groovy/Grails support in Eclipse. Some good basics down so far, but it’s not quite near intellij yet. :/
Day 2
Breakfast
Good, if brief, as I came in a bit late.
Building a Twitter clone in Grails — Graeme Rocher
I’d missed this when Graeme did it earlier, but was glad I got to see it in person. Even more glad someone else was taping it. I was videoing it and my batteries ran out after 23 minutes. There were a lot of small bits in the presentation which Graeme seemed to make very easy (returning JSON and XML) which I sometimes forget, as I don’t use them much. Great to see so much power displayed so easily.
The Grails Plug-in System: Plug into productivity — Graeme Rocher
Graeme then showed us a plugin presentation. It’s inspired me to try to ‘pluginize’ one of my projects which has fallen by the wayside. His basic thrust was that plugins are just regular grails apps, and he greatly encouraged us to think about pluginizing various sections of our apps to help modularize them.
Groovy and Grails using IntelliJ IDEA — Vaclav Pech
Almost has convinced me to buy IntelliJ. A different presentation just showing the top 10-20 useful hotkey combinations would probably have been just as well-received (if not moreso) based on some of the feedback I heard at lunch.
Lunch
Also great (see above pics)
Creating a Griffon: rich client frontend to our Twitter clone — Jim Shingler
Had the pleasure of meeting Jim at Codemash earlier this year. I saw Andres Almiray present on Griffon there, and now Jim here. The differences between their presentation style and emphasis was interesting – they each seemed to emphasize some aspects of Griffon a bit differently (Andres really built up to @Bindable, Jim introduced it casually early on). I’m not much of a desktop/client-side guy these days, but the progress on Griffon makes it something to keep my eye on if my desktop needs ever change.
Industrial Strength Groovy — Paul King
He started off talking about how some of the “gang of four” patterns just disappear when using dynamic languages, then went in to why he’s comfortable recommending Groovy to customers these days (it’s gone past the ‘innovator’ stage and is starting to enter ‘mainstream’ now). He covered some of the tools he uses for testing, code coverage, documentation and others. Slides of TestNG, Spock, EasyB, MockFor and other testing tools. Interesting idea – because of meta programming in Groovy, the need for dependancy injection is lessened. I hope I understood that correctly. Lots of good practical tool advice. Watch it on parleys.com when it’s available.
If you were there (here) what did I miss? What did I get wrong? What did I get right?