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")
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.§
Wired? Erlang.
Expired? RMI.
–
The JDBC API Tutorial is just as interesting as the 2008 Sam’s Club Office Products Catalog.
–
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…
- BlogPosts> ls
- 20080422_git_is_agile.blog.md
- BlogPosts> git init
- Initialized empty Git repository in .git/
- BlogPosts> git add .
- BlogPosts> git commit -m "i can haz repo?"
- Created initial commit 417554e: i can haz repo?
- 1 files changed, 25 insertions(+), 0 deletions(-)
- 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.

Hmm. No dice. OK, on to my second choice.
- jason@jmac:~> history | awk ‘{a[$2]++}END{for(i in a){print a[i] " " i}}’ | sort -rn | head
- 48 cd
- 30 exit
- 29 m
- 20 ls
- 18 git
- 13 mman
- 12 **
- 10 cap1
- 9 ssh
- 9 rake
The result? A few well-known friends and some that likely deserve a bit of elaboration.
mis an alias for the mate shell command for TextMatemmanis that handy TextMate man page viewer we talked about recently- The one that’s bleeped out (i.e.,
**) is an alias that takes me straight to the source dir for my current client project cap1is, um, a reminder that deprec2 is gonna be a nice upgrade
Friday, April 4, 2008
Geertjan Wielenga suggests the first (and only) Java closure solution that makes any sense.
Wait for it. Wait for it. Are you serious?! Damn, that’s cool!
As always, Alan Hoffler offers some welcome advice “and stuff like that” on using words that add nothing to your message.
Rails goes Git. Sweet! Who’s next?
Multi-touch is so 1984.
“Working for oneself, or at least for a small group, is the natural way for programmers to live.” Well said. And if you disagree with Paul Graham, watch out; you’re being graded.
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.

(Did I mention that we discuss testing?)
Many thanks to Andres and DZone for the interview.
