Archive for March, 2010

MacGyver Moments

Monday, March 29th, 2010

The MacGyver meme is making the rounds and I was kindly tagged by my buddy, Thomas LaRock ( blog | twitter) – that most famous SQLRockstar, who wisely chose to tag me early in the process, lest he receive another round of disciplining like the last time.  I’ve also seen several other good MacGyver Moments from Aaron Bertrand (blog), David Stein also known as Made2Mentor ( blog | twitter ), and Denny Cherry also known as MrDenny (blog).  I’m looking forward to reading the bloggers that they tagged to see what others in our community have cooked up.  In case you haven’t heard, your MacGyver Moments are those times when you improvised an excellent solution to a problem using non-traditional materials, techniques, or tools – like the time I repaired my flux capacitor using bailing wire, chewing gum, the tears of Glenn Beck, and the sweat of a master ninja.

I'm a bit more like MacGruber than MacGyver

Necessity is the Mutha of Invention

Believe it or not, I’ve got a long history of doing things MacGyver style.  To begin with, I grew up without two nickels to rub together.  That means you have to improvise – a lot. Once I hit teenage years, I was constantly tinkering with all things mechanical and electrical trying to stretch their useful lifespan beyond any conception of “reasonable use”, much like my teenage dating experiences.  For example, I once cobbled together garage workshop fan from the leftover parts of an electric pencil sharpener, a frame made of bailing wire (yes, bailing wire), solder, and handmade cardboard fan blades.  Shamefully, it did not include any duct tape.  But it worked great!  I had to do that stuff all the time out of necessity, such as with my series of malfunctioning cars and dodgy electronics.  Hey, my MacGyver experiences also taught me that admitting to owning a “Plymouth Horizon” is, when trying to impress the ladies, about the same as sporting a 4″ gravy stain on your “Howling Wolf” t-shirt.

Aaaah, the Plymouth – a vehicle truly designed somewhere between the third and fifth ring of Hades.  I can’t even count the number of jury-rigged fixes I put into that thing.  One that stands out clearly, because my friends used this to prank me on several occasions,  was the repair to the broken door handle on the driver’s side.  Since I couldn’t afford replacement parts, I used bailing wire (I could always count on you, my old friend) fixed to the inner locking mechanism and a key ring as a handle dangling invisibly from the bottom door sill.  About a year after that (around 1986 or so), I discovered junk yards and was able to rip a barely used mechanism from a Dodge of the same body style for $3.  I became pretty well known at those junk yards – I blame Chrysler.  Quality was not job 1 in those days.

Creativity and Innovation can be like that. No buck teeth in my case.

Geek Creativity

Like my friend Brent Ozar, I played a lot of Dungeons & Dragons (D&D) growing up.  I was always the “DM”, that is, the guy who administrated the game, while all my friends played characters on the adventure.  But D&D, like many good products, was designed to suck the dollars right out of your product by producing an endless stream of new adventures to play and supplements to purchase.  I, on the other hand, wasn’t gonna spend a dime of my money on that.  So I created my own adventures (called modules).  As I got better, I constructed campaigns (i.e a related sets of modules) and from that, a related set of campaigns into an entire Tolkien-like world (this is called a mileau) which I called Aquilonia.  My buddies loved it and, realizing that bragging about geekness creates an inverse coolness effect, can brag that I won some contests at regional conventions for game design.

Code Creativity

Back in the day, I remember wondering if I should stop doing things differently than my buddies and peers.  For example, we were assigned to write a program that would find the day of the week based on passing in any pre-Y2K date in one of my COBOL college courses.  (No mocking please – COBOL was big back then). Everyone in the class, and I mean everyone, wrote very large programs that delivered the day of the week through very large (and, imo, cumbersome) IF-THEN-ELSE structures.  My program had two elegant WHILE loops and thirty-eight lines of code based on the premise that our calendar repeats every 14 years and that all months contain at least 28 days and at most 31 days. I got an A+.

SQL Server Improvisation

Back when my IT shop had bragging privileges as one of the largest enterprise installations of Microsoft SQL Server (in the v6.0 and v6.5 days), we were faced with implementing some sort of way to do bi-directional replication.  The product did a good job of standard transactional replication, but bi-directional replication was only possible through a major rewrite of the application.  Instead, we cooked up a way to make it work – SQL Server would allow us do outward transactional replication as the transactions occurred.  We were able to bring the data back by also enabling sync replication (which is non-transactional) every evening.  Thus, we got bi-directional data flows without spending hundreds of thousands of dollars on third-party tools.  (I must also give kudos to the team I worked with and who made this solution work, particularly Dwayne Seiber, who is still lead DBA there.)

Summary

Creativity, innovation, and improvisation are what you make of them.  You must make the choice to pursue them.  Yes, necessity often forces to seek out MacGyver moments.  So does laziness in some cases.  How many master developers do you know who’ll work very hard to fully conceptualize their program before starting to write it, saving time in the long run.  Now that’s creative laziness!  But MacGyver moments also stretch our abilities and call us to higher achievements.

New Webcast – SQL Server Internals & Architecture

Tuesday, March 23rd, 2010

Join me tomorrow for the PASS DBA Virtual Chapter meeting SQL Server Internals & Architecture. It’s the most fun you’ll ever have learning about the inner workings of a relational database – I promise!

Click here to register.

You don’t have to register to attend.  But if you register today, you’ll be entered into the drawing to win one two copies of my bestselling reference SQL in a Nutshell, covering the ANSI standard plus Oracle 11, SQL Server 2008, MySQL 5.2, and PostgreSQL 8.3.

This is NOT the Chameleon in the Bud-Wise-ER commercials. At least I think it's not.

I’ve put the slide deck up in my Slides area of the website.  However, because it contains a lot of big images, I had to publish it as a PDF file to meet my size limits.  That means that all of the animations in the slide deck are shot – and this presentation relies heavily on animation.

Collaboration Nation Call to Action! Calling All SQL Server Bloggers and Twitterers

Friday, March 12th, 2010

The Suggestion

The Modern Language Association hasn’t made up all the new rules yet to govern how one blogger should reverence, er, reference another in their blog posts.  But they should!  Let’s get that ball rolling for them.

I’m not exactly sure who started this format, but it’s my favorite.  When writing a blog post in which you mention another person’s blog, let’s do it like this:

“blogger name (blog_hyperlink | twitter_hyperlink)”

So, we might read a blog post by my friend Kimberly Tripp (blog | twitter) that might look something like this:

“…the Scottish Terrier was so well known in early American society that as recently as the 1910′s, Manhattanite nannies instructed their young charges to be good else the “Scottish Terrier” would eat them, after a lengthy session of slobbery nuzzling and years of canine devotion.  It is for this very reason that I’ve given my Scots/English husband, Paul Randal (blog |twitter), several variations of the nickname  “Scottish terrier”, “scotty”, “snotty”, and “scotsnots” until such a time as needed for me to roll up the newspaper, give him a good spanking, and stick his nose in …”

Well, you get the point.  And didja notice that I worked in not just one, but TWO entire examples of the blog-reference syntax?!?  I can hardly believe my own craftiness.  I went to university for four years to learn that y’know – and to learn how to funnel beer – but I digress.

The Call To Action

One thing I love about the SQL Server community is our very community-ness.  (I also like the fact that you’ll let me invent stupid words on the fly without too much criticism.)  So, let’s make the glob, {ah! damned dyslexia!} , blog reference business even easier by having you (yes, YOU) post your own blog & twitter links as a comment here.

I repeat – post a comment here containing your name, blog (with embedded hyperlink to your blog), and twitter (with embedded hyperlink to my twitter, er, YOUR twitter account).

I’ll then repost a brand new shiny article with a full compendium to everyone’s blog & twitter hyperlinks (except Brent Ozar’s (blog | twitter) ) which you can save to some obscure cranny of Outlook or WordPerfect to call up at a moments notice when the urge to both blog and reference other bloggers strikes you.

Thanks and looking forward to seeing your blog reference soon!

-Kev

-Twitter @kekline

Good News for Women in Technology – Barbie Has Joined the IT Scene

Wednesday, March 10th, 2010

Notice the bluetooth ear piece fashion faux pas? Yes, she's truly a geek.

I’m happy to report that Barbie is now a cognizeti, a digerati, … yes even an IT Professional! This year’s new Barbie is Computer Engineer Barbie.

Several months back, I encouraged all my friends and followers on Twitter to vote for the IT job for Barbie in Mattel’s recent public job selection for the eponymous doll.  That encouragement was founded in an experience I’d had years earlier – becoming a dad to a very beautiful baby girl.  When I was growing up as a kid, I clearly recall how odd it was for a woman to have a career outside of a handful of “traditional feminine jobs” like teacher, nurse, telephone operator or secretary.  It wasn’t until years later, as a new dad, that I realized how asinine this preconceived notion really was (and, in fact, still is in many cultures around the world). I even wrote about this a few years ago in my personal blog, where I mentioned how I’d love to see my daughters grow up and take on an IT career.

Sadly, many IT professional societies report dramatic imbalances in gender demographics.  For example, the IEEE Computer Society reports that their membership is only 7% female. Similarly, universities in the USA shows about a 10% representation of female faculty and 14% of their students in computer-related majors.

One of the things I’d always found to be rather amazing about PASS was it’s strong emphasis on Women in Technology (WIT).  In fact, as far as database professional societies go, PASS was the first to work hard to make WIT prominent within its culture (although I believe that the International Sybase User Group had a WIT group before PASS).  I’d like to also give credit to the women within PASS who made this happen.  I can’t even begin to list them all here, but without them, WIT at PASS would not have been possible.  A few women who immediately come to mind include Rebecca Laszlo, , Kalen Delaney, Denise McInerny, Kathi Kellenberger, Stefanie Higgins, Lynda Rabb, Kimberly Tripp, and many many more.

All of these outstanding women deserve accolades for making PASS a welcoming place for women.  Don’t think that it’s a big deal?  You should attend an IT conference without a strong WIT community – you’ll see the difference in 30 seconds flat.  (I’m not going to name any names here.  But attend the top conferences for certain IT companies headquartered in Redwood City, California or Armonk, NY and you’ll see what I mean).

So, thank you ladies, for making PASS in particular and the overall Microsoft SQL Server community much better for everyone by making it better for women.  I hope to see this trend continue and for your contributions to continue to improve our community.

-Kevin