Sometimes it all works out

I’ve had a couple of airline adventures this week.  My class in Philadelphia ended early last Friday, so I went to the airport expecting to spend hours in the US Airways club.  Not a bad thing, incidentally, since I had a lot of work to do.  As it turned out, though, I was able to get a standby seat on a 1:45 pm flight that was currently boarding.  Since my original flight was set to leave at 8 pm, that was quite a savings.

I did manage to board.  It was a middle seat in the back, but I figured it was okay because the flight is only about 45 minutes.  Then, just before the doors closed, the weather report detected lightning within a three mile radius of the airport.  Everything shut down.

Apparently that’s a new OSHA regulation.  Even though the skies were only overcast, we had to sit there waiting for a grounds crew.  That all seems reasonable, of course, but the problem was that the showers must have been hovering right on the edge of the three-mile radius because they kept saying, “now we can leave,” and then ten minutes later, “wait, no we can’t.”  This went on for three (!) hours.

We did eventually take off.  I got into Hartford about three hours later than I expected, but there were a couple of very silver linings.  First, I still arrived much earlier than I expected.  Second, when I glanced at the monitors in Bradley airport, I noticed that my later flight had been cancelled!

Whew, that was close.

The other eventful time happened yesterday when I was ready to fly to Chicago (the class is in Naperville, actually).  I arrived at Bradley at about 1 pm for a 2:07 pm flight on United.  The plane was actually from a United partner and was one of those small commuter planes.  When I arrived at the airport I discovered the flight was delayed until 4:30 pm.  I did the usual thing of staying in the small US Airways club at Bradley (one of the best investments I’ve ever made — I renewed it while I was waiting).

The flight kept getting later.  First it was 4:52, then 5:07, then 5:35.  I asked and was told weather was not an issue, but they didn’t know any details.  As it turned out, there was another flight to Chicago on a much bigger plane leaving at 5:30.  They offered the passengers a chance to get on standby for that flight, but I decided against it.

My flight eventually boarded at 5:52.  When I got on, however, I realized that most of the passengers had taken the 5:30 flight and therefore my flight was nearly empty.  The plane was small, too, but not so small that it didn’t have two rows of first class seats.  I told the flight attendant that I had planned to upgrade, and she let me move into first. 🙂  I then had a very pleasant trip to O’Hare, only about 4 1/2 hours later than I expected.

Airline travel is worse than almost any other form of transportation, but sometimes it works out.


Philadelphia, PA

It's Philly this week.  I've got an interesting group who work for the same company last week's students work for.  Maybe I can come up with some kind of inter-city competition — a game, a puzzle, or something.  I'll have to think about that.  This week is all about making the OO transition, but this group appears to be a bit ahead of the group in Westborough so far.  We'll see.

Last week at about 12:30 AM on Thursday the fire alarm went off in the hotel (a Marriott Courtyard in Westborough, MA).  That's the first time I can remember that happening.  Fortunately I didn't have to leave my room, but it was very loud for a while.  From what I hear at the desk the next day the problem had to do with a lint trap in a dryer.

That's odd, but not necessarily remarkable.  What's interesting is that Friday it happened again. 🙂

Xander went on a retreat over the weekend with the church youth group.  I managed to make it home just in time to go with Ginger to drop him off.  Afterwards, Ginger had tickets to a big gala at the Hartford Civic Center hosted by CATIC (Connecticut Attorney's Title Insurance Corporation, her biggest client).  We decided to make an evening of it and spend the night at the Hilton attached to the Civic Center.  The Boston Pops were playing and did a great job.  Anyway, late at night — right about 12:30 AM, actually — the fire alarm went off there, too.

I had no intention of walking down 19 (!) flights of stairs.  Fortunately, I didn't have to before the fire department called it off.  This time it was a bunch of kids smoking in a bathroom that did it.

Can I be petty for a moment?  The Pops were great, but they also hosted a tenor who sang for about 40 minutes during the concert.  He apparently had played Jean Valjean in Les Miz for nearly 3000 performances on Broadway and on London's West End.  He sang "Bring Him Home" (of course), and "This Is The Moment" from Jekyll and Hyde, and "Music of the Night" from Phantom, and several others, including a bizarre rendition of a Barbara Streisand song.  I can't remember which one, which is probably good.

Look, the guy could flat out sing.  He really was good.  But honestly, I can do that.  He's better than I am, but he wasn't 3000 Broadway performances better than I am.  There really was very little he did that I couldn't do almost as well on a good day, for a lot less money.

I'm not really upset about it, but frankly I would have liked it better if the Pops had just played more music instead.

(Okay, okay — How many tenors does it take to change a light bulb?  Three.  One to do it and two to say how they could have done it better.  Sigh.) 

My new Rensselaer class starts next Saturday.  This semester I'm doing the Developing Enterprise Applications class again.  You'd think that eventually I'd actually try to teach the same material more than once, but no such luck.  As I learn more and the field evolves, I wind up moving more and more advanced materials into the Web Applications class so I can focus on higher level stuff in the DEA class.  This semester I think we'll really dig into Object-Relational Mapping tools like Hibernate, or the ActiveRecord framework in Rails.  I need to spend more time on web services and SOA, too.

Of course, it would help if I actually wrote the syllabus.  Can you tell I'm having a bit of trouble getting motivated to start a new semester?

Sox win, and a new version of AWDR

So the Sox pulled out a win against the Yankees, thanks to a seeing eye single by Mark Loretta and a three-run homer by Big Papi. That guy simply rules. I don't think I've seen a hero this lionized in Boston since Larry Bird, though I will admit that Tom Brady can do pretty much anything he wants. 🙂

The best story of the night, however, was that early in the day the Sox got Doug Mirabelli back from San Diego, flew him across the country, and then gave him a police escort to Fenway in time for the game. The announcers said that the police cruiser made it from Logan Airport to Fenway in less than twenty minutes. I don't think anyone who hasn't driven it can really appreciate how impossible that trip was. Frankly, I wouldn't have thought you could get from Logan to Fenway in twenty minutes during rush hour on the night of a Sox/Yankees game even with a helicopter!

On the technical front, Dave Thomas announced that the definitive book on Rails, Agile Web Development with Rails, has just moved to a second edition as a beta book. Despite the fact that this means I'll have to buy it all over again, I couldn't be happier. I've been struggling with both migrations and RJS, and now I'll know the right way to handle them. Rails has changed so much just in the time I've been following it. I really, really needed a revised version of this book.

Of course, that means I'll need to get it autographed again. 🙂

As an update, I did buy the new version, both as a PDF and in hardcopy (which won't be available until the fall). I spent several hours this evening working through parts of the depot application. I downloaded a clean version of RadRails, too, so that I could start from scratch. Things are working better now, except that somehow my migration that was supposed to add data to the database didn't do anything and I don't know why. Also, RadRails seems to have "issues" shutting down the server.

Some days I feel like Rails and Ruby are easy. Others I feel like I'll never know them well enough to teach them. Actually, I tend to experience both extremes on the same day, usually as it gets later and later.

The (understandable) arrogance of the Rails team

Back in March, I had the pleasure of attending a No Fluff Just Stuff conference in Danvers, MA. I really enjoyed it and learned a ton about the hot technologies these days.

One of the people I went to see was Dave Thomas. His list of accomplishments is extraordinary. In addition to being the author of the pickaxe ("Programming Ruby") and the main co-author on the definitive Rails book ("Agile Web Development with Rails"), he also wrote "The Pragmatic Programmer" with Andy Hunt and then built a publishing company to sell it. See The Pragmatic Programmers web site for details.

In person he's a great speaker. He's witty and clever, with lots of amusing anecdotes to tell. He also is not afraid to take on the dysfunctional development practices in the industry. He gave the keynote speech at the conference, talking about cargo cults and other stupid practices in software development.

As a not-unrelated aside, if you watch the Rails introductory video, you get to see David Heinemeier Hansson (the creator of the framework) build an app in twenty minutes. During the presentation, he continually makes comments that I find but startling and wonderful. I love it when that happens. I really enjoy finding out that everything I knew was either wrong or a vast oversimplification of the truth. His arguments in favor of dynamic typing, and convention over configuration, and allowing Ruby code right in the view pages are really fun.

IHMO, a lot of his comments have a similar flavor. They feel like, if giving you this freedom means you might shoot yourself in the foot, then the answer isn't to take away the freedom. Then answer is not to shoot yourself in the foot! It's a very liberating attitude, especially when you see how productive it can be.

There's a problem, however, and this comes up with both DHH and with Dave Thomas.  They obviously feel they know better than everyone else.  They're obviously tired of defending their correctness.  They also are beseiged by stupid questions on a regular basis.  The result, unfortunately, is that they start to get dismissive of outside opinions.

More than once during his presentations, Dave Thomas said, "is anyone using <insert technology here>?  God forbid," or words to that effect.  Sometimes he trashed a technology that was being discussed at the same conference, with the creator of that technology in the building.  DHH recently at the Canada for Rails conference put up a slide that told all people who didn't like the Rails approach to f-off (I'm deliberately not linking to that).

This isn't good.  I've been around some of the most brilliant people in the world, and there's never a good enough reason for that sort of dismissive arrogance.  It always, always, always comes back to bite you.

I believe that Rails is already bigger than any one individual, and maybe bigger than any one team.  But this isn't a pretty sight.  A little humility goes a long way.  I'm glad they're shaking up the established wisdom and I'm very glad they've been so successful with their innovations.  But a smack-down is coming, and I'm sad about it. 

Hello world!

I always planned to run my own blog. I was going to use Typo, under Ruby on Rails, to do so. I even downloaded typo and plan to continue to investigate it, but a few things intervened.

1. I want to upgrade to Rails 1.1 (I think 1.1.2 is the current version) and typo still doesn't work under that.

2. I'm not sure my configuration under Apache 2 is right yet.

3. What the heck, maybe I'll just let WordPress deal with the whole availability issue. I've got other things to learn.

Which is why I'm here. This is my "things I've learned recently" blog. I'll use it to document what I'm doing and learning these days. Of course, that will include more than technical stuff. It'll also be stuff I learn about the people around me, and even stuff I've had to learn over and over and over again.