Archive for May, 2007

Eclipse and Subversion Commits

Oh, how I wish I could bind Team Commit and Update to shortcut keys in Eclipse.  All the Rails code I’m churning out at the moment is great, but I like to have constant commits, and having to take my hands off the keyboard is a little annoying.  My Google search hasn’t turned anything up apart from a couple of other frustrated users.  I should pause and find a way to do it — but then again I could spend a couple of hours searching, and that is momentum I don’t want to lose right now.

On a similar note, OS X’s  misappropriation of the Home and End keys (if you’re not a Mac user, just be warned that they don’t do what you’d expect) is also annoying the hell out of me — I like “Think Different”, but some things should just work the same way as everywhere else.

O’Reilly Radar, Buildr, Mingle & “The Corporate World”

Brilliant to see that Ruby continues to be a hot topic in the publishing world.  Since first becoming exposed to Ruby and Ruby on Rails, to the point where I started using it, to now, has been an interesting eighteen months, and the speed with which I can develop and iterate has me sold.

To see publishers, IDE developers, programmers and communities rallying around Ruby means that we’re now well passed the point where Ruby has to be justified to other techies — the big challenge is justifying it to the business/corporate world.

Projects such as Buildr and Mingle are the first steps towards corporate acceptance.  Ruby will first start at the fringes, and then work its way into some real projects.  Obviously its not going to be mission-critical at this stage, but I welcome some small acceptance — Ruby in the enterprise could make the corporate world fun again!  Tally-ho!

You Ain’t Gonna Need It != You Shouldn’t Consider It

While I applaud the general move towards pragmatic over all encompassing architectures (e.g. REST over WS-DeathStar), it’s worth noting that the often invoked acronym YAGNI, You Ain’t Gonna Need It, does not mean You Shouldn’t Consider It.

That is, when deciding that a particular part of the architecture doesn’t need to be as complicated as some might think, you need to at least justify in detail your reasoning on this point — It’s NOT enough to just say YAGNI and be done with it. In architecture documents I want to see that the ramifications of certain decisions have at least been considered and can be explained, rather than seemingly deemed to hard and thus not worthy of even any thought.

A good quote from Code Complete (Steve McConnell, p.45 of 2nd edition): “One review of design practices found that the design rationale is at least as important for maintenance as the design itself”. That is to say, we want to know why you thought it wasn’t worth spending more time on a particular part of the system, and then we don’t have to assume you’re an idiot!

Fake Steve and Apple corporate-cult

There’s a trend afoot — at my current client, about a dozen of the development team have switched their personal laptops to MacBooks over the last twelve months (I was the first, so I’m taking credit for starting the trend).

So Apple is definitely making its mark. Mind you, we ARE all developers, but corporate developers who have mostly dealt with Windows and Unix servers for most of our careers. With Parallels, there’s been nothing stopping us using MacBooks to do our normal work everyday, which is bliss.

On that note, I’ve been thoroughly enjoying the Secret Diary of Steve Jobs blog. Consistently hilarious, but you really need to read a couple of dozen posts to get into the mindset and humour of the blog. Brilliant.

Kent Beck on Ease at Work

Generally I agree with Kent in his talk on Ease at Work, but I couldn’t help but think of Jerry Maguire and his speech that started the spiral.  Yes, this post is flippant and irrelevant.