Strange Loop 2009 – Day 2
My notes and thoughts about day two of strange loop 2009.
Also be sure to check out my Day one notes.
jQuery – Matt Taylor
- http://weblog.dangertree.net/
- Showed numerous examples how easy jQuery makes it to select and edit HTML elements. Made me realize I should use jQuery even in small apps.
- Also showed examples of the jQuery AJAX functionality
Mobile Development 101
- http://www.slideshare.net/michael.galpin
- http://fupeg.blogspot.com/
- This session was full which doesn’t surprise me since mobile development is about to get easier thanks to Android.
- Started off going how to develop apps for the iPhone
- The emulator and development software only run on a Mac
- Has to be written in Objective C
- I wanted to throw up when I saw the objective c examples
- No garbage collection. Memory is limited on phones so this is an important issue.
- Maybe I’m just to much of a simpleton, but I really don’t ever want to write any objective C
- MVC framework – cocoa touch
- No background processing on iphone
- Android
- Can run any language that is built on the JVM
- XML format for UI develoment
- Does not use standard MVC pattern. Uses something called Activities and Intents.
- There are multiple android emulators
- Mobile dev best practices (not specific to android or iphone)
- Need lean web services
- Limit network traffic
- Limit audio/video/images
- Mobile Web Application
- Alternative to writing an iPhone/Android app
- A lot of phones have the same browser now
- Some mobile browsers leak memory
Entrepreneur Talk – Panel Discussion
- This book was mentioned, Outliers: The Story of Success
- Someone said that you need irrational arrogance to start your own company.
- Another person said that start ups are all offense and no defense. Just keep putting stuff out, early and often
- The idea was presented that everyone has risk even the person working for a company because you can be fired at any time
- The current work culture is sort of like having one client at a time because developers change jobs so often.
Polyglot Grails – Jeff Brown
- http://www.nofluffjuststuff.com/conference/speaker/jeff_brown
- http://javajeff.blogspot.com/
- You can use many languages with Grails. Jeff even gave an example of Grails with a simple language he created
- methodMissing(string name, args) is a very interesting feature of Groovy
Minimalism – Alex Payne
- http://twitter.com/Al3X
- http://al3x.net/books_talks.html
- Interesting talk about little m minimalism and how it be applied to code
- Alex made a few comments about how programming is a young field
List of slides on strangeloop.com
Day two sessions

Strange Loop 2009 – Day 1
A new developer conference has started in St Louis this year named Strange Loop. Normally I don’t go to developer conferences because they are either in a different country or on the coasts. This one was close by in St Louis, MO. And from the quality of speakers and diverse sessions I predict next years conference will sell out very quickly unless they increase the capacity. Below are my overall topics/themes I took away from the conference and some interesting points from each talk I witnessed along with links to the speaker’s site and slide show if available.
Day two
Strange Loop Thoughts Overall
- open source, open source, open source
- every talk envolved open source. The FUD around open source is finally withering away.
- DRY constant theme
- Mobile development is upon us and will be for maybe ever
- Scala, Clojure, Groovy are HOT languages on the JVM
- Great conference that covered many relevant topics
- All the talks were technical, no boring management oriented sales pitches
Functional Ruby – Dean Wampler
- http://deanwampler.com/
- Link to slide show
- I atteneded this talk because I’m interested in the functional programming line of thought. And I don’t get to see much ruby code.
- Recommends learning a functiona programming language: Scala, Hascal, Cojure
- Multiprocessor systems are making it more important to use threads. Threads and synchronizaton is hard to get right. So functional languages that have immutable objects/values are easier because immutable objects/values don’t require synchronization.
- Try to avoid a bloated domain objects that have numerous properties to fullfill multiple requirements for different use cases. Have smaller objects for seperate uses.
Polyglot Programming – Dean Wampler
- Link to slide show
- polyglot programming: using more than one programming language. Not like using CSS, JS. But like using Groovy and Java or Groovy and Clojure.
- Dean thinks that Scala could become very popular in the future
- Hybrid object and functional language
- Multiple cpus is driving the need for functional languages
- Mentioned the famous quote: “Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.”
– Antoine de Saint-Exuper
Griffon (Swing just got fun again) – James Williams
- http://jameswilliams.be/blog/entry/index
- http://groovy.codehaus.org/Griffon
- Mentioned that the swring application framework is dead
- Griffon is the unofficial grails for the desktop
- It really did looks rails like from the project layout to the build process
- Suggested Groovy In Action for anyone that wanted to earn Groovy
Future of Java – Bob Lee
- http://crazybob.org
- Writes his talks in Java. I’m serious. Here is the SVN repo for his talks
- Talked about how/why he wanted better resource management in Java.
- Said he searched the JDK and found that 74 out of 110 the JDK has leaks for a certain IO functionality.
- Talked about his work on JSR-330 dependency injection in JDK
- @Inject annotation
- New quicksort that was developed for Android JVM (Harmony)
Spring Patterns: Best Practices and Design Strategies Book Review
This is a book review of Pro Java™ EE Spring Patterns: Best Practices and Design Strategies Implementing Java EE Patterns with the Spring Framework
About the Book
Pro Java™ EE Spring Patterns focuses on enterprise patterns, best practices, design strategies, and proven solutions using key Java EE technologies including JSP™, servlets, EJB™, and JMS APIs.
This Java EE patterns resource, catalog, and guide, with it’s patterns and numerous strategies, documents and promotes best practices for these technologies, implemented in a very pragmatic way using the Spring Framework and it’s counters.
The book was written by Dhrubojyoti Kayal. Dhrubojyoti works as a senior consultant with Capgemini Consulting. He has more than five years of experience developing and designing applications and products leveraging Enterprise Java technologies. His areas of interest include the Spring Framework, ORM, SOA, refactoring, prefactoring, and performance engineering.
In this book the author takes us through the process of refactoring a legacy system built without using patterns or the Spring Framework into a shiny new system leveraging Spring and design patterns. Throughout the book he takes us through this practical, real-word example.
Introduction to the MVC Pattern
The first chapter introduces you to the MVC pattern. I think that this book is for a well versed J2EE professional developer, who would probably be familiar with the pattern, so this chapter may have been overkill. However, the basis of this book is to refactor an antiquated web application to use Spring and the Spring MVC, so a clear and thorough understanding of the MVC pattern is necessary. Most readers of this book can probably skip this chapter. On the other hand it is written well enough that it would serve a good resource for any rookie developers that you might be working with who need to learn this pattern.
Patterns
Each chapter of this book takes you through the concepts of a common pattern, describes how the Spring Framework is used to implement that pattern, and then replaces the legacy insurance system code with new spring code. Once you get into the patterns, the book is divided into four major sections. These sections are
- Presentation Tier Design Patterns
- Business Tier Design Patterns
- Integration Tier Design Patterns
- Crosscutting Design Patterns.
This division helps to keep the conversation between the author and the reader focused and also makes it easy to find later when you come back to reference this information.
The Best Part
My favorite part about this book is that it is a patterns book. I like to read books based on patterns more than any other type of book. Patterns books are naturally broken down into small, manageable chunks of information. When written, patterns are usually described using a common, easy to follow template and are small enough to read an entire pattern in one sitting, whether that sitting be while you are eating your lunch or a quick read before hitting the pillow. Because they are written this way, it is easy to read this book very quickly and easy to find what you are looking for when you come back later for specific information. Pattern-based books are great.
I also liked this book because it takes you through all the layers of a real-world system. As developers we all have to work with legacy code. If you don’t your very lucky. Because this is real world it is very easy to follow along with the author and the project and see the benefits of Spring and refactoring to patterns.
Needs Refactoring
It’s a good, well-written book, but there are some things that I think need to be changed.
First, as with any book with code examples, there is some odd code that should be rewritten or removed. For example, there is a business bean that has a DAO injected into it via a setter. However, this bean also contains a getter for that DAO. This is not common practice and, in my opinion, not recommended.
And second, all of the presentation patterns are in a single chapter, and all of the business and integration patterns are in their own chapters. I think each pattern should have had its own chapter. I just prefer the clearer boundaries between patterns and I think it would make finding these patterns later, when I come to reference the book, a little easier.
You Should Read this Book
You should read this book if you are a developer who uses Spring, and especially if you use Spring MVC. This is a great resource and a great way to learn about how Spring utilizes patterns internally to implement its services. Of course it also shows you how to use Spring to add patterns to your current code base. You should read this book if you use an MVC framework that is not Spring MVC and are considering Spring MVC for your next project or are considering adapting Spring MVC to your current project. While this book deals with more than just the Spring MVC, the entire presentation tier section is based on it.
Or Not…
I do recommend this book to most developers, however you should not read Spring Patterns if you are not well versed with J2EE/JEE and the Spring framework. If you are looking to learn Spring, there are other books that might be more suitable.
Here are some last notes, straight from Apress, about this book:
- What you’ll Learn:
- Get an introduction to enterprise Java/Java EE application design patterns.
- Simplify enterprise Java design using the popular Spring Framework.
- Examine presentation, business, web, and integration tier design patterns and best practices, including cross–cutting design patterns, AOP, etc.
- See how the enhanced and up–to–date pattern catalog compares to core J2EE design blueprints.
- Learn how to use comprehensive source code and configuration information.
- Develop order management system requirements for the first in–depth enterprise application case study.
- Design your order management system application using the final case study.
Table of Contents
Finally, here is the table of contents:






