Speakers
- Clifford Berg
- David Bock
- Scott Davis
- Rick DeNatale
- Esther Derby
- Robert Fischer
- Neal Ford
- Chad Fowler
- Andrew Glover
- Stuart Halloway
- David Hussman
- Yehuda Katz
- Rich Kilmer
- Carl Lerche
- Matthew McCullough
- Joe O'Brien
- Andrea O. K. Wright
- Russ Olsen
- Bob Payne
- Christopher Redinger
- Johanna Rothman
- Brian Sam-Bodden
- Ken Sipe
- Brian Sletten
- Kevin Smith
- Venkat Subramaniam
- Nathaniel Talbott
- Laurie Williams
Robert Fischer
Java Concurrency Specialist and GORM Expert; Principal, Smokejumper Consulting
Robert is the author of Grails Persistence in GORM and GSQL, a regular contributor to GroovyMag and JSMag, the founder of the JConch Java concurrency library, and the author/maintainer of Liquibase-DSL and the Autobase database migration plugin for Grails.
Blog
Scala: Post-Functional, Post-Modern, or Just Perl++?
Posted Saturday, March 6, 2010
Let’s start with some background. I complained that Scala did not seem to be very functional to me, but I didn’t really know how best to express what was fundamentally wrong with it. I did know that if “functional more »DynamicDomainProperties and the AGPL
Posted Saturday, February 20, 2010
I just released the DynamicDomainProperties plugin for Grails, which allows domain classes to have dynamic properties. It’s pretty nifty, if I do say so myself. Based on my frustration with the Grails plugin culture because more »I Don’t Get It
Posted Friday, February 5, 2010
When encountering a bug in an open source project, most Java people seem unwilling to either fix it themselves or pay the maintainer to fix it—they’d rather abandon the project or kludge their software painfully and repetitivel more »The Gradual Death of IE6 Just Got a Nitro Boost
Posted Tuesday, February 2, 2010
From the Official Google Enterprise Blog: Many other companies have already stopped supporting older browsers like Internet Explorer 6.0 as well as browsers that are not supported by their own manufacturers. We’re also going to begin more »Presentations
Architecting Code for Concurrent Execution: Theory and Practice
The power of multicore machines and cloud computing is all dependent on an application's ability to successfully leverage concurrency. Although concurrency has traditionally been considered fatally difficult in Java, a few simple architecture principles more »Polyglot Programming on the JVM
Development of a program has traditionally been done in one language and one language only. Increasingly, however, JVM languages are being expected to interoperate with one another. This talk explores what makes polyglot programming possible, why busine more »Demystifying Functional Programming: Jargon and Patterns
With languages like F#, Clojure, and Scala increasingly taking up mindshare, many developers feel pressure to jump into functional programming. The jargon of functional programming can prove a huge barrier, though, and it really shouldn't. This session more »Grails for the Enterprise
The Grails web application is an innovative hybrid of best-of-breed Java technologies and dynamic/convention-based development. The result is a powerful, flexible, exciting framework that still fits comfortably into enterprise stacks. This session intro more »Agile Practices Review: A Tactics Retrospective
Increasingly, people are adopting Agile practices a la carte, and some are even talking about "post-Agile" methodologies. If things are going to be changing, let's take a moment to review Agile development practices, the problems they were trying to solv more »Demystifying Functional Programming with F#
Although functional programming is getting a lot of hype, there isn't much help out there for those who want to learn the paradigm. This presentation introduces F#, an increasingly popular dot-Net functional language from the MetaLanguage (ML) family. I more »The power of multicore machines and cloud computing is all dependent on an application's ability to successfully leverage concurrency. Although concurrency has traditionally been considered fatally difficult in Java, a few simple architecture principles can make all the difference. This session will review some of those principles in both theory and practice.
This session will review the theory of concurrency and the different levels that concurrency will act on. With that basis, it explores the theoretical reasons behind the difficulties in writing concurrent code, and then some practical application architecture techniques to cope with those difficulties.
Development of a program has traditionally been done in one language and one language only. Increasingly, however, JVM languages are being expected to interoperate with one another. This talk explores what makes polyglot programming possible, why businesses should adopt the polyglot development model, and compares the interoperability of JRuby, Groovy, Scala, and Java.
It is very possible for an application written on the JVM to be made up of many different languages. In fact, that model of development will be increasingly popular as languages increasingly specialize in their domain of strength. Because of that, polyglot programming will become one of the key skills expected of JVM developers, and this session gives a leg up on that.
With languages like F#, Clojure, and Scala increasingly taking up mindshare, many developers feel pressure to jump into functional programming. The jargon of functional programming can prove a huge barrier, though, and it really shouldn't. This session will explain what the functional programmers mean when they say things like "closure", "monad", "monoid", and "combinator", and show that they are actually ideas with Java analogs that are more familiar than their names may imply.
Functional programming has been the domain of academics for a long time, but the paradigm is increasingly being considered by business-line developers. Some people even tout it as the movement of the future. Unfortunately, the jargon of functional programming have been defined by academics, which makes breaking into the language tricky. As a student of pure mathematics, a Java programmer, and a functional programming consultant, Robert will translate these ideas between paradigms.
The Grails web application is an innovative hybrid of best-of-breed Java technologies and dynamic/convention-based development. The result is a powerful, flexible, exciting framework that still fits comfortably into enterprise stacks. This session introduces Grails, but approaches it from the perspective of an enterprise web development stack, in order to see how Grails works well in mid-size and mature development shops.
Some technologies seem to think that running on the JVM is all that it takes to be enterprise-ready, but the reality is that there is a large context of standard Java technologies like Spring, Hibernate, Log4J, JNDI, and app servers that make up the backbone of enterprise Java shops. This presentation will show how Grails naturally fits into that context because it is built off of those existing technologies.
Increasingly, people are adopting Agile practices a la carte, and some are even talking about "post-Agile" methodologies. If things are going to be changing, let's take a moment to review Agile development practices, the problems they were trying to solve, what worked, and what difficulties these new methodologies are responding to. With this information in hand, we can make an intelligent decision about the development methodology for our team.
This interactive session will review the why's, wherefore's, and why not's of test-driven development, continuous integration, iterations, "point"-based estimation, retrospectives, scrums, and other Agile practices.
Although functional programming is getting a lot of hype, there isn't much help out there for those who want to learn the paradigm. This presentation introduces F#, an increasingly popular dot-Net functional language from the MetaLanguage (ML) family. It then uses F#'s lightweight functional programming syntax to explore the basic concepts and jargon that underly functional programming, providing a basis for understanding functional programming in general.
Functional programming has been the domain of academics for a long time, but the paradigm is increasingly being considered by business-line developers. Some people even tout it as the movement of the future. Unfortunately, the jargon of functional programming have been defined by academics, which makes breaking into the language tricky. As a student of pure mathematics, a Java programmer, and a functional programming consultant, Robert will translate these ideas between paradigms. This session will explain what the functional programmers mean when they say things like "closure", "monad", "monoid", and "combinator", and show that they are actually ideas with OO analogs that are more familiar than their names may imply.
Books
by Robert Fischer
-
Unique to the popular Grails web framework is its architecture. While other frameworks are built from the ground up, Grails leverages existing and proven technologies that already have advanced functionality built in. One of the key technologies in this architecture is Hibernate, on top of which Grails builds its GORM (Grails Object Relational Mapping) model layer. This provides Grails a persistence solution.
Published with the developer in mind, firstPress technical briefs explore emerging technologies that have the potential to be critical for tomorrow’s industry. Apress keeps developers one step ahead by presenting key information as early as possible in a PDF of 150 pages or less. Explore the future through Apress with Grails Persistence with GORM and GSQL
This firstPress book covers Grails persistence with GORM, from defining your first model to the nature of transactions and advanced Hibernate querying. Other APIs and tools such as GSQL (Groovy SQL) are covered as well, as needed, to empower your Grails persistence efforts.
What you’ll learn
- Extend the Grails web framework into a broader, semi–enterprise framework by including and integrating Hibernate–based Java persistence, known as GORM.
- Use mappings to customize default behaviors and work with legacy schemas.
- Use constraints to define your object once and have those constraints enforced both in code and at the database level.
- Use advanced features of GORM and Hibernate Query Language (HQL) to simplify database querying and report generation.
- Debug and tune trips for GORM and Hibernate.
- Fill in the gaps with GSQL.
Who is this book for
This title is for those who have committed to dedicating some time to mastering Grails and are looking to move beyond the basics, and are especially interested in Grails and Groovy persistence for some limited transaction handling and/or accessing databases.