On February 6th I hosted the first Code Retreat to hit West Michigan, and we really couldn't have asked for a nicer day for a Code Retreat. Well, maybe a little bit warmer weather, but hey, it's February in Michigan, what do you expect? So after a quick stop at Panera Bread to get some bagels, scones and muffins, I made my way down to Atomic Object HQ to start the coffee brewing in preparation for the attendees. Shortly after sunrise, Nayan Hajratwala showed up to help with any last minute preparations before everyone else showed up.

Code Retreat GR

Soon about 20 people from all parts of the region had showed up to practice TDD and learn with each other, including one guy who came all the way down from Marquette, MI just to attend. He officially got the "I traveled the furthest" award for the day. We were also joined by Ron Jeffriesand Chet Hendrickson, who had agreed to come and be my professional trouble makers for the day. Shortly after 9:00, once everyone had been sufficiently caffeinated, we decided to get started. One of the attendees had mentioned something about Corey Haines putting together aset of Cucumber features at one of the previous Code Retreats in Chicago, so some of the pairs decided to give that a whirl. After some yak shaving we managed to get through the first iteration of the morning and retrospected on what happened and continued on into the second iteration of the day.

My original plan was to just sort of float around, help facilitate, and observe everyone else pairing, however when I noticed Ron Jeffries didn't have a pair for the second iteration, I took the opportunity to pair with him. Neither of us knew Cucumber very well, so we decided to give that a whirl. If ever you get the chance to pair with either Ron or Chet, don't think twice about it, just do it. Ron had at one point in the day managed to - as one participant described "...[kick his] BDD mindset a bit out of place. . . "

Before we knew it, lunch was upon us. It turns out that Corey Haines was hosting another Code Retreat in Seattle that day, so we fired up Skype and greeted our fellow Code Retreaters on the west coast as they were just getting ready to start for the day. Then we all proceeded to enjoy the taco bar that had been delivered for lunch and continued to retrospect on the days events so far. When we were all finished stuffing our faces with Qdoba, Mike Sweiton and myself gave our participants a quick tour of Atomic Object HQ, showing off our open space, stoplight, CI server, and our embedded projects workbench.

Now that our food had a chance to settle, it was back to pairing for a few more iterations of Conway's Game of Life. After one of the afternoon retrospectives, for a little bit of a distraction, we watched a video of someone implementing Conway's Game of Life in APL. This was spawned by an email thread that circulated right before the Code Retreat about how to implement theGame of Life in a single line of APL, which still blows my mind.

Finally, by the time the end of the day had finally arrived, we had lost a few of our fellow coders and we were ready to call it a day. Those of us who were still left standing at the end of the day took a walk around the corner to The Green Well, one of the many local establishments in the Eastown area, for some much needed unwinding. We continued to retrospect on the day's happenings over a few local microbrews and some delicious items from the menu. All in all I would have to say this was a successful Code Retreat. Everyone had a great time, we all got to pair program with some great folks we wouldn't normally get to pair with, and - most importantly - learning happened. Though many of the Code Retreats in the past have used Java as their language of choice, in my opinion I think using Ruby for this Code Retreat was the right choice. It afforded us much less yak shaving than would have probably been necessary had we been using Java. I'm looking forward to hosting another Code Retreat later this year when the weather is a little warmer, and hopefully attending the upcoming Code Retreat being hosted in Philadelphia by Sebastian Hermida.

Been awfully quiet lately as I am concentrating on finishing my book (http://manning.com/allmon), but this was some great news that I had to share.

The makers of the best Java IDE have just announced that they are open-sourcing their IntelliJ IDEA product and offering a community edition for free now. You can read about it here (The Most Intelligent Java IDE — Now Free and Open Source).

Over the past few months my co-author and I have been working hard at reworking much of what we have already written for our book in order to hopefully result in a much better book for our readers. Earlier today Manning released a letter explaining the delays in any updated chapters to those who have purchased a MEAP subscription to our book. The letter reads as follows:

We would like to take a minute to personally update you on the progress of our book. Although we are running behind the originally estimated release date, the end product will be a much better learning experience. From the beginning we have been continually refining the book and have taken the great feedback we've received to align the book more closely to your thoughts and insights. If you are receiving this letter and were part of the reviews, THANK YOU! Much of the feedback received, all helpful, really matched with how we (the authors) were feeling and helped us to really home in on what we felt would be important to include. Here are just some of the things that can be expected out of the new and improved Flex on Java.

Developer accessibility
When we started the Flex on Java journey we wanted to write a book that would assist Java developers in refactoring Java applications with the richness of Flex. Unfortunately, the sample application wasn't a good fit for everything we wanted to teach and was absorbing too much of our time trying to make it work properly for the readers. The sample application was an open source product that was not easy to download, build and go. This issue caused us to rethink our approach and we turned to Matt Raible's AppFuse framework that is aimed at helping developers build applications quickly and efficiently. AppFuse makes deployment and creation of the sample application a breeze and also opens the door to developers who are new to Java. It allowed us to focus more on the topic of integrating Flex with Java while broadening its audience to those who are not Java or Flex gurus.

Hit the ground running (faster pace)
The free chapter available will become an introduction to the book and chapter 1 will now get readers rolling with development on the first page. Chapter 1 will begin with developing the server-side application with the AppFuse framework and then quickly begin integrating Flex in chapter 2.

Deepening focus on Flex integration with Java
The faster tempo and more narrow focus on the topic of Flex and Java integration allows us to quickly go deeper in that topic. We will discuss how to use BlazeDS to connect to the Java server-side including POJO services, Spring services and Spring security in more detail. We will also include working with real-time JMS applications utilizing the Flex and Java APIs.

More focus on scalable frameworks
Good developers move from technology to technology and look for frameworks that allow them to avoid the common problems when designing an application. Frameworks for doing both dependency injection for creating loosely coupled applications and Model-View-Controller (MVC) will be explored in more detail. Frameworks such as Spring ActionScript, Cairngorm, and Pure MVC (and possibly others) will be demonstrated.

House cleaning
There are other topics like building the application with Ant and setting up continuous integration that are important but not part of the main gist of the book, so we moved those topics into the Appendices of the book. There are other housecleaning items that are being performed to make this the best book possible on integrating Flex with Java.

We hope that you will be delighted with the upcoming changes to the book. Please feel free to provide us with any feedback you may have for us. Thanks again!

BJ Allmon and Jeremy Anderson
Authors of Flex on Java

April's issue of GroovyMag has finally been released, and I must admit that I was pleasantly surprised when I found out that my article "Get Rich Quick with Flex & Grails" was to be the feature article for this issue. Please help support this very awesome magazine and purchase a copy of April's issue here (http://www.groovymag.com/main.issues.description/id=8/).gm6_400

I'm going to be presenting at the GRJUG meeting this week giving a whirlwind tour of Groovy. Not sure how I'm going to fit as much as I'd like to in a one hour bite sized chunk, but it'll be interesting nonetheless. If you're in the Grand Rapids, MI area on March 19th around 6:00pm, stop on by. Here's the announcement...

Unless you've been hiding under a rock for the past few years you've probably heard of Java's much hipper cousin Groovy. In this presentation we're going to begin to explore the Groovy language from the ground up through a series of unit tests. We'll start with some of the very basic concepts such as Strings, collections, looping, conditionals, exception handling, truth and introduce you to closures. With any luck we'll cover enough of the basics to prepare you for future presentations where we'll start to dive into the Grails framework and look at more advanced Groovy features such as meta- programming and building DSLs.

Presenter Bio: Jeremy Anderson is a software craftsman for Pillar Technology Group, an Agile consulting firm in the Great Lakes area. He is a self- proclaimed autodidact, constantly tinkering with cutting edge technologies such as Groovy, Grails and Flex. He’s been developing web-based applications on the JVM in one shape or another for over 5 years. He’s currently co-authoring a book on integrating Flex with Java for Manning Publications due out later this year, and even occasionally finds time to write on his blog. When he’s not sitting behind a keyboard hacking away at code you can usually find him out on the single-track on his mountain bike or sometimes even on foot.