Posted by trevor
Wed, 08 Mar 2006 23:02:36 GMT
Over the past few days I’ve been tweaking the mechanics of how I work. One thing that’s been bugging me is they way I have to slouch over the keyboard of my PowerBook to get a good look at the screen.
So today I picked up a Griffin iCurve stand and an Apple Bluetooth keyboard.
While I’m not a fan of the keyboard (I prefer the one on the PowerBook – this one has too much travel), I really enjoy having my screen raised closer to eye-level. Plus it makes it easier to glance out the window and watch the antics of this year’s herring run.
Posted by trevor
Fri, 03 Mar 2006 12:10:05 GMT
I’ve been in a tremendous rut. Not the one or two day glitch affair that happens from time to time but an honest to goodness, slow… grind… to… a… complete… stop.
Along the way I discovered that there’s no heroic effort that can save you from an epic rut, no massive push or flash of brilliance that will get you back into a state of flow, nothing that will somehow erase all the hours burned while staring blankly at the screen.
To get out of a genuine rut you need to do something much smaller and very specific.
Start at The End
A runner visualizes crossing the finish line, a climber visualizes grabbing a hold. Nothing earth-shattering here: you concentrate on the end goal and work backwards, mapping out how to get there.
Just make sure you really know what “the end” really is.
As a software developer, I thought “the end” was code and this is partly what kept me in my rut. “Just write some code, dammit!” I was wrong, of course, because while in my rut I wrote quite a lot of code. It’s just that all of it was crap so I deleted it as fast as I wrote it. Okay, maybe not all of it was crap – when you’re in a rut everything sucks regardless of whether it really does suck.
It wasn’t until a few hours ago that it occurred to me that whatever I’m working on is never considered finished until it’s been checked-in to source control. My “the end” is svn commit -m
and being able to type that command makes all the difference.
Practice getting to The End
Once you know what “the end” is, you need to practice getting there over and over to remind yourself what it feels like. You need a series of tiny victories to rebuild your confidence and prove to yourself that you’re not a complete waste of skin.
Tonight I chose three minor issues with our code to fix. All of them were a simple search-and-replace so they didn’t require much thinking at all. Putting effort into something so trivial seems kind of pointless, especially when you consider how far behind I am on the task that was stuck with me.
But I got to type svn commit -m
three times and it felt great.
So, for me at least, today’s catchy buzzphrase is(with a tip of the hat to Glengarry Glen Ross):
Always Be Committing
I’m out of this rut – I can just tell.
Posted in code
Posted by trevor
Mon, 30 Jan 2006 17:51:52 GMT
If you’ve ever worked on a large rails project, that one /app/models
directory can start to look a bit daunting filled with a ton of files. In my opinion it contributes to a fear of adding classes.
A recent changeset adds better support for auto-loading of classes within modules. It also adds support for marking classes as Reloadable even if they don’t inherit from Rails core classes like ActiveRecord::Base.
This is seriously good news because it makes organizing your classes that much easier, encouraging you to simplify your architecture by (paradoxically) adding classes.
Posted in code