Agile IT! Experience

NFJS / Java World Podcast

User Group Events

May. 20 - St. Paul, Minnesota
The Busy Developer's Guide to Scala by Ted Neward
by Ted Neward
Object Technology User Group - more »
May. 20 - Portland, OR
Design Patterns in Dynamic Languages
by Neal Ford
Portland Java User's Group - more »
May. 29 - Austin, TX
A Thorough Introduction to Groovy
by Jeff Brown
Austin Java Users Group - more »
Jun. 11 - Calgary, AB
Core Groovy
by Andrew Glover
Calgary Java Users Group - more »
Jun. 11 - Dallas, Texas
Grails - Agile Web 2.0 The Easy Way
by Jeff Brown
JavaMUG - more »

Private Events

Blogs

View all Blogs >>
  • Andrew Glover

    Co-author of "Continuous Integration"

    One of my favorite features in Groovy is its hip more»

  • Matt Raible

    Creator of AppFuse and author of Spring Live

    Chris Barham has posted an excellent example of how to do more»

  • Alex Miller

    Sr. Engineer with Terracotta Inc.

    I need something to handle versioning on some local personal stuff. I just want it to run on my own box and have no plans to ever share any... more»

  • Michael Nygard

    Agile technology leader and dynamicist

    So, I got a Wii for Father's Day last year. It's been a lot of fun to play together with my kids, my wife, and even my parents and in-laws.... more»

  • Mike Levin

    Software Developer specializing in Web2.0 websites

    more»

  • Ted Neward

    Enterprise, Virtual Machine and Language Wonk

    Recently, a former student asked me, I was in a .NET web services training class that you gave probably 4 or so years ago o more»

  • Howard Lewis Ship

    Creator of Tapestry and HiveMind

    At NFJS Boston last month, I ran into Alex Kotchnev. We had a number of chats about Tapestry and spurring wide adoption. I'm still working... more»

  • Neal Ford

    Application Architect at ThoughtWorks, Inc.

    The shortness of the collective memory of the development world depresses me sometimes. Joel Spolsky has a great blog post from 2004 entitled... more»

  • Venkat Subramaniam

    Founder of Agile Developer, Inc.

    I am looking forward to speaking at the Developer Summit next week in Bangalore. more»

  • Jared Richardson

    Agile coach and co-author of Ship It

    Erlang keeps popping up. This article is about a very practical, real-world integration of Erlang with popular technologies. more»

  • Brian Pontarelli

    Brian Pontarelli - founder of Inversoft

    Got my Lenovo Thinkpad X300 last week and I’ve been using it for development for only a few days. Here are my first impressions: Pr more»

  • Scott Leberknight

    Chief Architect at Near Infinity

    Often when writing unit tests I use Eas yMock to mock dependencies of the class under test. And many times I more»

  • Erik Doernenburg

    Principal Consultant @ Thoughtworks

    Another major improvement of OCMock: it now supports more flexible constraints on the expected arguments. This is done in the Objective-C way... more»

  • Graeme Rocher

    Project Lead of the Grails Project & CTO of G2One

    As I write this JavaOne 08 is being wrapped up and I am horizontal in bed. I somehow managed to get pleurisy and pneumonia a few days before... more»

  • Vladimir Vivien

    Software Engineer / Consultant

    The last day of JavaOne 2008 was heralded by the final General Session where Sun showcased several cool projects. Here are a few you maybe... more»

  • Ryan Shriver

    Business and Technology Consulting

    more»

  • Pramod Sadalage

    Co-author of "Refactoring Databases:Evolutionary Database Development"

    We had a weird requirement on our project recently.. Find all the Rows in All the tables that do not comply with the Constraints more»

  • Kirk Knoernschild

    Software Developer & Mentor

    It’s time to move on and show the simple elegance Spring brings to OSGi development using the HelloWorldSpec sample from the more»

  • Guillaume LaForge

    Groovy Spec Lead & Project Manager

    This is with great pleasure that G2One and the Groovy development team announce the first beta more»

  • Jeff Brown

    G2One Director Of North American Operations - Groovy and Grails Developer

    We have been busy preparing for JavaOne and it is finally almost here. Yay!We hope to see y more»

  • Craig Walls

    Author of Spring in Action

    I read thi s last night, but I have seen this coming for over a year. more»

  • Jason Rudolph

    Author of Getting Started with Grails

    Muness blogged a photographic introductio more»

  • David Bock

    Principal Consultant, CodeSherpas Inc.

    Installing CentOS 5, ImageMagick, and RMagick I don‘t normally blog about obscure, specific technical topics, mainly because 99% of more»

  • Jason Harwig

    Software Engineer

    pre { font-size:80%; } Of the trinity of web technologies, CSS is by far the worst at this stage. It's a language more»

  • Pratik Patel

    Software Architect

    Shake off that St. Patrick's day hang-over by coming over to the AJUG meeting this Tuesday, March 1 more»

  • Pete Behrens

    Organizational Agility Coach

    Marti nig & Associates Methods & Tools group recentl more»

  • Nathaniel Schutta

    Author, speaker, software engineer focused on user interface design.

    Like pretty much any office with more than 3 people, we struggle with the ephemeral concept of more»

  • Joseph Nusairat

    Author of Beginning JBoss Seam & Co-Author of Beginning Groovy & Grails

    Today is the first day of JBoss World, I survived the first three presentations and waiting for the keynote to be  complete to d more»

  • Richard Monson-Haefel

    VP of Developer Relations, Curl Inc.

    more»

  • Brian Sam-Bodden

    Java author, Ruby geek and Open Source Advocate

    In this installment we are going to build the Dashboard page of the Tempo application. T more»

  • Mark Fisher

    Spring Integration Lead

    more»

  • Ron Bodkin

    Chief Software Architect, Quantcast

    I'm looking forward to speaking at The Rich Web Experience conference in San Jose next month. The event runs from September 7th through 9th.... more»

  • Mark Goodwin

    Web Application Security Specialist

    We've already looked at one of the two big problems posed by anti DNS pinning on Java applets; because there's rebinding on the applet and... more»

  • Scott Davis

    Author of "Groovy Recipes" & TDD Expert

    Every time I see a live show at the Denver Botanic more»

  • Brian Goetz

    Author of Java Concurrency in Practice

    Recently, Neal Gafter mused about whether we should consider removing more»

  • Romain Guy

    Java User Interface expert.

    more»

  • Ramnivas Laddad

    Author of AspectJ in Action, Principal at Interface21

    InfoQ.com has published my AOP myths and realities talk recorded at a No Fluff Just Stuff conference. InfoQ.com founded by Floyd Marine more»

  • Keith Donald

    Core Spring Developer, Creator of Spring Web Flow

    A neat "hidden gem" of Spring's container is the ability, from a XML-based bean definition, to automatically populate a bean property of ty... more»

  • David Geary

    Author of Graphic Java Swing and Co-author of Core JSF

    The 2006 NFJS tour kicked off t more»

  • Jason Hunter

    Author of Java Servlet Programming

    I just posted the JDOM 1.1 release for download. This release includes about 20 improvements and bug fixes. more»

  • Stuart Halloway

    CEO of Relevance

    <p>We are happy to announce that <a href='http://www.mckinneystation.co m/'>Geof Dagley</a> has joined the Relev more»


In the Spotlight - Jason Rudolph

Author of Getting Started with Grails

Jason Rudolph is a Principal at Relevance, a leading consultancy and training organization specializing in Ruby, Rails, Groovy, and Grails, and integrating them into enterprise environments. Jason has more than nine years of experience in developing software solutions for domestic and international clients of all sizes, including start-ups, Dow 30 companies, and government organizations.

Jason is the author of the highly-praised book, Getting Started with Grails, and speaks frequently at software conferences and user groups. Jason also contributes regularly to the open source community, both as an early committer to Grails, and also as a committer to the Streamlined framework and numerous other Ruby and Rails projects.

Jason holds a degree in Computer Science from the University of Virginia. You can find Jason online at http://jasonrudolph.com.

















Presentations by Jason Rudolph

How to Fail with 100% Test Coverage

With an expressive language such as Groovy or Ruby and with modern test practices, 100% C0 test coverage is readily achievable. But 100% coverage is meaningless without other supporting habits and practices. Over the last few years, we have taken dozens of projects to 100% coverage, and there are still plenty of things that can go wrong.











Books by Jason Rudolph

by Jason Rudolph

  • Grails is an open-source, rapid web application development framework that provides a super-productive full-stack programming model based on the Groovy scripting language and built on top of Spring, Hibernate, and other standard Java frameworks.

    Ruby on Rails pioneered the innovative coupling of a powerful programming language and an opinionated framework that favors sensible defaults over complex configuration, but many organizations aren't yet ready to stray from the safety of Java or forgo their current Java investments. Grails makes it possible to achieve equivalent productivity in a Java-centric environment.

    This book covers:

    - Grails setup and configuration
    - Quickly generating and customizing a Grails web application
    - Solving common web application challenges with Grails
    - Securing and testing Grails applications
    - Deploying and monitoring

    Over the course of this book, the reader will explore the various aspects of Grails development by building a small web application called RaceTrack.
  • Available At: http://www.amazon.com/Getting-Started-Grails-Jason-Rudolph/d..




puts Blog.new("nonsense")


Jason Rudolph's complete blog can be found at: http://jasonrudolph.com/blog/

Friday, April 25, 2008

Muness blogged a photographic introduction to the Relevance mothership, and Glenn Vanderburg went all meta on us and asked what we could learn from comparing the books in active use on the desks to the less fortunate books relegated to use as monitor stands.§

200804 Relevance Monitors 1 Thumb

Wired? Erlang.
Expired? RMI.

200804 Relevance Monitors 2 Thumb

The JDBC API Tutorial is just as interesting as the 2008 Sam’s Club Office Products Catalog.

200804 Relevance Monitors 3 Thumb

We’d rather wrestle a grizzly than read even one more paragraph about XML.

Well, Glenn, in geek terms, it’s safe to say that if these books were elements in an LRU cache, they’d be purged by now. As for the technologies referenced in said books, I find it interesting that they all have one thing very much in common. By and large, we simply don’t need to think about them as much as we once did. Some certainly remain more relevant than others, but thanks to abstractions (and abstractions built on top of those abstractions), we just have no need to wade through the plumbing of technologies like JDBC. That’s (thankfully) the job of a good framework.

What’s under your monitor?

§ The new Dell 30-inchers don’t need any help.


Tuesday, April 22, 2008

With all the recent fuss about the game-changing advantages of Git and distributed version control in general, it would be easy to overlook what Git does for deciding whether (and when) to use version control for a given task. Sure, Git makes non-linear development a breeze, it manages large projects with uncanny efficiency, and we probably can’t even fathom yet just how transforming github is going to be for open source. But, if you look closely, there’s something worth noting way before you create your first branch, before your project is even thirty minutes old, and well before you’re ready to share it with the community: git init is so pleasantly simple, you’ll never again think twice about “whether it’s worth it” to throw something into version control.

As someone who had the, um, “joy,” of working with CVS, SourceSafe, ClearCase, and other SCM “solutions” that made you wish you were instead just using NTFS, I definitely appreciate what SVN did for the state of version control systems. Nevertheless, there were countless prototypes, drafts, experiments, etc. that I talked myself out of storing in SVN. The conversation typically went something like so: “Do I really want to create a new repository just for this experiment? Should it go in my local repo, or does it belong up on the shared repo? Should I bother setting up the standard dirs for trunk, tags, and branches? Maybe I should just add it to a grab-bag repo for now? Nah. Forget it. It’s not worth the trouble yet.”

Git removes many of those decisions altogether, and (in true agile fashion) it allows me to defer the others until they actually matter. I can “execute, build momentum, and move on.” Let’s say I’m halfway through a blog post, and I decide that I want to try taking it in a different direction. No problem. Drop it in Git, and experiment away…

  1. BlogPosts> ls
  2. 20080422_git_is_agile.blog.md
  3. BlogPosts> git init
  4. Initialized empty Git repository in .git/
  5. BlogPosts> git add .
  6. BlogPosts> git commit -m "i can haz repo?"
  7. Created initial commit 417554e: i can haz repo?
  8.  1 files changed, 25 insertions(+), 0 deletions(-)
  9.  create mode 100644 20080422_git_is_agile.blog.md


So while you’ll continue to hear people (myself included) champion Git’s importance as a solution for team-based or community-based development, its ability to give you instant, no-questions-asked version control is enough to earn a place for Git on your system, even if you’re the only one who will ever see your work.

And Git’s agility doesn’t stop there. From branching on a dime, to the oh-so-beautiful stash, to the ability to rework past commits, Git reminds me that decisions are temporary. Or, to quote Ryan Tomayko, “Git means never having to say, ‘you should have.’”

Be sure to check out Rob’s post for a whole host of Git-infused goodness.


Wednesday, April 16, 2008

Rob dared me to fire up my favorite shell and jump into the game. Imagine my disappointment when I was greeted with this bummer of an error message.

20080416 History Meme Commodore 64

Hmm. No dice. OK, on to my second choice.

  1. jason@jmac:~> history | awk ‘{a[$2]++}END{for(i in a){print a[i] " " i}}’ | sort -rn | head
  2. 48 cd
  3. 30 exit
  4. 29 m
  5. 20 ls
  6. 18 git
  7. 13 mman
  8. 12 **
  9. 10 cap1
  10. 9 ssh
  11. 9 rake


The result? A few well-known friends and some that likely deserve a bit of elaboration.


Friday, April 4, 2008


Thursday, April 3, 2008

Andres Almiray interviewed me this week for the Groovy Zone. We cover a breadth of topics, including:

  • Just how far Grails has come in the past two years
  • Why the GORM DSL likely obviates previous mapping techniques
  • Groovy as a gateway drug to more and better developer testing
  • Why Grails testing infrastructure improvements deserve top billing in Grails 1.1
  • Something called Rails
  • New testing-related developments in the Groovy ecosystem

For all that and more, check out the interview at Groovy Zone, a new(ish) and hoppin’ community for Groovy and Grails news.

20080404 DZone Logo

(Did I mention that we discuss testing?)

Many thanks to Andres and DZone for the interview.