Archive for the ‘Rants’ Category

Magellan

Saturday, August 11th, 2007

Recently, a friend of mine and I were talking about the Big Ball of Mud pattern especially as it pertains to staffing. When you’re dealing with spaghetti, technical skills aren’t nearly as important as familiarity with the code, a truth captured nicely in this quote:

…architects depart in futility, while engineers who have mastered the muddy details of the system they have built in their images prevail…This advantage can extend to those programmers who can find their ways around such code. In a land devoid of landmarks, such guides may become indispensable.

Now, I understand that in many organizations, knowing the path through the swamp is a vital skill and many individuals have made very good livings out of being guides. But problems crop up when people start confusing comprehension with competence - knowing the back way to your house doesn’t make you Magellan.

A Quiet Friday Night

Saturday, July 28th, 2007

It’s a Friday night and as you might expect of someone with a young sentient being in his care, I’m not at the local bar killing off precious brain cells. No, on this beautiful evening I’m enjoying the hospitality of one of the many Northwest gates at good old MSP. Yes, that’s right, I’m on my way to someplace even hotter than the big Minne has been the last few weeks - I’m heading to the “dry heat” of Phoenix. I’ve made the joke about Minnesota winters and a dry cold but how you can say temps in the hundreds are anything but oppressive is beyond me. Oh well, as is typical of my trips these days, I’ll see little more than the airport, a shuttle bus, and a hotel ballroom.

As luck would have it my already late night flight is delayed - so far by only half an hour but still…good thing I’ll be sleeping in tomorrow! Sitting here in the G concourse I’m reminded of just how self absorbed people can be. On one side, I’ve got the guy who thinks his Bluetooth headset requires that he SHOUT to be heard by his friends - either that or he thinks the rest of us really care whether or not his anonymous partner went out with that guy from the office. Well, maybe if it was someone from The Office, we would care… Then on the other side of me I have the couple that is excitedly describing their free trip to the “cigarette company ranch” to some poor family. Man - thank god I was reading when those two showed up but I can tell you a set of noise canceling headphones will be purchased very soon. Too bad the darn iPhone has that goofy recessed head phone jack. Hmm, this phone is getting more costly by the day.

Just another glamorous night on the speaking circuit. Hey - maybe Jake was on to something about my blog…either that or I’ve been reading way too much of Peter King’s stuff. I promise, one of these days I’ll write about something technical. Maybe. We’ll see.

So - I thought this would be the end of the story, but alas it wasn’t to be. First, shortly after I put my laptop away, we were told of a gate change and as is usually the case, it was essentially on the other side of the terminal. It’s quite something to see a couple of hundred people all simultaneously bolt for the proverbial exits… Anyway, after settling in at the F concourse, the gate agent informs us that we’re waiting on the pilots who are flying into (of course) G but as soon as they land, we’ll start boarding so after they are spirited over we’ll be ready to go (apparently their delay is why we’re behind). Considering they could have just canceled the flight, this seemed acceptable.

After everyone was on board, the pilots arrived only to find that their dinners somehow hadn’t managed to make it. The captain tells us he’s very sorry but they’re going to just run back into the concourse and grab a quick bite to eat - shouldn’t be more than 20 minutes. Now, frankly, I want a pilot that’s focussed on, you know, flying the plane and not on his rumbling stomach but still…this is turning into a long night. They finally return and we push off - alleluia!

After starting the engines, we (oddly) just sit on the tarmac. Given the hour and the lack of any weather, I found it strange that we weren’t moving…after sitting there for a bit the pilot informs us that one of the three navigation computers is showing an error and since we need all three to fly, we’ll have to pull back up and get it fixed. Now, I’m guessing the plane can actually fly without all three computers but at this point more than a few passengers are wondering what kind of hotel Northwest will be springing for tonight. Speaking of passengers, for whatever reason, I seem to be on a lot of flights filled with teeny-boppers. Now that I’m a thirty something and have a child I think I can say things like that.

Anyway, on this particular flight we had quite a number of that age group that is never wrong and this crowd was…interesting. First off, I’m not entirely sure how three of them managed to get an exit row - it’s not like they needed the leg room and I doubt they have status. They also didn’t handle the delays very well. One shouted “Northwest sucks” at least once and was quite proud of herself while others made angry comments to (one assumes) their legal guardians about the setbacks. Of course the young lady that said “we should have landed hours ago” clearly doesn’t understand time…or how flight works. I can only assume she didn’t quite grasp the time shift. Oh well.

Once we returned to the gate, three mechanics showed up and kept going in an out of the cockpit. At this point the stewardesses sprang into action and started handing out water. After about a half hour, things finally were under control - the pilot informed us that they had to “reboot” the navigation computers (I can only surmise they were using Windows Vista Supreme Ultimate Avionics or something similar). After a two plus hour delay, we were *finally* in the air and my adventure was over…or was it?

Upon landing in Phoenix, I called the hotel and asked for a shuttle - I was told it’d be five to fifteen minutes. OK, no problem, the hotel is *very* close to the airport so this shouldn’t be an issue… Well, twenty five minutes later I called back wondering where the shuttle was and again I was told five minutes tops. Keep in mind that it’s 1 am but my body insists it’s 3. After another phone call, the shuttle finally arrives and I’m whisked to the hotel. I’m just happy Jay scheduled me for a later time slot this morning. Speaking of the hotel, I’ve got to say, what a comfortable bed! Kudos to Crown Plaza for doing what EVERY hotel should - they put a night-light in the bathroom. Such a simple thing yet this is the first hotel I’ve stayed at in recent memory that did that… Well, enough of this - time to shower and spread a little Ajax goodness!

Travel Notes

Friday, July 20th, 2007

As my regular reader knows, I’ve been doing a fair bit of traveling the past couple of years and while I mostly tolerate the security theater (seriously - a laptop battery is far more dangerous than shampoo) I’m still amazed at what people try to do. Maybe I’ve just been traveling too much, but how can you not know about the (silly) liquid rules? Even if you haven’t read them, most of the airports I’ve been flying through are continually reminding passengers about the magical quart bags via the public address system. As if that weren’t enough, there seem to be signs everywhere - many conveniently located right at the head of the security line where in some cases you can actually get a complimentary plastic bag (who said all the romance was gone from traveling?)

Flying home from Salt Lake City one guy tried to carry on full bottles of mouth wash and liquid soap - he seemed *stunned* that they weren’t going to let him through. Of course that was topped by the woman that was behind me coming back from Milwaukee. She had what can best be described as a pallet of bottled water she brought from home and seemed quite put out that the screener was going to make her throw all that reasonably priced liquid refreshment in the trash. But that doesn’t hold a candle to the things that get confiscated on a daily basis - apparently you can get a pretty good deal on an impact drill if you’re willing to hunt the government warehouse store. And how can two people a week walk through security forgetting that only air marshals and pilots get to carry heat? Of course the real thing to remember - don’t carry anything through security that a TSA agent doesn’t understand (via Threat Level)…

At Least It’s Honest

Wednesday, July 18th, 2007

I’ve seen my share of spam over the years and most of the time I’m just stunned anyone falls for it. I mean, come on - who actually thinks that some stranger needs to move 10 or 20 million in hard currency out of their war torn/ravaged country and for some reason they trust YOU to help with this critical mission? Sure, it sounds like a great deal but, gez, I doubt my 4 month old would fall for that. But, we don’t live in Lake Wobegon so it I suppose it shouldn’t be that surprising. Anyway, of late there’s been some spam on the Firebug discussion group and while I’ve deleted most of it on site, this one caught me eye:

Road Map To Riches - Another 2-UP Scam

Road Map To Riches is yet Another 2-Up scheme in the pipeline! Akin to EDC Gold and Passport to Wealth among others, this program is designed to suck gobs of cash out of you and leave you wallowing in your embarrassment for having been so foolish.

Wow, how refreshingly honest! I really pity the person that falls for that line.

I {Heart} Dynamic Languages

Tuesday, June 26th, 2007

I’ve been meaning to blog this for a couple of weeks now but for some reason (oh, that’s right, the little rug rat) the only time I find to write is when I’m sitting in airport terminals. Today I find myself in the glorious C concourse at MSP even though I’m taking one of my shortest hops of the year - all the way to Milwaukee! It’s just a good thing I married one of the most understanding women on the planet; after leaving her to play man up on the little one for the weekend, I’ve increased the challenge by disappearing during the week. Thank god I can compare my travel to Venkat!

Anywho, two weeks ago I found myself fixing some JavaScript and I was reminded why I so love dynamic languages. We had a situation (two actually) where I had to add additional parameters to an existing method to clean up some issues that were showing up on one particular page. Since JavaScript isn’t too particular on method signatures, I was able to make the changes without impacting *any* existing calls to the method - they weren’t even aware I made the change. Now, I know that in static language land, I could have just overridden the method but then I’d be left with those little one line orphans that do nothing but call the new improved function. Oh, and I would have had that wonderful recompile stage! Small thing, but I was just ever so tickled that I could quickly and easily fix a specific problem without fear of disrupting other code.

Just last week I had another “dynamic languages rock” moment. One of the interns has been busy getting Groovy working on some simple scripts to help out with a couple of things. First, he wrote - in just a few hours - a Groovy script that combined a handful of JavaScript files into one (akin to what the Prototype folks do). Thanks to Scott’s presentation, he was up and running in almost no time. His productivity was quite something - it seemed like he was asking for more constantly. I’ll be the first to admit that I had mostly written off Groovy what with JRuby and all, but after seeing what we were able to do in just a short amount of time, I’m definitely on the bandwagon. But then it’s not a zero sum game ;)

Now I’m sure some will call the tasks we accomplished in the last couple of weeks “trivial” or perhaps “academic” but I just don’t care. Groovy scratched an itch and JavaScript is one again reminding me that it’s a first class language; perhaps even the next big thing.

Tab Clearing

Saturday, April 7th, 2007

It’s time for another tab clearing exercise… I always have such high hopes that I’ll have time to do full write-ups for all of the stuff that piques my fancy but Kathy Sierra nails it when she talks about the myth of keeping up. Anyway, in no particular order here are some links that have been burning a hole in my browser - or some such hacked metaphor.

Tim Ottinger over on the Object Mentor blog has been posting some great stuff of late including this piece on solutions finding problems. I’m sure we’ve all got a favorite story about a coworker (always a coworker…right?) that wields a Golden Hammer or falls in love with a pattern and uses it again, and a again…and again. And of course there is always the project manager that says “we got x patterns in this release - we’re going for the rest in the next iteration.” Yeah. And while developers are usually to blame for tool abuse, corporate policy often dictates a team will use all that pours forth from the (insert your favorite large company here) sales spigot. Anyway, good read.

Also from Tim is this piece on zero. I remember a long time ago when a senior engineer dropped the old “there are only three numbers, zero, one, and everything else” on me, but this quote really struck a nerve:

However, my manager was secretly reporting our progress in terms of lines of code/week. I was called on the carpet after some very productive weeks of producing unusually clean code. My manager’s problem was that we had been averaging over 200 lines less per week. By making the system cleaner and smaller, we were being reported as making negative progress, and were ordered to stop!

It’s just another “bad metrics” story, but it underscores an unspoken assumption that code should always grow bigger over time.

Oh man - I can relate. Boy can I. Bigger isn’t always better (as my belt can attest) but that doesn’t seem to stop most developers from adding more and more and more. The true artist knows that what is left *out* is just as important as what is put in.

Nat Torkington’s post on The Future of Web 2.0 is a must read - very funny! Personally, I think Web 95 will be the real step forward though I’ll try to hold out for Web XP.

Stephen J. Dubner has an interest take on boarding a bus. He discovered that a couple of hundred yards actually saved him time - he’d make the first bus and gave him a decent chance of securing a seat. I’m constantly amazed at how people become so blind to alternatives, be it solutions to a problem or quicker routes out of parking lots. Most people will wait and wait to make a left when a handful of rights will get you there faster. Oh well, that works out well for me.

Seth Godin talks about noisy people and points to a video that you’ve got to watch. Oh how we shun the nonbelievers…. Speaking of Seth, Presentation Zen links to a Godin video, well worth the few minutes of time. And speaking of videos, Scoble has an interview with non other than Joel Spolsky. You have your choice of the full hour plus or 6 minutes - your call ;)

Well, that ought to buy me a few days…enjoy!

The Early Morning

Saturday, April 7th, 2007

I’m not really a morning person (thank god for Caribou), but I’ve always preferred getting an early start to the day; arriving at work before the sun peeks its head over the horizon gives you an interesting perspective. For example, near where I work there’s this bar and I always know what day it is by how many cars are still in the parking lot when I’m heading into the object factory. It’s not uncommon to see half a dozen vehicles scattered around the lot on a Friday morning and frankly I take some comfort in the fact that these folks were wise enough to take a cab or hitch a ride.

Now, I expect to see some cars left overnight at the bar but there’s something I’ve noticed of late that doesn’t quite make sense. Dynamic language camp starts promptly at 8 am (OK, not always so promptly) which means I’m usually walking in around 7:30 or so. Every morning as I stride towards the EE/CSci building I’m perplexed by the sheer number of bikes that are securely attached to the racks fronting the facility. I understand the case for Friday mornings, but I don’t recall there being too many 8 am Saturday classes when I was in college.

Needless to say, I find myself constructing the conversation between two students as they walk out from a late night hackfest. One guy stumbles towards his two wheeled transport but his buddy grabs his arm “hey, you’ve had too much Jolt tonight man, give me the keys to the bike lock.” Maybe there really are some extremely dedicated students out there, I don’t know. But I like to think we’ve got some real heroes stepping in to prevent the tragedy of a wired geek trying to navigate his way home after another long night in the lab.

Software is like…

Monday, February 12th, 2007

Since I practically goaded Glenn Vanderburg into the conversation, I just have to point to a very insightful post he wrote entitled Bridges and Software. In general I have a hard time wtih most of the comparisons of software - push comes to shove, software is like, well, software. It isn’t a pure construction process but then little of what we create would be classified as art. That said, I tend to think ours is a craft more closely aligned with the later than the former.

Anyway, I was particularly struck by the fact that Robert Maillart’s bridges were originally derided while the “state of the art” produced one of the most widely known engineering failures. I can’t help but think - what “truth” do we hold so dear today that will soon be considered folly (I’m hoping useless meetings and process definition teams)? What object or scorn today shall soon be seen as state of the art (please let it be offices with flat panel monitors and comfortable chairs). Great post Glenn!

Random Travel Notes

Thursday, February 8th, 2007

I’ve already described my harrowing mad dash to the airport but there were a couple of other random travel notes I just had to throw out there. First of all, I’ve traveled on some smallish planes this year but Tuesday was the first time I’ve ever heard a stewardess utter these very comforting words “Someone from the first two rows needs to move to the back of the plane to balance out the weight.” Huh. So, this aircraft is so sensitive that we need to move a couple of hundred pounds 30 feet. Well, that makes me feel *very* secure. I know this is pretty standard but still, gives a guy pause…

As you no doubt know by now, it was snowing on Tuesday which means deicing. Frankly, I wasn’t that concerned - it wasn’t that snowy (though it was plenty cold) but still, flying in less than ideal conditions makes you think. Anyway, the first officer gave us the spiel about how we’d be taxiing to the deicing station where we’d stop and then we’d be off. After getting a bath in propylene glycol, we were ready to roll…well, not quite. At one point my seat mate leaned over and quipped “I didn’t realize we were driving to St. Louis.” I’m sure it wasn’t that far but it really did seem like we’d be “driving” for quite some time and I was starting to wonder what the time limit was on that deicing fluid…

Speaking of which, the spare pilot (seriously, what *is* their role? Don’t get me wrong…redundancy in pilots is a good thing…) makes a comment along the lines of “we are really hoping to get in the air shortly or else we’ll have to return to be deiced.” Huh. Not that I really wanted to return to the terminal area but I couldn’t help but wonder - should we really be taking off with the deicing fluid at the end of it’s effective life span? Obviously, it wasn’t a problem but still…

One last little travel note - why is it, when you have *plenty* of time to get to your gate, it’s about 50 feet from the security checkpoint but when you’re rushed, it’s on the other end of the world? Leaving St. Louis, I alloted ample time (hey, I learned my lesson…) and while I didn’t expect any issues getting through security, of course my gate was literally down the hall from where I went through the gauntlet that protects the world from dangerous shampoo. Oh well, who ever said this speaking gig wasn’t glamorous huh?

Death by PowerPoint

Thursday, February 8th, 2007

A while back, the Fluff Talker list had a bit of a debate over the merits of PowerPoint vs. Apple’s Keynote. Since I’ve move to the Mac, I’ve done all my presenting in Keynote and frankly I haven’t looked back; at first it was a bit of an adjustment but all in all, I liked it quite a bit. I’ve seen a lot of great decks in Keynote including the drop dead gorgeous work seen in an Inconvenient Truth. When I complimented Bill Scott about his presentation at AE, he humbly gave Keynote the credit (seriously, Bill is something else - if you have a chance to see him live, do not hesitate.)

Anyway, I’ve spent a lot of time in Keynote and I’ve been trying to mimic the “Lessig method” of presenting (free culture is a great example, but you owe it to yourself to watch Dick Hardt’s OSCON 2005 Keynote). I’ve seen *way* too many bullet point infested decks (it should be illegal to indent more than once) and I’ve been doing my part to stem the tide. At the day job, I’ve been pounding out a deep dive on TDD and since work is all about Windows, I find myself again in PowerPoint. I have to admit, I really wish I wasn’t. Trying to bend PPT to my will is proving difficult though I think much of the blame belongs to our corporate template - one that practically forces bullet point upon bullet point. Much as I want to blame crappy slideware on the presenters, maybe we need to “reeducate” those wonderful people that piece together lackluster themes. Or at least those swell souls that dictate all presentations shall be in said stifling framework.