Archives / 2004 / January
  • Take your pick: fame or fortune?

    The desire to be rich and famous is a goal for the human race as old as time itself.  I’m fortunate in my role as a media personality to have been afforded a certain amount of celebrity, and my dual role in life as a developer has made possible sparse periods in which I would make decent money.  So I’ve been on both sides of the equation - in minor capacities - and I’d like your take on your preference for the fame/fortune continuum. 


    Personally, I’d prefer financial security over being the guy everyone recognizes.  Each has its pros and cons, I guess…with enough money you can buy friends and fame, and when you’re highly-recognizable people want to give you free stuff all the time, so cash becomes incidental.


    I don’t know who started the misconception that people in the media make bank, but it’s a fair assumption.  Likewise, it seems these days that if you make anything less than $65K/year as a developer, something’s wrong.  Two journalists who I respect immensely, ESPN’s Dan Patrick and MSNBC’s Keith Olbermann (formerly Dan’s co-anchor on SportsCenter), testified to the bankrolls of TV anchors in their book “The Big Show”, dispelling once and for all the rumor that we make a killing when we collect our paychecks every two weeks. 


    I interview, talk to, work with, and write code for people who rake in the big bucks all the time, but not I, said The Rat.  If I had a nickel every time someone spun the situational cliché, “Well, that’s why they pay you the big bucks, Jason”, the myth might actually start to become reality. 


    Those who are able to attain - much less maintain - both fame and fortune are rare.  If one can display the skills and sagacity to be able to secure both acknowledgement and riches and stay within the confines of the law in doing so, they’re alright in my book.  Most of us will have to step on a few toes and break a couple of hearts along the way to success without having to be Gordon Gekko in the process.


    So which would you rather be?


    Man, the things that pop into this head of mine around tax season…


  • What's worse - half a software spec...or no spec at all?

    Want to know what's worse than having a software specification that's incredibly detailed to the point of leaving nothing to chance and completely eliminating ambiguity?  Having a half-concocted one! 

    I just crammed out the finishing touches on a very strange app I was tasked to write.  I was basically given the following on a Friday afternoon:

    • an Excel file consisting of image paths and descriptions
    • a paper-based listing of e-mail addresses
    • a boatload of images
    • a “spec“ requiring me to ensure that all entities in the e-mail list (external to my organization) received the images, requiring membership, on a somewhat scheduled basis - essentially, an “image of the day“ service for members

    In the past, this would have been a project that justified the existence for admin assistants.  Staff underlings would collect a paycheck for sitting there and manually e-mailing attachments to everyone on the list.  What's worse, the neophyte would have sent each attachment individually ('tis true...tragically there are people in the world who still don't know you can address an electronic mail message to multiple recipients...most of which seem to work here on Guam).

    Now being the computer guy for my company, I wasn't able to delegate the construction of a database and then just tap into it, nor was I able to have someone build the consuming client, so all fell on my shoulders. 

    Wanting to put this project to rest and with only 2 hours until our 6PM newscast, I threw together a simple XML Web service, requiring a SOAP header for authentication and returning a byte array, constituting the binary image.  Nothing you haven't seen a thousand times before.  I loaded a scheduled, sequential image path by linking the description information contained in the spreadsheet to the actual images from my local machine, and then built a deployable web client to display them.  I whipped out a quick mass-mailing list for announcements and went to town.

    After collecting myself after Find the Bug-Fest ‘04, I refined and refactored the code to run a bit faster and finally, bug-free, deployed.  Voila!  Operational bliss and projection completion, all in less than an hour.  And one less thing for me to worry about.

    While enjoying the rush of endorphins that finishing such a project delivers – a “coder’s high” or “mental boner” as I call it – I reflected on how often this happens.  In the online/TV news business I get this a lot, so I'm admittedly cheating by saying this was a first-time or rare occurrence, so my current pace is the product of readiness training.  Ill-formed specs are a nature of our game, and nearly weekly, I’ll have to come up with the best solution on my own. 

    I've gotten used to working in conditions where I have to crank out something really cool, really special...really fast.  Having 5-hours of lead time is considered a gift.  And I really enjoy the challenge of racing against the clock, because as is so often said, it’s all about showtime, baby.  When the clock strikes 6PM if we’re not ready online, many heads are gonna roll.  And by “many heads”, I mean mine.  Heck, I’m the guy on TV who’s reading the thing anyway, so I’ll be my own judge, jury and executioner.

    I’m fortunate to have worked with enough people that have given me great ideas and found friends in countless developers who were willing to share time-saving techniques to help speed the process.  I’m also lucky to have a great newsteam behind me, who constantly push me to develop ideas and to consistanely expand upon my own limits.  Working with apps that bridge TV and the web is monumental fun, and it’s never been like work.

    So how about you?  You’ve read this far, so you must be interested or share my situation.  Do you normally work on projects with strange specs, and if so, do you like it?

    Now that I think about it...maybe partial instructions aren't so bad...


  • How does your company FLAUNT your achievement(s)? (a variation on a theme)

    In a previous blog post, I asked about how companies and organizations these days reward or acknowledge technical achievement, such as attaining certification or being awarded MVP status, completing big projects, being selected to sit on an important committee, or writing a book. 

    I'm interested now in the flip side of the argument, the “how can we use this for our advantage?” perspective, looking through the eyes of the employer.

    Granted, many of you indicated that the level of compensation and/or material reimbursement is minimum (if at all).  Still, I've noticed (through many years of organizational observation after being screwed over myself) that while *some* companies will make the investment to help employees reach such status, *many* companies might not do much else than give employees mention in their corporate newsletter, but *several* waste no time in leveraging such achievements as sales drivers or public relations bragging rights.  And many do so creatively, to the benefit of thier own operations overall, if not to the direct improvement of the quality of life of the individual who was distinguished.

    Such is business - it's all about serving the greater good. does your company flaunt your achievement(s)?


  • I miss The Benny Hill Show

    Back when I was in college, I would watch The Benny Hill Show between classes almost religiously when it showed in syndication on Comedy Central in the afternoons.  It was the greatest...short attention span TV with great, hilarious skits, mostly about older English gentlemen getting hit in the groin, slapping each other on the head, scantily-clad women and running around at double-speed.

    I've loved the show since I was a kid, as I wasn't wise enough at that point in the culture of my English ancestors to appreciate most of the stuff the Monty Python lads were putting out.  The videos are still great rents, and much of the humor (being based on perversion) is timeless.  I think he coined the term “dirty old man“.

    The show did a lot for comedy - for editing, for writing, for sight-gags.  But what most people don't realize is the wit he used...a lot of the funniest jokes were often tongue-in-cheek or not as obvious as falling down a flight of stairs.  But it was all good...and all funny.  Benny Hill a couple of days before my birthday, the year I graduated from high school.

    Before South Park, before The Man Show, before all the shock & extreme comedies, there was Benny. 


  • I wanna see a reality show starring programmers

    Just because I work for a TV station doesn't necessarily obligate me to endorse televised programming, much less enjoy it.  That being said, I can't stand reality TV.  In fact, the only connection I have to modern-day reality TV is that Kelly Clarkson from American Idol and I share the same birthday (April 24).

    However, I think it would be a hoot if some network execs got a bunch of developers together - I'm talking hardcore nerds - and made a TV show out of it.  Give them some sort of situational obstacle, a limited (or unlimited) amount of resources, and eliminate one candidate per week until a winner is chosen.  Now, to only come up with a script.  We could make a bunch of prospective techies battle for a job, but The Apprentice claims had laid claim to that storyline.  Maybe hold one female and male under the single-and-available spotlight?  Oops...forgot about Joe Millionaire.  The Real World's also been done, Average Joe is predictable, most developers I know are a bit outside the range of Fame, and Survivor...well, let's not go there.

    So - what would make a good reality show for programmers?  Maybe casting computer fanatical devs in an environment completely unfamilar to them, like an auto body shop?  Dang, the Simple Life's been there, done that. retrospect, I sure know a lot about reality shows for having never watched them...


  • Cheat Sheet: some of the more frequent Microsoft interview questions

    Chris Sells has had a great guide to some of the questions one can expect online for awhile when going through the process at Microsoft.  This got me thinking.  I'm 0-2 at the moment myself - I've been through the Microsoft interview process once in person and once over the phone, so I've taken note of the mentality when it comes to their brain-draining questions.  If you've never had an interview there, I really suggest you's really fun and very educational, but you'll crash out from mental exhaustion afterward for sure.  It is, from various accounts and articles on both business as well as technical journals THE world's hardest job interview (although I've heard Dow Chemical and Pepsi are also tough).  And I was just there for a marketing gig. 

    It's the Microsoft way to not really judge you based on the quality, speed, or accuracy of your answers, because much of the time, you're asked questions for which there is no right response.  The key is that it's your reaction and thought processes to the questioning that much of the time determine how well you did.  Do you go to pieces when asked a certain question?  Do you display some sort if systematic problem-solving when trying to suss out a very vague situation?  Do you try and BS your way through it and get it over with quickly?  Do you just give up?

    While not an exhaustive list by any means, here are some of my favorites that I was asked.  I've even used some of these when interviewing candidates for positions under me.

    • why is a manhole cover round?
    • how many streetlights are there in New York City?
    • how do you design the world's perfect toaster?
    • how can we make Word better to lawyers?
    • why is XSLT inferior?
    • what type(s) of technology appeal to YOU, and why?
    • how would you explain Excel to your grandmother?
    • how would you test whether a pepper dispenser worked?
    • suppose two spaces occupy two distinct values.  introduce a third space and have the third assume the value of the first in no more than 3 steps, moving sequentially and not skipping
    • assume you have to market a new alarm clock for the deaf.  How do you do it?  (this one's harder than it looks)

    If you've gone through the Microsoft interview process, what are your favorite questions? 

    And dammit...I will make it in there one of these days. 


  • Wherefore art thou, Microsoft .NET certs?

    Take a trip with me down Amnesia Lane, won't you?  Let’s together traverse a long path to attempt to profile the missing link within today’s .NET community - certification.  Recall with me the days of yore (circa 2000) when it seemed like every IT staffer on the planet, their dog, their receptionist and even the guy who delivers your express packages by mountain bike had a plethora of letters and credentials after their name, stating their technical area(s) of implied expertise. 

    Recall how employers and clients flocked and clamored towards those citing themselves as MCDBAs like so many lemmings, instinctively and naively following the pack to their eventual doom.  A booming CD, book and teaching industry thrived, with everything from learn-at-your-own-pace courses to 6-day boot camps.  Heck, even people who had no business working on, much less administering a corporate network, had an MCSE.

    Ahem.  Flash forward to today, in a marketplace ravaged by economic downturn and slow recovery, and hurting from a national war and a high unemployment level.  Companies have wised-up to the “I want $150,000 a year on principle because I'm MCSD” demands of the certified and let them go.  Quoting Gordon Gekko from the 1989 movie Wall Street, “Give me people who are poor, hungry and ready to work.”  Companies these days want proven skills, not theoretical knowledge or memorized, classroom expertise. 

    Organizations now concentrate on using the skills of those who can do something and have a track record that says so, regardless if their business cards have some many letters after their name that they more accurately resemble dentists than developers.

    So...what the heck happened?!?

    The last any of us really heard of the Great Certification Drive of 2003 was an episode of The .NET Show which profiled The Developer Roadmap for .NET certification that, according to the feedback, wasn't very well received (apparently largely because it dealt more with marketingspeak than a technical discussion).  Many may believe this attempt to migrate technical staffers towards dreams of deeper product knowledge, higher pay and greater peer respect came too little, too late, while others have a decent argument in postulating that it was that the .NET Show episode that killed off the allure of certs altogether. 

    Certification in the .NET world never really took off, and I'm not sure why.  I've read articles and talked to people that testified that the MCSE got blown way out of proportion, and that so many people having it actually led to its downfall - it became so easy to attain that it degraded the honor of carrying it.  When Windows 2000 rolled around, the exams were HARD.  And this should have been a good thing.  I didn’t take part in reviewing the early exams for ASP.NET, but I’ve heard they were also marginally more difficult than their MS FrontPage for the MCP + Site Builder predecessors. 

    I myself never made too much effort to plunge into .NET certification, because the tests were based primarily on knowledge of early versions of Visual Studio .NET, which at the time I really didn’t use that much.  The MCAD and MCSA designations looked promising for web app builders and sysadmins, respectively, but I’ve only ever met a few people who carry either one.

    So what did in Microsoft .NET certification – the job market?  The cost of getting up to speed?  The difficulty of the tests?  Is .NET still considered to be in the infancy phase of its lifecycle and therefore certs just haven’t taken off?  Are alternative learning resources (forums, UseNet, mailing lists, et al.) sufficient to not warrant such designation? 

    Has the allure of being a Microsoft-certified professional worn off?

    I’d venture to guess in some part all of the above.


  • How does your organization recognize/reward your achievement(s)?

    I was fortunate enough recently to be awarded as a Microsoft MVP for ASP.NET, for which I'm most grateful, and a very well-deserved congrats to those of you who were also selected.  I work as a dev lead in Guam's largest broadcast organization, so I'm not exactly in the business of selling custom software, although I do write it all the time.

    As such, my company gave me the obligatory pat on the back only when they saw my new signature line in my e-mail, and not really understanding what it was.  I'm recieve lots of support and congratulations from the ASP.NET community, so thanks all for your kind words and encouragement.  If only I could recieve such recognition at home.

    Carrying extra letters after your name or a series of earned credentials is nice, but I'm not exactly reaping the fruits of my labors with the company that gives me a check every two weeks, if you know what I mean.  I've also dealt with enough organizations over the years to know that ISVs flaunt MSCEs, MCTs, Cisco-certified people and Novell-trained people up the wazoo as sales drivers to customers and as public relations magnets to the media. 

    I'm likely not going to get that cool parking space closest to the door or a fat raise anytime soon, and I don't expect one for various technical achievements I've accured over the years, because that's not my organization's core competency, and I'm fine with that.  Sort of.  I'm not expecting anything, and the economy here is too screwed up to demand a raise anyway, so that's out of the question.  Still, it would be nice to get some type of acknowledgement to having done something in my field of choice. do your companies reward or recognize achievement in technical fields?  A former employer gave out “Thanks“ cards when we got Microsoft and other certs, which was more insulting than gratifying.  Rewards systems work, but only if implemented right.

    In the meantime, can I have a hug?


  • "Nerds 2.01" - a great read/watch for any era

    If there was one single book I'd want to keep if all my other books were to be taken away, it would be “Nerds 2.01“.  Well, that and “ASP.NET Unleashed“.

    I remember one night after jamming out a paper while in graduate school, I was senselessly channel flipping and caught “Nerds 2.01 - A Brief History of the Internet” on PBS.  It was a timeless classic, profiling the people, places and processes that helped to bring the Internet and the subculture its spawned into the mainstream. 

    It's an amazing production - and I've got 2 copies of the book at home.  Greapet interviews and accounts of the trials (courtroom and otherwise) and tribulations of industry giants like Microsoft, Sun, Intel, AOL, 3COM and Cisco are all there, so it's a must see.  I've almost likened it to a bible of sorts for IT people, both on the business and engineering end, a “learn from whence you came“ guide of sorts.  And you'll come away from it wanting to schedule a meeting with the nearest venture capitalist.  Or not.

    At the time (circa 1999), it fit perfectly with everything that was going on, and the rise of the e-industry before the bubble burst.  And trust me - if you're a student now, it is THE ultimate helpguide for getting quotes, factoids and dates about the industry to which we cling so dearly.  Now, those of you who are geographically closed than I to Silicon Valley may disagree with the film, but it's an educational piece either way.

    And even though it came out before the next evolution of the Internet - with the eBays, Amazons, and the like, making it somewhat dated, it's still a great read, and an essential one at that if you're working in IT.

    Undoubtedly many of you reading this will have seen it and formulated an opinion.  What's yours?


  • VH1's Behind the Music...I had no idea there were so many...

    As a musician and lifelong wannabe rock star, I'm a huge fan of VH1's “Behind the Music” series, ever since it premiered some 6+ years ago.  I was really bummed when the new current “season” wound up being only sparse episodes acting as the marketing equivalent of hype-inducing jumper cables for notable acts with forthcoming albums (case in point: Britney Spears). 

    But, there are some very compelling episodes about people who've lived - and lived through - some truly remarkable events.  Going back to my point about shameless fluffing for the sake of marketingpush, I'm not really all into the “Behind the Movie“ series.  Funny how the premiere episode was for “Chicago“ just a couple of weeks prior to the Grammys to perhaps sway some last-minute voters.

    I just caught the page for the BTM series, and I was blown away by how many episodes they've produced (being a TV guy, I'm into this soret of thing, being around it 24/7).  I had no idea there were that many.  For instance, I think the Depeche Mode episode aired only once, which was a bummer.  Oddly, the same fate became of Judas Priest, which was a great episode.

    BTM, the I Love the 80's, I Love the 80's Strikes Back, I Love the 70's and some other shows are the main reason that my cable company could get rid of every channel except for VH-1 and ESPN, it I wouldn't care (or likely notice).

    Here are my top Behind the Music episodes (not in terms of the bands I like, but for the episodes themselves):

    • Metallica
    • Ozzy Osbourne
    • Megadeth
    • David Crosby
    • Ted Nugent
    • Run-DMC
    • Tony Orlando
    • Lynyrd Skynyrd
    • Journey
    • Public Enemy

    I'd also like to see future episodes profile/document the lives and careers of Smashing Pumpkins, The Cure, Bob Marley (although this would be more suited for the “Legends“ series), Saturday Night Live, Jimi Hendrix (another “Legends“ candidate), Iron Maiden and a few others.


  • Looking for a few good XML Web services (for sports scores)

    I'm working on an internal project to parse out sports scores for pro and college games for my staff.  As such, I've got a zero-budget.  (Go figure).

    I'm on the hunt for any and all good XML Web services that I might call to get scores from, if anyone out there knows of any.  I've read up on SportsML, which is a sports-centric version of the NITF (news industry text format), both published XML schemas (whoops!  pardon me....“DTDs”) for articles and scoreboards.




  • Stoked over MVP status, bummed over Disneyland closing the submarine ride...

    I swam at both ends of the emotional pool this morning.

    I was thrilled this morning to recieve an e-mail letting me know that I've been selected as a Microsoft MVP for my work with ASP.NET.  I'm honored not primarily because of the distinction, but more because I'm among a group of people I consider friends that are already ASP.NET MVPs and whose work I've admired/praised/criticized for years...specifically, the crowd of people that have been around since the early alphas and betas of ASP.NET - what might be called the “old fogeys“ of the ASP.NET community. 

    I'm really grateful for the nod.

    Then, I got really down after I found out that while planning my summer vacation, in which a trip to Disneyland would play a seminal role, I found out that “The Happiest Place on Earth” had closed the submarine ride down that was based on 20,000 Leagues Under the Sea, which was my all-time favorite ride, the three times I'd been there before, the last time being 1991.  (Having grown up on Guam, this can be somewhat finding out Santa Claus is your dad in a cheap red suit).  This is arguably old news to those of you in the mainland, as I think it's been closed since 1998 or 2000, but at any rate, it was a shocker. 

    Oh well, maybe they'll bring it back as a novelty.

    At any rate, a good day overall.  I'll take MVP status over a theme park any day.   :)


  • Stupid code pet trick: specify an alternate data source in a CATCH block

    I posted a comment similar to the following on the ASPAdvice mailing lists last night.  I was having one of those weird mental processes was that time of night.

    Has anyone ever tried creating a failsafe for a data source by switching from a primary resource over to an alternate a CATCH block? For instance, consider the following pseudocode that forces reading from an XML file if something should happen to a database connection:

    const string connString = // some arbitrary connection string;
    const string filePath = "c:\\inetpub\\wwwroot\\DATAFILE.xml";

    SqlConnection conn = new SqlConnection(connString);
    SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM Products",connString); DataSet ds = new DataSet();


    // write to an XML file to keep it updated
    catch(SqlException ex)
    // if something should fail with the DB connection (the Primary), read from an XML file (the Secondary)
    // bind to a DataGrid, using whichever data source was found
    aDataGrid.DataSource = ds.Tables[0].DefaultView;

    Of course, this could also work for various caching implementations and it's certainly a better practice to use a custom error class to gracefully handle oopsies like this, but it's a quirky idea I'd had. I've tried it, and it does work.   Since posting it, several people said they've already implemented similar structures in their projects, and several others said they're planning something to this effect.

    I also thought for a quick second that maybe Microsoft should consider supporting a secondary data source for ASP.NET 2.0, but I just as swiftly rejected this, because:

    1) the implied marketing message: if there's a need for a secondary data source, does this imply a frequency in downtime with a primary data source like SQL Server?
    2) most developers would roll their own implementation anyway. :)

    How about you?  Are you using some sort of redundancy structure in your projects?  Do you think it would be wise to have support for such a structure in Whidbey?


  • My new favorite site - TheServerSide.NET

    Anyone that knows me knows that I loathe Bookmarks.  I don't use 'em and visit only sites by storing URLs in Ye Olde Mental Rolodex.  I just discovered, which is brilliant.  It's got a ton of great resources, is produced effectively, contains content that's very high-level without being too beyond my comprehension ability, and sports a beautiful UI.

    I'm at the moment watching Scott Guthrie's talk on ASP.NET Whidbey, which is sweet - it covers the major areas you'll need to know if you're digging into ASP.NET 2.0, while still including cool stuff for those of us who've already been lapping it up for months.

    Bravo to editor-in-chief Ted Neward - this one's a keeper.  :)


  • What video games are tops with software developers?

    I've always taken interest in the opinions of those really into an industry, and what their product preferences are.  For example, what does a master chef like eating?  What kinds of books does a writer read?  What types of guitarists does Eddie Van Halen listen to?  Stuff like that.

    As were most of you (I'm assuming), I was a huge gamer as a kid.  I grew up with video games.  I was 100% 16-bit Nintendo (not Sega, nor TurboGrafix 16), and I got back into gaming about 18 months ago with Playstation 2, although my skills have markedly declined.  (If it means anything, I was the first kid in my neighborhood to flip Super Mario Bros., and I ruled at Duck Hunt). 

    To pass the time in between TV shows tonight, I downloaded the free demo of my favorite video game of all time, the sim Chris Sawyer's “Roller Coaster Tycoon“.  Alright, it's not a frag-fest, but it's tons of fun, and a great stress reliever.  However, I'm deeply saddened to learn that the title isn't available for the PS2.  There's another theme park management for the Sony console, and I'll probably rent it tonight, but it's likely not the same.

    At any rate, what are YOUR best video games of all-time?

    And remember the most important code you'll ever learn in life (from Konami's Contra):


  • Senseless JavaScript tricks work, but they're NOT progressive

    I came across an interesting client-side gizmo today while doing research...the host site apparently prevented the client from copying-and-pasting content into another application, either through mouse commands, browser menu selections or keystrokes.  It did this - surprise, surprise - to prevent people from using its content, forcing people to sign up for membership for its site.  An honest enough business model.

    Undoubtedly anyone who has using the Web for more than 6 months will recall running into the “Can't View Source!“ trick that many people annoyingly use, only to have anyone with a shred of common sense use the View ==> Source menu option.  It all makes for really irritating web usage.  Don't insult my intelligence...either stump me completely or stick to the de facto “standard” of how people build usable sites.  However, the fact that my discovery today prevented ANY type of copy-and-paste operation was appreciated, albeit frustratingly so. 

    I didn't investigate this too much beyond what's just described, and I'm sure there's a way around it.  I downloaded the client code, and it's pretty slick, but just irritating.

    What JavaScript “gimmicks” drive you bananas as a developer or avid web surfer?


  • The BCS – intelligence that's still too artificial

    I’ve been thinking about the practicality of the BCS (Bowl Championship Series) system used to determine the ranking for college football teams in the NCAA.  More specifically, I’ve been wondering how true computer science folks feel about it.


    The goal of the BCS was to solve a problem that plagued the playoff-less NCAA Division I for years – that rarely would the #1 and #2 teams face off in a championship game to definitively award the nation’s best varsity club.  So an algorithm was developed to rank and eventually schedule teams to play each other.  But as we’ve seen, it’s been the subject of more criticism than praise.


    As a sportscaster, it’s become an easy target from my colleagues in that industry, being the subject of ridicule and recipient of countless finger-pointing for why college football is so screwed up, and why this season let so many people down in accurately crowning a national champion.  But as a software developer, my code-writing brethren praise it for its no-mistake, calculated-without-error determination of the best team in the country.  The final returned ranking of the nation’s top 25 teams is completely devoid of emotion, politics, sympathy, school loyalty or ambiguity. 


    But this systems-oriented approach doesn’t take into account the main theme of athletics – that people can go beyond themselves, shatter all expectations and achieve the impossible.  And this is primarily why the static model of the BCS is so dangerous to competitive sports – it doesn’t believe in miracles.


    It’s natural that most sportswriters would hate the BCS, and conversely that most programmers would love it.  It is at its core a decision support system intended to calculate who should be #1 based on a series of criteria like overall record and relative strength of schedule.  So, I hear arguments for and against the BCS from both camps. 


    But as we’ve learned this season, you need a bit of both schools of thought.  Just ask USC, who eventually won a share of the first split national championship since 1997, but got screwed out of appearing in the Sugar Bowl by the BCS, as it ranked the Trojans #3 in the country.  This was due largely to the fact that the BCS determined that USC’s schedule wasn’t as strong its contemporaries. 


    Still, using the Coaches Poll – an opinion survey based on the aggregate expertise of those actually involved in the games – USC was voted as the nation’s top team after beating Michigan in the Rose Bowl, and given at least a share of the title as college football’s top dog.  But it could be worse.  At the moment, the various polls give a weighted consensus on who’s the best in college football, with the BCS carrying the most weight. 


    Then in the Sugar Bowl, LSU beat Oklahoma (effectively having #2 upset #1, according to their BCS ranking), and won the other half of the national championship after feedback from the Associated Press Poll, another survey based on human input.  Think this is a freak occurrence?  Ask Miami, who got royally ousted by the BCS in 1999. 


    We can stand to learn a lot from this example for business – mainly that we can’t rely solely on computer-generated intelligence yet…it’s too fallible.  With apologies to Asimov and the Wachowski Brothers, machines aren’t ready to take over the world, and it’s our own fault as those who programmed them.  You can’t blame the array of computers that generate the BCS ranking roster.  They’re just running the algorithms they were given and returning a resultset, like they’re supposed to.  In that regard, the BCS is running perfectly.


    It’s a dictum of business that systems are created to not only automate a lot what would be manual, repetitive work, and to make decisions for real people that might add a layer of subjectivity that would corrode an otherwise carefully-calculated product.  But it’s also a popular theory that advanced systems exist to eliminate something that has the potential to cause catastrophe in productivity: human error. 


    As we’ve seen, human intervention has proven to be a good thing.  This tragically is something that in so many MIS classes is quite often taught, but in the real world so rarely practiced.


    Do you think a computerized ranking system is superior to the opinion polls?


  • A trifecta of titles on adopting RUP reviewed

    I recently went through a series of books from Addison-Wesley’s RUP series on learning and using the Rational Unified Process, and letting it make the most sense for your projects.


    One thing’s for sure: it’s impossible for any one person to “know” the Rational Unified Process in and out.  So, stop right there if you’re looking to get the printed documentation of RUP, because it’s logistically impossible to bundle it all into a paperback book.  These titles give a bird’s eye view of what RUP is and how it can be leveraged for optimal productivity in the vein of software development.


    Click here to read the reviews.


  • Book review: Addison-Wesley Series on using RUP

    One thing’s for sure: it’s impossible for any one person to “know” the Rational Unified Process in and out.  So, stop right there if you’re looking to get the printed documentation of RUP, because it’s logistically impossible to bundle it all into a paperback book.  These titles give a bird’s eye view of what RUP is and how it can be leveraged for optimal productivity in the vein of software development.


    These books give you great high-level insight on how your organization can benefit by adopting and implementing RUP in your developmental projects.


    First, “The Rational Unified Process: An Introduction” ( is an overview into the theory behind RUP.  Great chart and graphics describe the processes RUP is rooted in, and the title is written in such a way as to indirectly hammer home the concepts into your subconscious, without being too blatantly redundant.  Essentially, you’ll get the jist of RUP – iterations, that the waterfall process isn’t efficient, the importance of establishing diversity in team-based development, and the importance of architecture.


    Basically, the book also enforces the concept that self-organization and communication within an organization (within the team, throughout the company, and with clients) is key.  It reads more like a business journal than a technical guide, so hands-on examples are left out.


    Also, the poster summarizing the key RUP activities that’s included with the book is really great.  I would have liked a case study at the end of the book to tie together the concepts with a practical example, but the book is great otherwise.  I also found the fact that samples of RUP templates to be a bit disappointing.  A helpful appendix listing some (not all) of the key artifacts used in RUP planning is also appreciated.



    4/5 stars



    Next, “Adopting the Rational Unified Process: Success with the RUP” ( is a title any organization looking to streamline operations would be wise to pick up.  It’s basically a “how-to” guide on making RUP work for you.  And right off the bat, it lets you know that RUP is meant to be picked apart.


    It explains strategies in getting the members of your team to buy into RUP’s concepts, as well as getting management to support it.  It also maps out a proposed strategy for using RUP not only in new projects, but for inserting it into work already ongoing.


    It’s written with a very friendly tone, and explained in plain English, with short, to the point chapters, making it a very easy read.  It’s also organized very logically, and features many of the RUP templates, as well as UML diagrams and schematics that reinforce the lessons learned.  The book also does a good job of demonstrating the concepts mentioned, by giving examples of how RUP is used, and then follows it up with an outstanding appendix highlighting many well-known businesses using RUP in their operations.


    Because of the clarity of writing, proven examples, and exhibits, this book would make an outstanding addition to the curriculum for either a software engineering course or business class.





    Lastly, the book “Software Development for Small teams: A RUP-Centric Approach” shows that RUP isn’t just reserved for enterprise-level developers, and can still be applicable to smaller organizations.


    It uses a voice that’s more narrative than descriptive, which is a nice change.  The book speaks from the first-person, from a team of developers who bridged RUP and PSP (the Personal Software Process) to develop a set of tools that makes RUP’s concepts applicable to smaller teams or on less-complex projects.


    As such, the reader learns to scale down RUP, and also how to implement PSP.  To a certain extent, other agile software development methodologies are used, such as eXtreme Programming.  The book demonstrates the use of models and tools used so that smaller teams can create with the efficiency and customer satisfaction of their enterprise counterparts. 





  • Methodology mesh: which software development process do you use?

    Staying true to my nature as a pessimistically pragmatic non-conformist, I tend not to buy into any one thing 100%, and rather adapt it for my own needs.  For instance, I enjoy the Rational Unified Process model for iteratively developing software on a project as a whole, but I find the Microsoft Solutions Framework superior for managing the team aspects of projects.  Also, I find eXtreme Programming principles helpful for the individual when working on a project item. 


    So, I use a mish-mash of methodologies in getting my own stuff done.  It’s and loosely-defined, but it’s what works for me, and that’s what counts most.


    What do you use?  Do you mix-and match?


  • The C# Team makes my New Year

    This wasn’t the best New Year I’ve ever had.  First, I got sick.  I brought it on myself, as Tuesday evening for giggles, I did my best Rob Halford/Sebastian Bach/Geoff Tate 80’s hair metal impersonation (for those of you not in the know, they’re the lead singers for Judas Priest, Skid Row, and Queensryche, respectively), and screamed a bit too loud for a bit too long, and ran myself hoarse.


    So, I was holed up at home for 3 days with the flu.  And missed out on some truly monumental New Year’s parties.


    Then, my Michigan Wolverines get housed in the Rose Bowl by USC, 28-14.  Hey, give it to the Trojans, they came to play, and beat us fair and square.  They ARE the national champs in my book.   


    So, I was bummed.


    Then I had to come into work and do not one, but two live newscasts with half a voice and a fever, which suffice it to say isn’t the easiest thing to do.


    So, I wasn’t 100%, which for my job, is really mandated.


    But when leaving work, I found a cool package from Microsoft, from the C# Team.  I got some sweet gear for an article I’m doing on what new improvements there are as far as color coding within Visual Studio .NET.  This immediately brightened my spirits.  So, I rocked the new C# cap I got (not one of those cheapo one-size-fits-all deals, this is quality stuff).  I wore it around and all my musician friends think it’s a musical reference, and for the miniscule amount of people out here who recognize that’s it’s a programming language, they got it, too.  Al the normalfolk just think it’s a nice brand.


    (On another note: has anyone seen that other brand of clothing - they make shirts and hats – that looks like a C#, but is more like a backwards lower-cased “n”?  Those are cool, too.).


    Man, I’ve been turning the Web upside down trying to look for one of those classic “C# is Cool” shirts that were given out at the 2001 PDC (“Cool” being the code name for the C# language spec before it was officially named).


    Thanks Scott for brightening my day!


  • New site for Googlers

    I did a review on the O’Reilly book “Google Hacks” several months ago, and just today, someone wrote me and said they read it, asking me to check out their site,


    It’s not an advanced tutorial on how to get great search results, so it doesn’t really dive deep into the syntactical aspect of getting stuff out of Google.  But, it shows you how to use the UI-based filters and specify search criteria, which essentially does the same thing.  It also makes mention of some of the lesser-known aspects of Google, like the calculator and phone directory functions.  A nice guide for beginners.


  • I wish developers could make use of agents

    I really wish that as a developer, I could make an agent work for me.  No, I’m not talking about the little talking parrots that tell you when you have new e-mail or when an appointment is forthcoming. 


    Being in the media biz, I deal all the time with people who are lucky enough to belong to an industry where people can be contracted out and make use of human beings whose entire job is to find them work and negotiate great contracts.  Obviously, the same applies for those in the motion picture, radio, sports and entertainment industries. 


    The people themselves get paid just for their talents, and not their bargaining skills.  So they can concentrate on their core crafts and let someone else hammer out the gory details.  All they have to sacrifice is 7% (give or take a few points in some cases) of their earnings to the very person who got them the work in the first place.


    Sounds like a deal to me.


    Shouldn’t we as information technology professionals be privy to avail of such resources?  I think it really sucks that we have to be talented workers that have to be relegated to having to shop ourselves around and banging out contractual details, too.