Speakers
- Dan Allen
- Aaron Bedra
- Tim Berglund
- Rohit Bhardwaj
- David Bock
- Stevie Borne
- Jeff Brown
- James Carr
- Scott Davis
- Jeremy Deane
- Keith Donald
- Michael Easter
- Robert Fischer
- Neal Ford
- Brian Gilstrap
- Andrew Glover
- Brian Goetz
- Stuart Halloway
- David Hussman
- Mark Johnson
- Dave Klein
- Scott Leberknight
- Tiffany Lentz
- Howard Lewis Ship
- Chris Maki
- Matthew McCullough
- Alex Miller
- Ted Neward
- Michael Nygard
- Pratik Patel
- Mark Richards
- Brian Sam-Bodden
- Srivaths Sankaran
- Nathaniel Schutta
- Aleksandar Seovic
- Ken Sipe
- Brian Sletten
- Matt Stine
- Venkat Subramaniam
- Burr Sutter
- Vladimir Vivien
- Mark Volkmann
- Craig Walls
- Richard Worth
Andrew Glover
Founder of easyb
Blog
Actor style messaging and honey do lists
Posted Wednesday, March 10, 2010
As I previously mentioned in “Free lunches, mousetraps and the Actor model“, Edward A. Lee wrote an interesting article entitled “The Problem with Threads” in which he advocates leveraging the actor model in more »ESDC 2010 resources
Posted Monday, March 8, 2010
I recently had the opportunity to present four different talks at the Enterprise Software Development Conference (or ESDC) in San Mateo, California. In an effort to provide additional data points and information, I created individual more »Free lunches, mousetraps and the Actor model
Posted Tuesday, March 2, 2010
A politician once mused A free lunch is only found in mousetraps. While this quote is amusing, it’s painfully true. In fact, the whole notion of a free lunch and its consequences was copacetically captured by Herb Sutter in an more »easyb will support behavior tagging
Posted Monday, February 22, 2010
Back in the Age of Aquarius, I wrote an article entitled “Use test categorization for agile builds” in which I attempted to delineate various types of tests and then went on to suggest how to categorize these various tests so more »Book Review: DSLs in Boo
Posted Thursday, February 18, 2010
While I don’t spend a lot of time on the .NET platform anymore, I’m still a big fan of Boo. Having cut my teeth on Python many years ago, I’ve always enjoyed hip Pythonic languages and when Boo ca more »Introduction to easyb video
Posted Tuesday, February 2, 2010
The easyb team is pleased to announce the posting of a hip introductory video that demonstrates both specifications and stories in action. In this 8 and 1/2 minute video, you’ll learn that easyb enables you to express human readable e more »Presentations
Tactical Continuous Integration with Hudson
This session will walk attendees through a series of iterations on a fictional Java project where an automated build system is created that facilitates compilation, testing, inspection, and deployment. This build system is then plugged into the Hudson CI more »Leveraging the cloud with Amazon Web Services
Amazon's S3 and EC2 offerings are publicly available services that enable you to run virtual machines and store (and retrieve) digital assets (i.e. images, music, documents, etc). more »RESTing easy with Grails
Representational state transfer (REST) is a way of thinking, not a protocol or standard-- it's a style of designing loosely coupled applications that rely on named resources (in the form of URLs, URIs and URNs, for instance) rather than messages. Ingeniou more »Easy BDD with Groovy
The Manifesto for Agile Software Development essentially focuses on meeting customer needs through reducing wasteful activities. For example, Agile developmental practices push for reducing repetitive documentation and for a rapid acceptance of change; ye more »Comparing the cloud: Google App Engine versus Amazon's EC2
Open source solutions combined with borrowed infrastructures are changing the character of Java development, letting teams deliver better software quickly and at a low cost. If you find yourself budgeting for an IT project, you owe it yourself (and your c more »Gradle - Next Generation Build System
TBA more »This session will walk attendees through a series of iterations on a fictional Java project where an automated build system is created that facilitates compilation, testing, inspection, and deployment. This build system is then plugged into the Hudson CI server and as features are coded using Agile techniques like developer testing, attendees will ultimately see firsthand how a Continuous Integration process reduces risk and improves software quality.
The practice of Continuous Integration facilitates early visibility into the development process by regularly conducting software builds, thus integrating disparate software pieces earlier than later, which often times minimizes the interval between when a defect is coded and when it is discovered. Often times though, Continuous Integration is thought of as a tool, which leads to a false sense of ease when it comes to adopting a Continuous Integration process.
This session will walk attendees through a series of iterations on a fictional Java project where an automated build system is created that facilitates compilation, testing, inspection, and deployment. This build system is then plugged into the Hudson CI server and as features are coded using Agile techniques like developer testing, attendees will ultimately see first hand how a Continuous Integration process reduces risk and improves software quality.
Amazon's S3 and EC2 offerings are publicly available services that enable you to run virtual machines and store (and retrieve) digital assets (i.e. images, music, documents, etc). In this session, we'll cover the ins and outs of S3 & EC2 and see first hand how to leverage them for various purposes -- either personal or in the enterprise.
Amazon's EC2 offering is less of a development platform per se and more of a generic infrastructure service that hosts virtual machines (which can be Linux or Windows based) on which you can run anything you'd like. EC2 isn't free, but it's a lot more flexible than Google App Engine. You can run any Java application (including one that uses Hibernate, for example) provided you can create or borrow a virtual machine. As with Google App Engine, with EC2 the notion of where an application is deployed and how it will scale is largely in Amazon's control, so scaling it to a global audience is quite efficient.
Amazon's S3 offering (which stands for Simple Storage Service) is a publicly available service that enables you to store (and retrieve) digital assets (i.e. images, music, documents, etc). From an end users perspective, S3 is essentially a storage area network (or SAN), the reality, however, is that Amazon is the cloud, in which there are a number of machines (spread across a geographic area) all containing a particular digital asset (or piece of it, perhaps!). The complexity of fulfilling a service request to store your asset and indeed to retrieve it is all handled by Amazon as well. What's more, Amazon hides this complexity behind an intuitive RESTful API, which means your can programmatically access your assets from any platform or language!
In this session, we'll cover the ins and outs of S3 and see first hand how to leverage it for various purposes -- either personal or in the enterprise. What's more, Amazon's S3 forms the backbone for a number of other cloud services; consequently, a firm handle of S3 will undoubtedly come in handy as you pursue other cloud offerings from Amazon's EC2 to Google's AppEngine.
Representational state transfer (REST) is a way of thinking, not a protocol or standard-- it's a style of designing loosely coupled applications that rely on named resources (in the form of URLs, URIs and URNs, for instance) rather than messages. Ingeniously, REST piggybacks on the already validated and successful infrastructure of the Web-- HTTP. That is, REST leverages aspects of the HTTP protocol such as GET and POST requests, which map quite nicely to standard business-application needs such as create read, update, and delete (CRUD). By associating requests, which act like verbs, with resources, which act like nouns, you end up with a logical expression of behavior: GET this document and DELETE that record, for example.
To quote Leonardo da Vinci, "simplicity is the ultimate sophistication." REST embodies this thought and thus yields highly scalable, loosely coupled systems that, as it turns out, are simple to build. There are a few mechanisms for implementing RESTful applications-- Restlets and JSR 311 are two in a handful of options; however, they address one aspect of RESTful applications and ignore other aspects like an ORM and testing. Groovy's Grails gives you the ability to apply RESTful techniques with a full fledged web application framework that supports an ORM and testing to boot! As you see, using Groovy's Grails framework makes building RESTful Web services a snap.
The Manifesto for Agile Software Development essentially focuses on meeting customer needs through reducing wasteful activities. For example, Agile developmental practices push for reducing repetitive documentation and for a rapid acceptance of change; yet, achieving these goals is by no means easy. While a process can enable increased collaboration, for instance, there are various tools that can effectively implement Agile principles. Once such tool is easyb (www.easyb.org), which is a Groovy based domain specific language, which facilitates collaboration by bridging those that define requirements (i.e. customers) and those who turn requirements into code (i.e. development). With easyb, collaborative teams can develop stories in a specific format which are then implemented as tests through a framework which marries the underlying application. This test suite enables change and produces accordance among Agile teams in short order.
In this talk, you will learn how to embrace collaboration and change rapidly by defining easyb stories that exercise a Java application end to end. You will learn how to define specific easyb structures, how to plug them into real code, and how to run them in an automated fashion. You will see first hand how non-coders can define tests easily and how the collaboration this brings yields working software faster.
Open source solutions combined with borrowed infrastructures are changing the character of Java development, letting teams deliver better software quickly and at a low cost. If you find yourself budgeting for an IT project, you owe it yourself (and your company's wallet) to see if renting some space from a Google or Amazon is cheaper than acquiring the hardware yourself.
Several years ago, a few smart companies took advantage of the commoditization of hardware (and related software) by building systems made up of a lot of cheap machines, knowing that the entire infrastructure would continue to work even if individual machines broke at some point. Those smart companies -- like Google and Amazon (to name a few) -- have enormous infrastructures that they can literally rent out to people like you and me (and keep their core business running smoothly at the same time). Consequently, the notion of cloud computing is a reality these days. If you find yourself budgeting for an IT project, you owe it yourself (and your company's wallet) to see if renting some space from a Google or Amazon is cheaper than acquiring the hardware yourself.
Google's and Amazon's borrowed infrastructures, however, differ distinctly. Google's App Engine is more of a platform for developing Java Web applications. You can't use everything available to the Java universe, such as Hibernate. Instead, you are constrained somewhat to using Google's Big Table, for instance. However, in return you get a free hosted solution that scales to your heart's desire.
Amazon's EC2 offering is less of a development platform per se and more of a generic infrastructure service that hosts virtual machines (which can be Linux or Windows based) on which you can run anything you'd like. EC2 isn't free, but it's a lot more flexible than Google App Engine. You can run any Java application (including one that uses Hibernate, for example) provided you can create or borrow a virtual machine. As with Google App Engine, with EC2 the notion of where an application is deployed and how it will scale is largely in Amazon's control, so scaling it to a global audience is quite efficient.
Books
by Paul Duvall, Steve Matyas, and Andrew Glover
-
This is the eBook version of the printed book. If the print book includes a CD-ROM, this content is not included within the eBook version.
For any software developer who has spent days in “integration hell,” cobbling together myriad software components, Continuous Integration: Improving Software Quality and Reducing Risk illustrates how to transform integration from a necessary evil into an everyday part of the development process. The key, as the authors show, is to integrate regularly and often using continuous integration (CI) practices and techniques.
The authors first examine the concept of CI and its practices from the ground up and then move on to explore other effective processes performed by CI systems, such as database integration, testing, inspection, deployment, and feedback. Through more than forty CI-related practices using application examples in different languages, readers learn that CI leads to more rapid software development, produces deployable software at every step in the development lifecycle, and reduces the time between defect introduction and detection, saving time and lowering costs. With successful implementation of CI, developers reduce risks and repetitive manual processes, and teams receive better project visibility.
The book covers
- How to make integration a “non-event” on your software development projects
- How to reduce the amount of repetitive processes you perform when building your software
- Practices and techniques for using CI effectively with your teams
- Reducing the risks of late defect discovery, low-quality software, lack of visibility, and lack of deployable software
- Assessments of different CI servers and related tools on the market
The book’s companion Web site, www.integratebutton.com, provides updates and code examples.
by Neal Ford
-
Twenty-seven weekends a year, the No Fluff, Just Stuff conference rolls into another town, featuring the world's best technical speakers and writers. Up until now, you had to go to one of the shows to soak up their collective wisdom. Now, you can hold it in the palm of your hand. The No Fluff, Just Stuff Anthology represents topics presented on the tour, written by the speakers who created it. This book allows the authors the chance to go more in depth on the subjects for which they are passionate. It is guaranteed to surprise, enlighten, and broaden your understanding of the technical world in which you live.
The No Fluff, Just Stuff Symposium Series is a traveling conference series for software developers visiting 27 cities a year. No Fluff has put on over 75 symposia throughout the U.S. and Canada, with more than 12,000 attendees so far. Its success has been a result of focusing on high quality technical presentations, great speakers, and no marketing hype. Now this world-class material is available to you in print for the first time.
by Dierk Koenig, Andrew Glover, Paul King, Guillaume Laforge, and Jon Skeet
-
"... a clear and detailed exposition of what is groovy about Groovy. I'm glad to have it on my bookshelf."
--From the Foreword by James GoslingGroovy, the brand-new language for the Java platform, brings to Java many of the features that have made Ruby popular. Groovy in Action is a comprehensive guide to Groovy programming, introducing Java developers to the new dynamic features that Groovy provides. To bring you Groovy in Action, Manning again went to the source by working with a team of expert authors including both members and the Manager of the Groovy Project team. The result is the true definitive guide to the new Groovy language.
Groovy in Action introduces Groovy by example, presenting lots of reusable code while explaining the underlying concepts. Java developers new to Groovy find a smooth transition into the dynamic programming world. Groovy experts gain a solid reference that challenges them to explore Groovy deeply and creatively.
Because Groovy is so new, most readers will be learning it from scratch. Groovy in Action quickly moves through the Groovy basics, including:
* Simple and collective Groovy data types
* Working with Closures and Groovy Control Structures
* Dynamic Object Orientation, Groovy styleReaders are presented with rich and detailed examples illustrating Groovy's enhancements to Java, including
* How to Work with Builders and the GDK
* Database programming with GroovyGroovy in Action then demonstrates how to Integrate Groovy with XML, and provides,
* Tips and Tricks
* Unit Testing and Build Support
* Groovy on WindowsAn additional bonus is a chapter dedicated to Grails, the Groovy Web Application Framework.
by Jon Thomas, Matthew Young, Kyle Brown, and Andrew Glover
-
* Focuses on software testing, which is one of the most important-and often the most overlooked-aspects of software development
* First book that demonstrates how to apply both existing and new design patterns to the job of testing Java software
* Explains how applying proven patterns to the testing of software can help ensure that applications function correctly and more efficiently, and are easier to maintain
* Patterns will be extensively reviewed online to ensure community support and endorsement
* Covers detailed patterns for unit, functional, database, and application deployment testing
* Provides complete Java code that applies each pattern to a real-world sample application
* Companion Web site provides code for Java pattern implementations, plus code for the sample applications and test suites