What do we say to the God of Death?

Not today.  Not today.

Posted in Uncategorized | Leave a comment

I’m Too Busy To Write This Post…

Sharpening the SawWe’ve all heard the anecdote about the woodcutter who was fell behind in his wood-cutting trade because his saw was too dull to cut wood well.  When asked why he didn’t take time out to sharpen his saw, the wood-cutter, sweaty and stressed out, muttered that he was too damn busy to waste time sharpening the saw.

There is, in my opinion, a strong corollary to this story:  The if-it-ain’t-broke-don’t-fix-it maxim, and when you apply these two views to your trade, you are seriously FITA.  No matter where I’ve worked in my tech life, no matter what level I was employed at, a significant portion of the tech people I worked with fell into this very trap.  They were too busy to do something and never looked at something that wasn’t throwing errors.  And they would go blithely on until the next Techpocalypse occurs:

I just don’t get it.  Really, I don’t.  Time management is never that difficult.  I can assure that I attend more meetings and deal with more distractions in the course of a day than the vast majority of my peers, but I never say “I’m too busy,” because “I’m too busy” is just a euphanism for “I’m not interested in helping you to do whatever it is you’re asking me to do.”  It may be less polite to say to the requestor that you don’t want to (or shouldn’t have to) do something for them, but it’s more honest.Too Busy

This isn’t to say that there aren’t times when I truly am too busy, but typically when that happens I’m not available to answer questions anyway, and I’ve coordinated with my team and my manager to pick up the slack, that way I don’t need to expend time and energy telling people how busy I am.

There are a few million time management methodologies and frameworks out there, and they probably all work to varying degrees, but I have become convinced that, for most people in most situations, the real issue is sloth:

So take it from ol’ one-armed Victor:  Sloth is bad, perhaps the most eogtistical of all mortal sins (save suicide).  I work a full time job, where I put in never less than 45 hours/week, teach a college class and consult in my spare time.  Please don’t tell me that you’re too damn busy to replace a printer, or to take a wee gander at an event log, for crying out loud.  Just a quick glance is all it took me to figure out that we might have a small problem here:

Problem?
Redmond, we have a problem….

The (email) response to my pointing this out was:  “I do not go around just looking at the Event Viewer System Log as a matter of fact…”

Wait…let me guess!  You’re too busy, right?

Well, I used to be polite with people, but I’m not feeling very polite at the moment.  Catch up or ship out.  Really.  The world needs ditch-diggers too…

Posted in Uncategorized | Leave a comment

Single Greatest Moment…

Ths is the single greatest moment in television history.  Ever.

Posted in Uncategorized | Leave a comment

Vermont DotNet User Group Meeting

Just a quick post here…had a fantastic and fun time talking about Windows 8 and developing Metro-style apps at the Vermont .Net User Group meeting last night.  Here are some links for folks that would like either the slide deck or the demo app we covered:

Slide Deck

Zip File of VS11 solution (hosted on Dropbox.com since WordPress doesn’t support zip files…go figure!)

Posted in Uncategorized | Leave a comment

Halloween Horror Movie-Fest: The 2011 Edition

Sub-Genre

Title

Zombies and the like Night of the Living Dead
Dawn of the Dead
28 Days Later
Shawn of the Dead
28 Weeks Later
Aliens Alien
Aliens
Alien3
The Thing
Monsters Friday the 13th
The Fly
The Silence of the Lambs
Halloween
Nightmare on Elm Street
The Village
Jaws
Reign of Fire
Ghosts The Sixth Sense
The Ring
The Others
The Haunting
The Orphanage
The 13th Ghost
The Devil The Exorcist
The Prince of Darkness
The Omen
Rosemary’s Baby
Dead Teenagers & Idiots Carrie
The Descent
The Blair Witch Project
Texas Chainsaw Massacre
Vampires Fright Night
Dracula
Salem’s Lot
Posted in Film Reviews, Personal | Leave a comment

Don, Walt and Me..

Don Draper / Dick Wittman

Don Draper / Dick Wittman

Before you read this any further, go read Scott Hanselman’s excellent blog post I’m A Phony.  Are You?.  It also might help if you’ve watched either of AMC’s first-rate television series Mad Men or Breaking Bad.  If you haven’t watched them, I recommend you do so, but in order from the beginning.  Context is the key to these shows, and it is equally important to this little blog post.

Walter White / Heisenberg

Walter White / Heisenberg

The protagonists of these two dramas are related only by the duality of their characters (really, though, on the surface they couldn’t be more different from each other), but that relationship is so strong and so central to who they are that it comes to define them.

And I mention Hanselman’s blog post up front because it puts the best possible spin on an otherwise dark topic; Hanselman is an optimist; I am not.  He is a more successful and probably a better man than I am as well, but – as you no doubt well know – correlation doesn’t imply causation.

What is it about me that feels such a strong connection to these two liars, these frauds?  Eight years ago, I was hospitalized for five days for a “severe depressive episode,” which – for those of you not up-to-date with the medical jargon – is currentspeak for “nervous breakdown.”  In therapy, which began before the hospitalization and lasted for several years afterward, I got down to the core of my depression:  My deeply held conviction that I was a fraud, a scared little boy playing at being a man.

Brad Pitt / Tyler Durden / Imaginary Friend

Brad Pitt / Tyler Durden / Imaginary Friend

I am reminded of something Chuck Palahniuk wrote (mouthed by his own alter-ago Tyler Durden):

“We’re the middle children of history, man. No purpose or place. We have no Great War. No Great Depression. Our Great War’s a spiritual war… our Great Depression is our lives.”

(It’s probably worth mentioning that the narrator of Fight Club has no name, only his imaginary friend.).  Like Durden, Donald Draper, the dashing and arrogant Creative Director at Sterlng Cooper Draper Price (Matthew Weiner’s imagined Madison Avenue 60′s advertising agency) is an invention, the result of a very intelligent but cowardly mind, the “whoreson” Dick Wittman, who – wounded by shrapnel in the Korean War – exchanges dog tags with a dead solder named Don Draper, and thus escapes not only the war but his entire life up to that point.

In the case of Walter White, we have a brilliant chemist and genuine nice guy, working as a highly overqualified high school Chemistry teacher and car wash cashier to make ends meet for his shrewish wife and judgmental son.  A cancer diagnosis leads Walt to transform into a methamphetamine “cook” (and multiple murderer) and to develop his “Heisenberg” persona, a ruthless sociopath who manipulates others and lies expertly, both to himself and those he loves.

(James Dickey once said to me with a conspiratorial wink, “We’re all amateurs at this, Mr. McConnell.  None of us live long enough to become professionals.”)

So it comes to this:

  • I’m not what others see me as; never have been.
  • I know less than I think I know.
  • I’m terrified of making mistakes.
  • I’ve never been heroic, or done anything worth remembrance.
  • I’ve failed much more than I’ve succeeded.

So like Draper and White, I’ve created a persona, a shell to wear each day, one that portrays confidence and power.  Since Mad Men and Breaking Bad are still running, we don’t know where their arcs will end, but I’d venture a guess that they won’t end particularly well.  My own shell is cracked and flaking after 30 odd years.

I wasn’t born fraudulent; I came to it (and not gradually) in the boy’s room at North Middle School in the sixth grade.  Some kid – I don’t even remember his name – decided I was easy meat and began the taunting and pushing that most boys master and most men never move past.  Something clicked in my head: This kid didn’t know I was a pussy, or that I was scared.  I just had to hide how I felt and outlast him, stare him down, fists clenched.  And it worked.  (Of course, a year later, I tried the same strategy and got the snot knocked out of me.)

And that’s how small and simply it begins, and the next thing you know you’re in your forties with a wife and kids and a mortgage, kowtowing to the corporate rhythm, wondering what would happen if you just kept heading west on the interstate instead of taking the exit to the office (yes, yes, I know….you’d end up in Lake Champlain…it’s a metaphor, people), and you realize that somewhere along the line, at some point you cannot recall, the pretending became who you were, and the boy died.

“I touched the knife hilt at my side, and remembered that all men were once boys, and that boys are always looking for ways to become men. Some are easy, too; all you have to do is be satisfied that it has happened.”

- James Dickey, Deliverance

Posted in Personal | Leave a comment

Driver Injection

Let’s take a short trip back in time, shall we?  A few years ago, a certain large software maker in the great state of Washington shipped an operating system we’ll lovingly call CrapOS 1.0.  This OS was much anticipated by the masses as it had been in development for upwards of four years.  It is rumored that the operating system’s kernel was torn-down and recoded multiple times (three?  four?  Accounts vary).  It was the next big thingIt had native 64-bit support and a ton of other features.  As I am an 8th-level beta-wonk and uber geek, I loaded up the first beta on my home PC and spent the next two days trying to get all manner of devices to work – not limited to but including my printer, my mouse and my display adapter – with only partial success (I never got the printer working) and performance only a dial-up user could love, then I tore it down and went back grudgingly to XP.

Such was the fate of Vista (nee:  CrapOS 1.0).  It’s perhaps the biggest blunder MicrosofIt's looks like you're trying to write blog post...t has ever made (you can’t really consider Microsoft Bob a blunder; it’s more like temporary insanity), even worse than Clippy (at least you could sort of turn Clippy off).

I wasn’t alone in this experience, and the driver and performance issues continued through the various beta releases right through to the shipping product.  For my own personal use, I had long written Vista/CrapOS off based on that initial driver torture trial, but that didn’t solve the business problem I faced:  XP was now an outdated operating system, and the obsolecensce clock was a-ticking away.  So I spent some time at work figuring out what it would take to deploy CrapOS 1.0, once again getting paid to drive technology nails into steel rods with my forehead.

The driver issues were bad enough, but the anemic and bug-ridden enterprise deployment tools that shipped in concert with Vista were no better.  For instance, there was no way to automatically join a Vista PC to a domain.  Hello?  Microsoft?  Hello?  Anybody home?   The application compatibilty toolkit was a joke.   And the drivers…oh the drivers… at the time, we had some 1,200 network printers where I work, representing (at the time) several hundred different print drivers (why so many network printers you ask?  Well, it’s part of our strategy to have one networked printer for every employee…).  Almost 2/3 of these had no Vista version; the ones that did came with the usual assortment of “helpful” printing software crud that vendors like HP love to dish out and is wonderful for crashing print servers (and for telling you to order more toner or inkjet cartridges long before you need to).  So I didn’t really kill myself figuring out how to deploy Vista enterprise-wide; instead I simply calculated how many new PCs we would need to replace our underpowered 512MB RAM Pentium IV desktops, how many Holy Crap!  How much?!?!other PCs would require additional RAM and new display adapters, and rolled all that yummy goodness that into a big, scary number.  Then I waited for the right moment and frightened the beejezus out of my management in a meeting one day.

Crisis averted.  Having done my duty, I quickly decided that discretion is the better part of valor and headed for the relative safety of web development, where I happily spent the next three years playing with jQuery.

Fast forward a few years…to like … uh … well, let’s just say now for simplicity’s sake.  Microsoft – who can still turn the battleship on a dime like no other company its size – has released Windows 7 (and the first Service Pack, with the next in beta as I write this), which is everything Vista Give us back our framework, or we'll burn down the village!should have been and more.   Windows 8 is about to come rushing down on us, sending Silverlight and WPF developers into the abyss of paranoia and insanity, and promises to be a game changer to Redmond.  Oh, and I’m no longer on the Web Team, and it’s kinda sorta my job again to look at things like the enterprise deployment of Operating Systems, so it was not without trepidation and sweaty palms that I began recently to look at deploying Win7, and in particular how to handle the plethora of drivers it will need to support.

Good News, Kids!

One of the things Microsoft has done most right in the Windows 7 deploymenet space is to ship the Microsoft Deployment Toolkit which is a) free and b) actually works!  They have also released the abominably named System Center Configuration Manager 2007 product which isn’t free but can also play a vital role in your Win7 deployment.  I’m going to limit myself to discussing just MDT here for brevity’s sake, because I do want to show you Microsoft has listened and addressed driver management with MDT, and OSD (Operating System Deployment) in SCCM is powerful, but complex.

Drivers, Drivers Everywhere…

I remember the old Steve Martin joke:  “Here’s how you can have a million dollars and never pay taxes…!  First, get a million dollars…”.  Step one is you need all the drivers for the hardware you will be deploying to.  In the MDT docs, this is summed up in one sentence.  “Get all the drivers you’ll need.”  Different hardware vendors have different ways of helping you to do this.  Dell, for instance, gives you all their drivers in an MDT-compliant CAB file which you can download and use.  Lenovo, on the other hand, makes you download each driver for each model individually, which – besides being mind-numbingly boring – is a serious waste of anyone’s time.  But whatever.  Once downloaded (and expanded etc. etc.), you end up with a driver store that looks something like this in the file system:

And if you want to know how many hours I spent on those Thinkpad drivers, well…I ain’t gonna tell ya!

Now you can import the drivers into MDT, and you end up with something like this:

Now, you don’t want to inject all  your drivers into every PC you deploy.  That’s wasteful and stupid since doubtless conflicts will occur and ugliness will ensue.  You can control which drivers get injected into the OS via two MDT features:  Selection Profiles and Task Sequences.

MDT comes with a number of selection profiles but you can add your own.  In my case, I have added the following:

All Your Profiles Are Belong To Us!

I can combine these selection profiles with MDT task sequences to ensure that only the drivers for the particular device I’m deploying to get injected.  You can do this by replacing the default “Inject Drivers” Task Sequence step with a new Task Sequence group, and creating Inject Drivers steps for each model, as shown here:

Note that for each injection step, I have selected the corrsponding selection profile.  But how, you ask, can I prevent the other injections from occuring?  Aren’t I just really injecting all drivers, just like I said it was bad to do?

Nope, ’cause I like WMI.  WMI (or Windows Management Instrumentation for anyone who cares) is Microsoft’s implementation of the WBEM specification.  WMI provides a SQL-like querying syntax which can be applied to the Driver Injection steps to filter out devices which aren’t the appropriate make or model.   For instance, if you look at the example above, you’ll see this driver injection should only occur on Lenovo ThinkCentre M90 desktops, since those are the only drivers we’re injecting.  I can ensure that this happens as expected, to wit:

The query shown above is set in the “Options” tab of the Driver Injection step and filters the devices down to those with are M90 PCs.  Each of these Driver Injection steps has a simliar query.  Now I have a (more) easily managed driver store, and still only deploy the appropriate drivers to each device.  This is goodness; this is coolness.

(The WMI-literate among you may be asking why I’m querying the ComputerSystemProduct class and the Version property to get the model of the device.  This has to do with Lenovo’s somewhat off-kilter WMI choices.  Whereas all other vendors that I’ve encountered use the Manuafacturer and Model properties of the ComputerSystem WMI class, Lenovo uses this.  Whatev’, it works.)

The SCCM product is even more powerful in this regard, although you can also use WMI filtering within its tasks to get the same effect.  Overall, Microsoft has gotten this right, and as a result, we probably will actually upgrade our OS this year…

Well, at least we’ll start.

Maybe.  I hope so.

No promises.

Posted in Health Care IT, Technology | Leave a comment