Or how I almost missed the first day of RubyConf. See the original flight to Newark operated by SAS was cancelled. No reason given, of course. So an hour in cue for rebooking and those were her words: "That's not going to happen". That being a touchdown in Washington DC tonight.
While the customers in the other line went with a threat strategy, I tried to go with sympathy: "But I have a conference starting tomorrow at 9 am. I'm speaking there." No reply. Keys being typed at dizzying speeds. Outlook not particular encouraging — the guy before me had just been told to stay another day in CPH.
Then, as had it been the plan all along: "You're traveling over Frankfurt. Departure is at 14.10."
I choose to believe it was my good-spirited, charming nature that did the trick. In any case, I'll be in Washington DC at 19.45. Who in the RubyConf camp are up for a late dinner at nine-ish?
While I've been extremely pleased with the warranty from Apple, their official resellers are quite another story. My 17" iMac, which is now being used by my kid brother for his skating projects, has developed a periodical problem with the DVD-drive that results in frequent lock-ups and mechanical noises.
The machine is close to 19 months old, which places it outside Apple's own 1-year warranty, but well within the 2 years provided by Danish law for complaints.
Despite having a presentational video on Rails that constructs a blogging system in less than 10 minutes, Loud Thinking is still chugging along on a Moveable Type installation that is years old. An installation that does neither Textile nor run of a database for integration with other scripts. It's one of those always-on-the-todo-list kind of things.
Thankfully, not all Rails developers are as slow as me to get their weblog running on Rails. Marten and Sarah are both running a home-grown weblogging system built with Rails on Standard Behavior and One Before, respectively.
Both systems look really nice and sports pretty designs on top of it. Sarah's system even has a nice statistics section to get an overview of how the blog is doing.
Hopefully Sarah (or Marten) will get around to open sourcing of her system, so there's a base to offset my eternal procrastination in getting my blogging on Rails going.
UPDATE: John Wilger also just relaunched his blog ThatWebThing that now runs Ruby on Rails as well.
The idea of replaying a speak you've done once never really had me comfortable. How can you deliver it with the same spontaneity and energy of the original airing?
Thankfully, I had forgotten to factor in the most important part of any speak: the audience! Hence, my concerns were quickly rendered irrelevant as Jason, Ryan, Matt, and I engaged a crowd of about 45 people for the second Building of Basecamp last Friday.
The split between designers and developers were nearly fifty-fifty, so that certainly helped us to do involve the many angles that the presentation shined through. This resulted in lots of great questions and new perspectives coming from the many varied backgrounds and really brought the room alive from the get-go.
So many thanks to all attendees. You made it really easy for us to get excited and left us glowing with your over-positive feedback to the workshop survey. I'm looking forward to the third offering in San Francisco even more now!
Jason has just announced the third Building of Basecamp workshop, which we'll be doing in San Francisco on November 9th. We're teaming up with Adaptive Path who'll be doing a "Building Blogger" workshop on the 8th — you can get both days for $745 (or either for $395) at the signup page.
I'll probably be in town already on the 5th or the 6th, so if there's any SF natives interested in meeting up to talk about Ruby on Rails, Instiki, or anything else, I'm around.
Jim Weirich, of Rake and RubyGems fame, has started on a wonderful application for planning eXtreme Programming projects called Story Cards. He's been doing it all with Ruby on Rails and has in just over 1KLOC developed a very functional creation that's already used to plan Rake 0.4.8, Story Cards itself (0.0.2), and Ecal (calendar system for tracking meeting room usage for Children’s Hospital).
Jim has also created a RubyForge project for Story Cards that allows you to check-out the source and have a look. Since this is categorized by Jim himself as pre-alpha software, you shouldn't expect a one-click install, but it's very cool to have a look over the shoulder this early in the game.
Massive kudos to Jim for embarking on this cool application and sharing it with the world this early. Thanks!
I'll be leaving for Chicago a little later today as the second Building of Basecamp workshop is drawing close. Unfortunately, I sold my PowerBook yesterday, so there will be no in-flight programmnig for the eight hour ride by SAS. Hopefully, Jason will have my new machine ready for unpacking when I land, though.
Thanks to Carbon Copy Cloner, I also won't have to waste a couple of days setting up the environment once again. With CCC, you can create a complete image of your harddrive, place it on an iPod, and load it on the new machine in no time at all. Pretty much no matter what piece of Apple hardware you're switching between. Awesome application.
So talk to you all later and I'll be seeing the workshopers on Friday. Looking forward to another enganging day of talks and debates on the nature of web-applications.
Rails has only been out for a month and a half, but that's proven to be more than enough time to rally a community with a sincere love for the platform.
As a programmer that chose to convince his sponsor to bet the next big thing on a relatively unknown language called Ruby and an unexisting framework named Rails, it's with intense satisfactory to see this rally come together so quickly.
I'm especially pleased to hear how it's affecting the position of like-minded developers towards web applications. They're actually excited again. It's replacing drudgery with fun. As Moody says, "Rails has set me free". And he continues:
I have felt trapped. Instead of creating easy to use and easy to maintain web applications I created huge messes. I’ve tried Perl, PHP, and Python each with the same result.
That was until I found Rails. Now instead of cringing when it comes to time put code behind a UI, I jump right in. Now instead of wasting time trying to determine where an error lives, I know exactly which controller I’ve made a mistake in. I can now spend my time designing the best backend and UI and less time worrying how I’m going to tie the two together.
The mental agony of creating "a mess" lies deep with most developers. The elegance with which we've solved the challenge is closely correlated with feelings of accomplishment and even happiness. It can very easily be straight on depressing to work without these positive feelings. And that's when a single broken window becomes a ghetto and you can see no way out by to tear it all down and try again.
So to be able to drag yourself out of that spot and into at least the perception of elegance can have a very positive effect on your self-esteem and -image. Jorgen Hahn (aka Hari Seldon) reports:
I squealed with delight when I stumbled upon RubyOnRails. Prior to the ‘enlightenment’, I was but a lowly PHP programmer, slogging through thousands of lines of less-than-maintainable code. I was coercing Smarty, an innocent templating engine, to my evil whims. The innards of my latest PHP project looked like a multi-car accident.
Cue RubyOnRails. The sheer elegance of the thing has freed my mind from the mires of PHP. No longer is my vision limited by the tedium of PHP. Writing web-applications has become a pure joy.
So that's one side of the influx of developers coming to Rails. People who've always worked in the dynamic languages, but been unable to wrestle them into managable and maintainable applications.
The other side is at least as interesting. The #rubyonrails channel is filled with disillusioned Java developers that are forced to work with J2EE for pay while they attempt to seize every spare moment to work with Rails:
- [13:08] radsaq goes back to enjoying his headache and his java
- [14:43] radsaq smacks his head against java and struts
- [19:57] we have this web app here at work that is a massive pain in the ass to maintain
- [19:57] its written in java with hibernate, tiles, struts, etc.
- [03:29] I want to work at a place that actively is looking to use the best tools for the job, not just pointy-haired boss mandated technologies like PHP and Java
- [04:16] jbeimler (~firstname.lastname@example.org) left #rubyonrails (""sorry, stuck in javaland"").
Fortunately, things are shaping up for commercial opportunities in Ruby on Rails. If only ever so slowly.
Since my visit back in June, the three ex-amazonians from Seattle has revealed their identity as Josh, Daniel, and Erik. They're now working full-time on The Robot Co-op and are looking to fill no less than four technical positions.
The exciting part of this job announcement is that The Robot Co-op will be starting their first project using Ruby on Rails. So if you're interested in working commercially with Ruby on Rails alongside an awesome crew of clued-in people, this is stellar opportunity.
P.S.: This is the first announcement from a series of commercial opportunities that's growing around the Ruby on Rails platform. I've been in contact with a number of companies that are interested in launching projects of their own or doing consultancy work with the platform. Hopefully I'll be able to announce the second soon.
Another important Rails release sees the light of day. If you're already running on Gem Rails, all you have to do is
gem update, and you'll be running all the latest stuff. You gotta love those RubyGems.
P.S.: If you're interested in learning more about RubyGems, you can read chapter 17 from Programming Ruby, 2nd edition. It's available free through the good grace of Dave Thomas and Chad Fowler.
informIT just started a new multiple-part tutorial on how to use Hibernate (the top dog in Java ORMs) to create a domain model for a small book shop. By the end of the second XML file, I was ready to cry for mercy. So I did and Active Record answered:
class Book < ActiveRecord::Base
class Publisher < ActiveRecord::Base
class Author < ActiveRecord::Base
Whups. I think we just got ahead of ourselves. The model above won't materialize in the Hibernate tutorial for another few installments. For the first one, they just got Book up and running.
But since it took all of five seconds to describe the domain (please note that were assuming the existence of a database schema, just like the Hibernate tutorial), let's give a few examples on its usage as well:
pruby = Book.create(
"title" => "Programming Ruby",
"price" => "20",
"published_on" => Date.new(2004, 10, 3)
pruby.title # => "Programming Ruby"
dthomas = Author.create("name" => "Dave Thomas")
pruby.authors << dthomas
pruby.has_authors? # => true
pruby.authors.first.name # => "Dave Thomas"
pragshelf = Publisher.create(
"name" => "Pragmatic Bookshelf")
pruby.publisher = pragshelf
pruby.publisher # => "Pragmatic Bookshelf"
publisher.has_books? # => true
publisher.books.size # => 1
# Say "Hi, Dave Thomas"
puts "Hi, " + publisher.books.first.author.name
This is not pseudo-code. It's how most of the domain logic in Basecamp and other Rails applications work. Why does it how to be harder than this?
If you're ready to get outta dodge, please do have a look at Rails. It's a web-application framework that includes Active Record and its sister Action Pack. I wouldn't recommend it if you're trying to make a living as a tutorials writer and you're paid by the word, though.
Manual trackbacks: Rails: 1 vs Hibernate: 0
Dave Thomas has completed the much anticipated second edition of Progamming Ruby. From my initial dabbling with the language and to this very day, Programming Ruby has served as my bible on syntax, style, and usage. It's always been the first book, I recommend to people just starting out in Ruby. And by the looks of the sample chapters, the new edition will only entrench that position.
Dave Thomas and Andy Hunt also deserve so much thanks for releasing the first edition of the book online for free. It's time to repay their generosity. Buy this book on the release day of October 3rd. And prove to publishers and authors that Ruby is a growing language that deserves more books.
Who knows, perhaps it'll encourage the writing of another book. You know of which I speak.
Richard Dale is one of the developers on the KDE project and he's also wondering why the wiki revolution hasn't yet swept the world:
[Instiki] is simple to use software, that is also powerful, and it would scale easily to serve multiple users where my beloved Acta wouldn’t. Why do people still use word processors, rather than wikis, when they rarely print anything out on paper? I don’t know..
I couldn't agree more. I wrote my bachelor's degree together with three companions using Instiki and LaTeX. We used to have a good laugh at the other study groups still stuck struggling with Word. Why would they slave so endlessly for that beast? Inertia, ignorance, Stockholm Syndrome?
Ready to ditch that word processor of yours? Give Instiki a try.
With 438 downloads of the GEM version and 1581 downloads of the zip/tgz version, Rails has climbed above and beyond two thousand downloads. This is roughly within the first month of release, so quite an achievement. In addition, the Rails packages take the second (AR), fifth (AP), and sixth (Rails) spot on the top 10 list over Ruby Gems.
Oh, and there's a new release coming shortly with a lot of funky goodies.