Giving up on Java for lack of love

Kate Rhodes is yet another developer leaving Java behind for the lack of love. As she says: “I’m really good at Java. I know my way around it but I don’t love the language.” Life is indeed too short to be spend toiling your days away without feeling a passion for the tools of your craft.

As many other Java developers just getting out, she naturally expected that life in the shade would be just as hard as under the Sun. But then she found Ruby on Rails and this was what she saw:

I decided to see how much work it would be to reimplement my project management app in Ruby and Rails with the expectation that it would probably be just be too much work to port it and rewrite the thousands of lines of code. But after spending a few hours just poking around, learning what methods to use, I’ve already gotten about a third of the infrastructure implemented and working.

It’s very encouraging to see that Java experts like Kate, who co-authoredProfessional Java Tools For Extreme Programming, can recognize the competency trap and get out of it. Welcome to Ruby on Rails, Kate!

Setting up EliteJournal on TextDrive without a vhost

TextDrive is the official host for Ruby on Rails and as such gets all the action for cool integration efforts. We have a bunch in store that’ll turn the current state of “easy to get going” into “ridiculously easy to get flying”.

While that is cooking, Scott Baron has written up an excellent guide on how to install Elite Journal on TextDrive without using another vhost. He even created a testing blog just to prove it.

For those of you that don’t have a TextDrive account yet, I’d like to reiterate the point that this is one of the best ways to support the development of Rails (short of contributing patches or documentation).

They have some incredibly reasonable plans, an excellent environment for Ruby on Rails development, a staff that actually cares deeply about Ruby and Rails, and they’re contributing 50% of the profits on Rails signups to further development of the framework.

So if you’re still stuck elsewhere, now is the time to think about migrating.

And that concludes this shameless plug for TextDrive hidding behind the appearance of a documentation announcement.

"Simple design that even my grandma can understand"

Hamilton Verissimo captures the essence of what Ruby on Rails is about:

On the other hand I’ve coded the Castle on Rails, which is based on Action Pack. I have no merits here, the credits should go for the original author of Ruby on Rails, which implements an incredible simple design that even my grandma can understand how it works and how to create new controllers and views.

Good design doesn’t need to be hard to use. Best practices should be implemented, then hidden away. Programmers shouldn’t need to remind themselves how clever they are by applying the same complicated pattern over and over again. Extract, abstract, move on!

Escaping Java but not its thinking

Kevin Dangoor is getting out of J2EE development after four years of legacy mud and fear-driven technology choices. He has picked to start his new businesses on a dynamic language with Python. Unfortunately, he’s still stuck in Java-skewed thinking on the difficulties of learning a new dynamic language or framework:

Ruby looks nice and Rails is attracting a lot of attention for good reason. Seaside on Squeak should be attracting attention, because it looks like a very productive way to put together apps. There are two problems with both of these: 1) I don’t know them, and 2) they are less mature and have smaller communities than Python or Java.

I can certainly overcome (1), but that would slow me down initially. The clock is ticking, because I need to generate money to pay my mortgage and all that… The second point also means slower velocity: there are fewer places to turn for help. There are fewer prepackaged modules, and those modules may be less-tested.

I guess its natural to think that you must stay in the competency trap when exiting one of the deepest and most alive in the tech world today. But it needs not be this way. Very much unlike Java, it doesn’t take months and months to gather hard-won experiences with application servers or climb mountain-high framework stacks when starting out with Rails (or Seaside+Persistance for that matter). You can try it out in a day or two and have a pretty darn good idea of what’s going on. So the cost of escaping the competency trap is at an all time low.

So let’s address the charge “less mature and have smaller communities”. I’ve found that while a language community at large is a nice backup, the real importance for productivity is having a strong community around the frameworks that you pick. When people have problems with Ruby on Rails, it’s very rarely the general ruby-talk mailing list that hears their pleas. It’s the Rails-specific outlets.

Speaking of those, the Rails mailing list is buzzing with activity averaging 26 mails per day in December. The Rails IRC channel is ever so alive filled with between 100 and 120 developers every single day. This is a uniquely vibrant force that’s able to provide end-to-end help and advice. Unlike the scattered search for assistance that’s necessary when trying to combine template, web-flow, and persistance frameworks from separate communities.

This is not a charge against Python for not having a complete on Rails solution, but rather just a dissimal of the claim that the Ruby sub-community of interest should be less mature or vibrant than a comparable stack in Python. It’s simply not the case.

So. Blue Sky Development woes to persue “technology choices [that] can be made on technical (and business) merit without politics getting in the way”. I’d say you owe that statement at the very least a day or two outside your most immediate comfort zone. I’m pretty sure you’ll find that the competency trap is not inescapable and that the fears of a missing community are expelled instantly.

Rake 0.4.14 includes fix for Ruby 1.8.2

Jim Weirich has just released Rake 0.4.14 that includes the fix by Dave Halliday to cure test suite runnings with Ruby 1.8.2. You’ll want to grab this right away in preparation for your forthcoming upgrade to the latest Ruby release. And what better way to do that than with gem install rake. Thanks to Dave for the fix and Jim for the expedient release!

Rails logo remixed by Olivier Hericord

Despite my initial resistance, Olivier Hericord pressed on and prevailed — against my own odds — to produce a remixed version of the new logo that was greeted by the majority of the community as an improvement. And I concur. The remix signals less rigidness and more fun than the original — two important properties to Rails development.

Original    vs    Remix

This process also proved that patches are not just for software. Once you share the source, improvements are bound to occur. That’s another reason that I’m welcoming the remix. The community protested, the community acted, the community celebrated change, and now, hopefully, the community moved on.

(Just in case you’re not quite ready for the last step: Source for the remix in AI format)

Celebrating 219 applied patches since 0.7

Rails has absorbed ~219 patches since the ticketing went Trac around the release of Rails 0.7. That’s almost three patches applied per day. Quite the barn raising. Seems like we’re keeping the pace too with more than 20 patches awaiting to be applied from over the last week. And I even did apply a few. And some of these “patches” are huge things like a DB2 and a finished SQL Server adapter.

The open source is working.

Marten opens Epilog for Trac'ing

Alongside EliteJournal, Epilog is the other major weblog application development going on with Rails. Marten is set to release a new version running off the 0.9.x series of Rails in “…a week, two at most”, but you can already Trac along as Marten just set up shop at dev-epilog.standardbehaviour.com.

For a small taste of what’s to come, Mark IJbema is blogging using the in-development version of Epilog. Note the small promising details like human times in the form of “just after midnight”. Promising stuff!

Drew McLellan predicts "More Rails" in 2005

Among predictions of having a beard will be the hot thing in 2005, Mr. All in the Head highlights Rails as having an especially bright coming year:

David Heinemeier Hansson’s Rails framework for web application development in Ruby is set to hit the magic v1.0 in early 2005. Rails is really picking up momentum, and for good reason. It’s the web app dev framework for the MVC generation, or something. If you haven’t checked it out yet – especially if you do a lot of big development in dynamic languages such as PHP – do so.

Running rake tests with Ruby 1.8.2

If you’re among the early adopters of Ruby 1.8.2, you will have noticed that rake chokes when attempting to run all the tests in a suite. Thankfully, Dave Halliday was quick to device a fix, which you can apply right away while we await a new release of Rake from Jim Weirich.