- Andrew Kos
- Bill Burlein
- Bryan Williams
- Christian Vozar
- Jeff Brown
- John Kraus
- Joseph Mak
- Josh Durbin
- Mark Daugherty
- Matt Van Bergen
- Melissa Geoffrion
- Michael Kang
- Michael Chan
- Michael Hodgdon
- Mike Motherway
- Molly McDaniel
- Nadia Maciulis
- Pat McLoughlin
- Paul Michelotti
- Puru Hemnani
- Rohit Srinath
- Ryan Lunka
- Tom Kelly
All Blogs
CITYTECH Blogroll:
A SpringOne2GX Chrestomathy
Tuesday, October 26, 2010
As a largely developer-oriented software conference, I didn’t really know what to expect from last week’s SpringOne2GX in Chicago. Honestly, I was prepared to sit through several bone-dry, monotonous technical dissertations. But, as Tim Berglund launched into his excellent “Grails in the Real World” session, my concerns faded quickly. This was the first time I’d seen Tim in action, and his blend of high-energy charisma and impressive Grails expertise was an easy highlight of the conference.
Tim began with demos of handling database changes with Liquibase and remote management with VisualVM and JMX. While highlighting some common pain points and his practices for addressing them, he presented a compelling argument for a thin domain model in Grails. Although I’ve generally favored the opposite, Tim’s case for a robust transactional service layer convinced me otherwise.
The session concluded with some tips on how to advocate for Grails within your organization. This last section was especially relevant, as the largest obstacles for Grails adoption in the enterprise are not technical limitations, ease of use, or any of the typical concerns associated with web frameworks — but rather ignorance (and, in fairness, healthy skepticism) about the benefits of Groovy-based technologies. Tim encouraged selling hard on the productivity features, the Java-friendly syntax, the full technology stack, and the VMWare backing, but cautioned against touting Grails as a magic bullet. In his words, “it’s not going to cause people in your organization to tell the truth to each other”. Very funny and very true.
After a strong start to the morning, Joshua Davis’s “Creating a Dynamic Portal Using Grails” was a bit disappointing. Let this be a lesson to any presenter planning a demo — do not make it dependent on a working internet connection (localhost, anyone?). Awkwardness of a non-working demo + unreadably complex and poorly formatted sample code + haphazard organization = a great time to hit the snack tables. Despite covering some interesting Grails plugins (UI, Shiro, WebFlow) and a nice tag library example, the session was not especially enjoyable. The apparent TDD heckler in the back of the room only added insult to injury — “EXCUSE ME, do you have tests for this class?” “Um, no.”
Venkat Subramaniam, in contrast, was more entertaining than anyone could reasonably expect from a software lecturer. In addition to his perfectly-bleached white socks, hyper-enthusiastic delivery, and the most impressive mustache of the day, he peppered his session with numerous quotable gems:
“We poured concrete over it.” [referring to unstable code]
“You cannot be agile if your code sucks.”
“Code reviews either make you smarter or make you a hero.”
“Long methods did provide better performance… when Nixon was president.”
Simply titled “Improving your Groovy Code Quality”, Venkat’s session touched on anything and everything under the quality umbrella, including unit tests, readability, code reviews, analysis tools, automation, and my personal favorite, code smells. His concluding message? “Make it work, make it better.”
Paul King and Guillaume Laforge later presented some interesting DSL examples in their session — sheet music, a Rubik’s cube solver, and a Groovy DSL written in Japanese characters (you know, if you want two languages to explain to a client).
In stacking the schedule with such a strong variety of Groovy/Grails experts and compelling topics, the most difficult part of the conference for me was picking and choosing which sessions to attend. I’ll be interested to continue following (and contributing to) the growth of dynamic languages on the JVM — despite the various setbacks of late, it’s impossible not to be inspired by all the excellent developments in the Java community.
Mark Daugherty
A longtime enthusiast of logic and problem solving, it seems appropriate that Mark would be inspired by software ideas and technologies...
Recent Posts
- Descriptive JMX Beans in AEM/CQ
- Invisible requirements within Business requirements
- Building a better Options Predicate
- Javascript, This, and You.
- Extensionless URLs with Adobe Experience Manager
- The Life of a Tester in Adobe CQ World!
- Limitations of the CQ Parsys Model and the Implementation of a Nested Paragraph System
- Google Analytics and AEM: No JavaScript? No Problem.
- Using Apache FOP to generate a PDF document based on a form submission data
- Configuring SAML in AEM 5.6