Eric Evans advocates on gradual blending of modeling and design into iterative development based on a correct and deep understanding of the domain, avoiding both “analysis paralysis” and the “easiest solution” for a user story, in an attempt to create a solution that expresses the domain and is flexible enough to support future variations of the model.
Jonathan Felch discusses Groovy starting with its initial manifesto, its major features, language’s capabilities from a financial perspective and lessons learned in an actual project, Groovy’s main dynamic and meta-programming features and the power of using them together, ending with a look at what is not so great or not working as it is supposed in Groovy.
Jeremy Grelle discusses the following technologies from the Spring ecosystem: Spring 3.0, in greater detail, and Spring Integration, Spring Blaze and Spring Roo in less detail. For Spring 3.0 he covers the following topics: Themes, Generics, Annotated Factory Methods, Meta-Annotations, Spring Expression Language (SpEL), MVC, Rest Template. The talk ends with a demonstration of Roo.
Alex Miller explains shortly why caching is useful, followed by examples of typical difficulties encountered when setting up a cache, like large datasets, data eviction, stale data, replication, loading, duplication. Miller also discusses available choices for designing a distributed caching architecture, and ways to test a cache for performance.
Eishay Smith presents the main differences between Scala and Java, explaining how the Java developers can start integrate Scala code into their development, building, testing and runtime environments. Smith also talks about Scala’s learning curve, IDE integration issues and problems people face when Scala is introduced to their organization.
Magnus Christerson demonstrates using a domain workbench to develop an electronics domain language - its key concepts, how they are defined, the semantic model – and a building access permit example showing the phases from concept to code.
Simon Guest presents 5 cloud computing patterns along with examples and Azure solutions for scaling, multi-tenancy, computing, storage and communication.
Stuart Halloway presents what makes Clojure different and, in his opinion, better than Java, plus some real-life lessons on Clojure development including BDD for functional code, wrapping Java APIs, third part libraries worth knowing, writing code without an objectual context, and the learning curve for a team new to the language.
Steve Freeman offers advice on writing good tests that make development easier avoiding adding dead weight code that is hard to maintain. Freeman covers the following areas: test readability, complex test data, test diagnostics, and test flexibility.
Jay Kreps discusses the architecture, algorithms, implementation and deployment of Voldemort, a distributed storage system. He also presents the problems solved using Voldemort at LinkedIn.
Stuart Charlton talks about the opportunity brought by cloud computing to introduce agile methods and processes to the operational side of IT, reflecting on how cloud computing affects the relationship between development and operations, suggesting goals that help bridging these two worlds together, and proposing an integrated approach to application design, development and operations.