Speakers
- Ben Alex
- Michael Alford
- Andres Almiray
- Scott Andrews
- Alex Antonov
- Alef Arendsen
- Mattias Arthursson
- Shay Banon
- Jean Barmash
- Antranig Basman
- Chris Beams
- Burt Beckwith
- Peter Bell
- Tim Berglund
- Imad Bernoussi
- Jonas Boner
- Jon Brisbin
- Jeff Brown
- Kent Brown
- Dennis Callaghan
- Isaac Christoffersen
- Andy Clement
- Christophe Coenraets
- Adrian Colyer
- Michael Cote
- Hamlet D'Arcy
- Joshua Davis
- Scott Davis
- Hans Dockter
- Keith Donald
- Christian Dupuis
- Justin Edelson
- Mike Esler
- Mike Evans
- Danno Ferrin
- Robert Fischer
- Adam Fitzgerald
- Andrew Glover
- Jeremy Grelle
- Filip Hanik
- Colin Harrington
- Rob Harrop
- Ryan Heaton
- Jennifer Hickey
- Pete Higgins
- Hal Hildebrand
- Al Hilwa
- Juergen Hoeller
- Jim Jagielski
- Steve Jin
- Rod Johnson
- Mike Keith
- Jack Kennedy
- Mik Kersten
- Paul King
- Dave Klein
- Mark Kralj-Taylor
- Guillaume LaForge
- Costin Leau
- Scott Leberknight
- Peter Ledbrook
- Charles Lee
- John Lewis
- Patrick Linskey
- Martin Lippert
- Mat Lowery
- Wayne Lund
- Randy MacBlane
- Andi Mann
- Maudrit Martinez
- Ross Mason
- Tom McCuch
- Richard McDougall
- Sudhir Menon
- Marty Messer
- Russell Miles
- Jim Moore
- Ryan Morgan
- Justin Murray
- Billy Newport
- John Newton
- Peter Niederwieser
- Glyn Normington
- Brian Oliver
- Pratik Patel
- Prasad Pimplaskar
- Mark Pollack
- Alexandru Popescu
- Arjen Poutsma
- Yan Pujante
- Cameron Purdy
- Jags Ramnarayan
- Mark Richards
- Thomas Risberg
- Jared Rodriguez
- John Rymer
- Vipul Savjani
- Stefan Schmidt
- Mark Schwartz
- Nati Shalom
- Ken Sipe
- Brian Sletten
- Javier Soltero
- Randy Stafford
- Mike Stenhouse
- Matt Stine
- Rossen Stoyanchev
- Venkat Subramaniam
- Dave Syer
- Matthew Taylor
- Mark Thomas
- Greg Turnquist
- Thomas Van de Velde
- Erwin Vervaet
- Scott Vlaminck
- Alexander von Zitzewitz
- Chris Wall
- Craig Walls
- Lucas Ward
- Kevin Whinnery
- James Williams
- David Winterfeldt
- Chip Witt
- Eberhard Wolff
- Aaron Zeckoski
- Oleg Zhurakousky
- Ari Zilka
- Kris Zyp
Hamlet D'Arcy
Sr. Java/Groovy Developer, Groovy Committer
Presentations
Groovy Compiler Metaprogramming and AST Transformations
'A language should have access to its own abstract syntax' John McCarthy, Father of Lisp. Well, now Groovy 1.6 does! This talk is about why AST transformations are important, what you can do with them, and where the language world is headed. We'll dive into some of the useful Groovy annotations and libraries being written that harness AST transformations, see how to write our own, and work with the AST tools coming out with the next version.
At the end we'll prognosticate about the future of programming languages in general, and hypothesize about where the Groovy features fit into the history of languages. Fun!
Functional Groovy
For many, learning Groovy made you think differently about Java. Now it's time to think differently about Groovy. Although Groovy is not a functional language by many measures, it does support many of the common functional idioms and patterns. Come explore both how far functional programming can be pushed in Groovy, where functional programming can't currently go, and where functional programming is headed in future releases of both the language and the JVM.
Learn about morphisms, option types, tail call optimization, pattern matching, and functional composition in the context of solving classic CS problems side-by-side with a more traditional functional language, and decide for yourself how terms like elegance and simplicity should drive your coding. This is not meant to be an intro to functional programming but no prior experience is required.
OSGi and Groovy Jump Start
OSGi, Jigsaw, modularity, service lifecycles, bundles... where do you start? This talk covers the basics of using OSGi and Groovy together.
You'll be introduced to the OSGi framework by building a Groovy based application that introduces the core concepts of OSGi such as themodule system, service registry, and service life cycles. We'll also cover common pifalls encountered by mixing Groovy and OSGi, as well the latest OSGi tools available.
Legacy Code, Groovy, and You
Thinking about writing Groovy unit tests for your legacy Java code? This session is an honest discussion about what Groovy will gain youand what it won't.
Come learn the engineering practices and tools that you can use to battle tight coupling, monolithic projects, and tangled dependencies, and then decide for yourself whether Groovy is the answer for your project. Plan on returning to work with a vision of what your team can do to write better software.
Slimmed Down Software: A Lean, Groovy Approach
The Groovy Programming Language advertises itself as an "agile and dynamic Language for the JVM", but what does this mean exactly? This session explains Lean Software Development, and shows how your choice of programming language can help your entire process remain nimble and adaptive.
Come learn about the principles of Lean, and see how Groovy and the associated ecosystem help eliminate waste, defer commitment, and build quality into your product. Leave with new ideas about collaboration that both developers and business users will embrace.
Audience: Team leads looking for low risk but effective ways to increase velocity.
Code Generation on the JVM: Writing Code that Writes Code
"The Pragmatic Programmer" admonished us all to "write code that writes code": use code generators to increase productivity and avoid duplication. Today's language communities have clearly caught on, as more and more frameworks generate code at compile time: AST Transforms, Project Lombok, Spring Roo, and more.
This session reviews these approaches including examples of how and why we'd want to do this. Come see the newest Groovy language tools, look in-depth at production deployed AST Transforms, and view libraries based on these techniques.
Audience: developers searching for cutting edge solutions to increasing team velocity.