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.
Please direct comments to the version posted on the Rails weblog
Krzysztof Kowalczyk has an insightful takedown of the free lunch plea from Google's Adam Bosworth in regards to databases with dynamic schemas. In the process of taking down Bosworth, Kowalczyk seems to forget, though, that even when the bigcos are tagging along for the ride, most open source software is simply not done for them. It's done for small businesses. By small businesses.
Open source is the route that allows us to escape the hierarchies of old and form markets of coordination for mutually beneficial progress. It's bootstrapping a competitive alternative to having an army of 50,000 programmers kept on a campus. So even when the big guys are extracting a lot more value than they're adding, it's not a zero sum game.
While Kowalczyk bills Google with "we take it all, give nothing back" there's a big disconnect to concluding "open source doesn’t work as well as they tell you". Bosworth may whine that he isn't handed technology he needs for free, and from that perspective it may not work as well, but that was always the side story.
The primary line is that open source helps small businesses and individuals achieve bigger and better things that they could on their own or from buying proprietary systems. You know, like building Basecamp, sharing Rails, and reaping continued improvement to the both of them through a community of like-minded.
P.S.: I love the selective quoting skills of Dare Obasanjo that includes almost the full thing except for the paragraphs on how open source could "cut off the air supply" of Microsoft and leave him without a job.
We're tinkering with the Basecamp rates for the first time since the service launched soon-to-be a year ago. Doing so is always incredibly risky. No matter what you initially set your prices at, you've created a baseline and a set of expectations that are very hard to work against. In short, you've created a pricing reality and the increases needs to play within that logic.
So we deliberated long and hard over how we could make the adjustments as fair and evenly balanced as possible. The result is readable in Pricing and plan structure changes at the Everything Basecamp site.
Now we're eagerly awaiting judgment from the constituency and how they will let their valets vote. Hopefully, we'll not alienate the bulk of them and hence be able to enter a brave new 2005 with a structure that'll allow us to reach above and beyond. It's going to be an awfully exciting year.
It's been far too long since the logo commissioned by the community was completed by John Hicks. But I think it was worth the wait to hold it back until the long-awaited relaunch of the Ruby on Rails website could happen. And today, it did!
The new website brings together all many web properties revolving around Rails. There's the brand new Hieraki-powered Manuals area, there's the Trac for patches and tickets, and of course we still have Instiki running the community area.
In short, it's all there. And we're mighty proud to finally be able to share it with the world!
Berin Loritsch is thinking about how to validate his domain models in Java. He's on the right track with his intention to shun the XML morass so commonly sought by the J-people, but unfortunately his ambitions stop short. He seems to be content with merely annotating his models with the validation rules instead of actually embedding them in code.
If he were using Rails, he'd be able to enjoy specifying validation rules using actual code in his Active Record objects. The following is not even a mock-up, I literally yanked part of the Account model in that next project I'm working on:
class Account < ActiveRecord::Base
validates_presence_of :subdomain, :name, :email_address, :password
validates_acceptance_of :terms_of_service, :on => :create
validates_confirmation_of :password, :email_address, :on => :create
To me, this is beautiful. Programming poetry. Each method call reads like a sentence. "Account validates acceptance of terms of service on create". How can you not love that?
So please, aim higher. Annotations are a work-around for type system thats holding you back. Let it go. We'll be happy to help you transition out of the Sun and into the shade. Come join us in the Ruby on Rails community.
rake stats tells me that its currently clocking in at 334 lines of code. Already very functional, very usable.
Of course, it almost feels like I'm cheating when I'm using Ruby on Rails 0.9. Cheating in that good, fun way where a tiny amount of code makes for a whole application that actually does stuff people find interesting.
Oh yeah, there's a guessing competition going on at Signal vs Noise too.
Jonas have been putting in an intense amount of work to complete his upcoming skate movie called simply Adapt. It's due this Winter, but you can already now grab a small 46-second preview in form of the newly released trailer. It's very cool, very well cut, and showing off some impressive skills from both skaters and movie maker.
The fantastics at TextDrive are having a great Christmas deal on their $12/month plan. Sign up before December 25th and get a whole year for $99. That's such a steal and you get to flash the fact that you're supporting the development of Rails by choosing the the official Rails host. How can you loose :)?
While you scramble for your credit card, I can inform you that a revised web presence for Ruby on Rails is in the works. It's also going to be hosted at TextDrive of course. And it's going to be. Uhm. SUPER SWEET.
The new web presence will also include the official unveiling of the new logo and the process is being spearheaded by Jakob Skjerning building on the foundation of work by Jon Hicks and Marten Veldthuis.
The job market for Ruby on Rails is heating up. I've been hooking up companies with developers left and right. And now, it seems, even the #rubyonrails IRC channel has turned into a potential job interview. We got quite a few firm owners hanging out and one of them just hired a developer off the channel. Thijs van der Vossen writes:
This is probably the most nerdy thing I did this month: I just hired Marten Veldthuis as a freelance Rails developer in the #rubyonrails IRC channel without ever meeting him in person.
That's pretty cool! Congratulations to both Marten and Thijs for hooking up like this.
Another huge upgrade to Rails with again close to 100 changes, additions, and tweaks. Most importantly are the new faster development environment that caches the framework and lets the application reload under both WEBrick and Fast CGI. Major is also the new breakpoints that allows you to inspect an application during execution, change the model, and resume. Additionally, we got a whole new way to do validations that extends the domain language of Rails with a wide range of new words.
The changelogs are so long I thought I'd just link to them this time:
But more importantly:
This massive release would never have been possible without the killer community hanging out at #rubyonrails. Known by such handles as noradio, xal, flgr, htonl, bitsweat, and many, many more, they really showed what a dedicated group of programmers are capable of. I'm deeply honored to be amongst such wonderful people. Thanks, guys!
The Basecamp manifesto is a series of beliefs we hold to be true as guidance for developing and running the application. It explains many of the decisions visible in the structure, features, and constraints of Basecamp. It's about why we started to develop Basecamp and why we continue to push on. It's a behind the scenes of our minds.
Being a student of informatics, I'm particularly proud to see so many Scandinavian values reflected. The high priests of participatory design would be proud to read statements such as:
- "Basecamp democratizes project management and makes it a team effort"
- "More participation should not result in higher fees"
- "...all support emails are answered personally by the people who actually built the product".
Would you like to know more about these beliefs and how you can recast and practice them for your own projects? Sign up for our Building of Basecamp workshop. We're doing the fourth of them in Seattle on the 27th of January. All previous workshops sold out well in advance, so be quick.
We've been hinting at it for some time, but today Dave Thomas finally committed in public, came clean, and confessed our intentions:
Just to get the ball rolling, I'm just starting to write the second book in the series (if you count PickAxe II as the first) — I'm working on an introduction to Rails.
I can't say how happy I am to be involved with a project that contains the words "book", "Dave Thomas", and "Ruby on Rails". Dave has been one of my favorite authors for the longest time, so it's really an exquisite honor to have him on board in such a significant way. Thanks, Dave!
But it gets better. Not only is there (at least one) Rails book coming out, the Pragmatic Bookshelf is launching a whole series called "Facets of Ruby" as "...a set of small, focussed, and technical books about different aspects of Ruby". Dave offers a few sample titles as to what kind of books could make it in with "Creating E-Commerce Sites using Rails" and "Migrating from Java to Ruby".
Ruby is headed for intensely interesting times in 2005. Rails will be hitting the big 1.0 early in the coming year, RubyGems will make it into the standard library, and a whole series of books will be coming out. I couldn't imagine any development ecosystem I'd rather be a part of.
And it's just the right time for you to get on board as well. The Ruby community is a delightfully friendly bunch that loves to share their enthusiasm for this beautiful and seductive language. You'll make a most welcome addition, I'm sure.
Despite being an aesthetic who "...hate underscore characters", Ronaldo M. Ferraz has managed to fall in love Ruby on Rails:
I started to use Ruby to develop some of my Web applications, with Rails as the framework. I confess I’m more and more in love both with the language and the framework...
Rails is the best frameworks I’ve ever used. Things are always simple and intuitive, and I rarely need to resort to the documentation to understand how something is done. I had an epiphany when I saw how easily I could add authentication to an application that was already working.
Greetings to Belo Horizonte, Brazil! We're riding the Rails around the world to bring programming pleasure. Let's use the comments on this message to play with that idea. Add your name and country, if your country haven't been mentioned before (no duplicates please).
Rails made the cover of Slashdot today with a story on RAD with Ruby. Primarily a story on how KDevelop now has integrated support for Ruby, but Amit managed to sneak in mentions of both Rails, the API for it, and my weblog. Thanks, Amit!
I'd recommend having a look at the 10-minute video, then reading Vincent's excellent tutorial, and then getting jiggy with it using Gem Rails. Enjoy!
And do bring your questions to the FreeNode channel at #rubyonrails. We're a happy bunch of almost a hundred willing to answer loads of questions with almost endless patience.
Jason just got us added as a candidate for the Fast Company 2005 Fast 50. Lots of great small stories on what Basecamp is and wants to remain. If you like Basecamp, 37signals, and what were doing, please do rate us and give our 4-man crew a chance to compete against the big guys.
So the girl and I are leaving for an extended weekend to Paris tomorrow. Thursday through Monday. We'll be staying at the 4-starred Sofitel Paris Bercy in Bastille, Bercy. What should we go see? The weather is not going to be fantastic, so indoor recommendations are especially welcome.
Evan Williams, the founder of Blogger and also known as Evhead, is trying to find a Rails developer in the San Francisco area. I actually blogged this one once before as the anonymous Rails developer in the Bay area?. But apparently Evan and friend is not afraid to commit publicly to their fascination with Rails:
We're very interested in using Ruby on Rails, but since that framework is only a couple months old, we'll settle for PHP if that's what you know and prefer.
Please do make sure that they don't settle with less :). I've already thrown a few names their way, but if you didn't catch it the first time, send your resume/reference to developer AT citizenware DOT com.