June 2006 - Posts

...on Children, Laptops, and Kool-Aid

Fact 1: My bride Christy and I have two wonderful children: Stevie Ray (3 years) and Emma Grace (14 months).

Fact 2: Because I am a geek, we also have approximately 14,312 computers in the house, some of which are laptops.

(We also have two cats - not because I'm a geek, but because I'm lazy and you can always turn a cat out and he or she will eventually find something to eat and eat it rather than starve... I admire that. The cats are named Rex [male] and Rufus [female]. I named Rufus. I don't get to name any more mammals at our house...)

Fact 3: The aforementioned children consume mass quantities of Kool-Aid on a daily basis and have managed to spill it in every square foot of the house floor, the walls from the three-foot mark down, and a couple ceilings (I don't know how) several times each week - much to the chagrin of the aforementioned cats, who hate kool-aid-sticky-paws. But then they lick it off and look at you as if to say "Mmm! Kool-aid!" Cats also change their minds approximately every 14 milliseconds, which makes them fun - or at least interesting - to have around.

You may have already guessed the inevitable: one of the kids decided to place their cup of Kool-Aid on Mom's laptop. And, in an effort to protect the $0.19 cup from the harmful effects of prolonged Kool-Aid exposure, decided to turn the cup over, storing the Kool-Aid inside Mom's laptop which is filled with empty spaces that - it turns out - will hold about half a cup of Kool-Aid which - it turns out - is about how much was left in the cup. Looking back on it, the engineering was impeccable. It warms my heart just to think about it.

At this juncture, the laptop produced several abnormal sounds. I was at work and my bride was out of the room for a moment, but it was abnormal enough that a 3-year-old (Stevie Ray) knew something wasn't right - and promptly alerted his mother that something was wrong with her "ka-pewter".

Christy shut the machine down, tipped and emptied it of Kool-Aid (I think it was grape - aka "bape" Kool-Aid), and called me.

I'm an engineer at heart. Nothing warms the heart of an engineer like a good old-fashioned smoke test. "Fire it up and let's see what happens!" I advised.

It actually booted, sounding much better after draining. But no display. Great.

My mind immediately flashed back to the young man at the electronics superstore asking me if I wanted to buy that $200 extended warranty, the quick odds calculation I'd computed, and my answer: "No - I'm an engineer! I don't need no steenkin extended warranty!" I am such a funny guy - I kill me. Well, I feel like at least kicking me... now.

I tell my lovely bride to leave the laptop turned off until I get a chance to work on it. Which will be in approximately 30 hours. I have to drive to northern Virginia to speak at the Cap Area .Net Users Group meeting that night and will arrive home around 1:00 AM. I'll get up at 5:30 AM (sleeping in an hour...) to head in to work, so it'll have to wait until the next evening.

She tries it later and it works. It's still working. I'm so impressed I'm mentioning the product line and manufacturer. It's an HP laptop. We've had this one for about two years and it's survived other spills, as well as the aforementioned cats "loving" it (covering the keyboard and clogging the fan with fur) and now this. It's a tough box and has earned my admiration.

Good job on this laptop, HP.

:{> Andy

Technorati Tags: Laptop Kool-Aid Children HP

Copying Data From SSMS data grid

Just a quick entry here to thank the good people on the SQL Server 2005 developer team for the ability to copy data from a cell in the SSMS data grid onto the clipboard and paste it without an appended line feed.

Bless you.

:{> Andy

Technorati Tags: SQL Server 2005 copy paste data grid

posted Wednesday, June 28, 2006 5:56 PM by admin with 0 Comments

Cap Area .Net Users Group Presentation

The Cap Area .Net Users Group rocks!

Thanks to Scott and Brian for allowing me the honor of presenting to such a cool group! Thanks also to Excella Consulting for sponsoring the event - Art and Krista really know how to sponsor a user group. I thought the barbeque was in honor of my southern roots, but it turns out they aren't pizza people. :)

I think I finally have a solution to my crashing VPCs: I'm running them in the new free (as in beer) engine. My laptop has only 1GB RAM, so I had to crank the Windows 2003 Enterprise-based Team Foundation Server down to 660 MB RAM. It is slow, but performs in Virtual Server - very impressive.

:{> Andy

Technorati Tags: Virtual Server Developer Community Team System Scrum CapArea .Net User Group

posted Wednesday, June 28, 2006 2:24 PM by admin with 0 Comments

Scrum For Team System v1.1 released!

The good people at Conchango have updated their free (as in beer) Scrum For Team System TFS plug-in.

Read about What's New here.

:{> Andy

Technorati Tags: Team System Scrum Scrum for Team System TFS

posted Saturday, June 24, 2006 2:12 PM by admin with 0 Comments

Frank's Technorati Tag Generator

Frank La Vigne, MVP has built a cool TagGen utility for generating Technorati tags.

Technorati is a cool site that provides blog search capabilities. If you blog, registering will bring more traffic to your site. Check it out!

:{> Andy

Technorati Tags: Technorati Frank La Vigne Developer Community

posted Saturday, June 24, 2006 2:03 PM by admin with 0 Comments

Speaking at the Capital Area .Net Users Group 27 Jun 2006

I'm honored to present "Scrum Methodology with Team System" to the Captial Area .Net Users Group 27 Jun 2006 at 7:00 PM. I'll cover an introduction to the Scrum methodology - including war stories and tips for introducing Scrum to your organization - and then demonstrate the Scrum Plug-in for Team Systems from Conchango.

The meeting will be held at the AT&T building at 1900 Gallows Road, Vienna, VA 22182. Directions are available here.

If you read this blog and attend, please introduce yourself!

:{> Andy

Technorati Tags: Team System Scrum Developer Community

posted Saturday, June 24, 2006 1:49 PM by admin with 0 Comments

Bill Gates Announces Stepping Aside

I'd be remiss in my blogging duties if I didn't take a few moments to reflect on yesterday.

I'm an old-timer in computer years. I'm a few years younger than Bill Gates, but I started writing code a couple / three years after he did (I started in 1975 when I was 12). Computers have changed a lot since then. And a lot of those changes can be traced directly or indirectly back to Bill Gates and Microsoft.

I rarely meet someone in IT these days who doesn't have an opinion about Bill. Some hate him and others love him. Critics have been less vocal as Bill and Melinda have poured so much of themselves and their money into the Gates Foundation.

I have always admired Bill. He cofounded a company and co-led it from a couple geeks to a huge corporation. More than any other company - including IBM and Apple and Sun - Microsoft has worked to bring the power of personal computers to the masses. They are rarely first, and they don't always get it right on the first attempt, but they do a couple things better than most competing companies: 1) deliver value; and 2) integrate.

I'll start with integration. The idea of how integration works can be seen most recently in Team Foundation Server and Team System. Project management, software development, testing, and quality reporting and control are all now integrated into the developer's IDE and available to all in the enterprise via Reporting Services and Windows Sharepoint Services. This is just the latest example - there are lots more. What struck me early on as I began working with Microsoft Office was how much I learned about Excel while learning Word - and vice versa. That's integration too. An idea in one tool translates to all tools in the suite. And Microsoft has always integrated very well.

Then there's value. Microsoft software is roundly (and rightly, sometimes) criticized for security gaps and software bugs. But no one complains about the price. The reason? Microsoft software is a darn good deal! It always has been. When comparing bang-for-buck, there's always a sector - a large sector too - of the business community where Microsoft is simply the best horse on the track.

 

From a business perspective, I believe the comments made yesterday at the press conference: they've been planning this for some time, and the company will continue to innovate, lead, and consume marketshare. For Microsoft, I don't see this as devastating or even necessarily a bad thing.

For me personally, there has always been a sense of comfort and confidence in the knowledge that Bill was there somewhere with his hand on or near the rudder.  I'll miss that sense of comfort, but I have confidence he wouldn't hand leave the company in the hands of incapable folks. And I believe he's leaving Microsoft in very capable hands.

 

Personally, I wish Bill and Melinda all the success in the world with the Foundation. To Bill, I would just like to say, "Thanks."

:{> Andy

Technorati Tags: Bill Gates Microsoft Software Business Developer Community

posted Friday, June 16, 2006 9:31 AM by admin with 1 Comments

The Team Edition for Database Pro's bits are live!

The Team Edition for Database Professionals CTP is !

:{> Andy

Technorati Tags: Team Edition Database Professionals SQL Server

posted Monday, June 12, 2006 11:19 PM by admin with 0 Comments

Odd Error in SSIS

I'm unable to find anything online about this, so maybe someone out there has seen something similar:

Sometimes, when attempting to execute an SSIS package inside the IDE, the package fails to execute and I see a momentary (second-tary, actually) flash of a command shell titled SQLDumper.exe.

It happened this morning when firing a package that reads data from one local database, de-normalizes it, and writes it to another local database.

I may post this on the MSDN Forums. If someone gives me the answer, I will update this blog.

:{> Andy

Technorati Tags: SSIS SQL Server SQLDumper

posted Monday, June 12, 2006 11:42 AM by admin with 0 Comments

Reston Code Camp Rocks!

I just arrived home (literally) from the third Reston Code Camp. It was awesome! G. Andrew Duthie, Brian Noyes, Vishwas Lele, and company sure know how to organize a code camp! :) Great job guys!

I was honored to present Beginning SSIS Development early, then host a Chalk Talk about Agile Database Development Practices after lunch. Right after that session, I presented SSIS Development with Team System - which went well until my Virtual PC finally gave up the ghost... durnit! I covered with some SSIS development tips and tricks.

I learned a lot about Smart Clients from Brian's sessions. I'll have to read some of his books as soon as possible. I also enjoyed Vishwas' session on Atlas - some neat stuff there!

Frank La Vigne was also in attendance, and presented on Tablet PCs. Frank is the Tablet man!

Code and the decks from my two presentations is available for download at the Mad Code Camp website.

Congratulations to the Reston Code Camp Team for such a successful event!

:{> Andy

Technorati Tags: Reston, Va Code Camp Developer Community

posted Sunday, June 11, 2006 12:31 AM by admin with 0 Comments

Sneak Peek at Team Edition for Database Professionals

Update: I am working on demos and walk-throughs of Team Edition for Database Professionals for VSTeamSystemCentral.com. (it's free - and relatively painless) for updates.


Thanks to Tom Murphy, a member of the team at Microsoft, I was able to get a sneak peek at the product earlier this week.

First impression: "Wow!" :)

This is something to behold. Two features immediately impress: Data Generators and Test Projects.

Test Projects provide database developers test-generation functionality very similar to that now enjoyed by C# and VB.Net developers using Team System. I got all giggly inside when Tom navigated to a stored procedure, right-clicked, selected Generate Test (or something close, I can't remember) - and SQL appeared that would test the procedure's output! Below this, a frame contained "assert" conditions and expected conditional results. Truly remarkable, truly awesome. Good job development team!

Data Generators provide a way to automatically populate a database with gibberish. "Well what good is gibberish, Andy?" I'm glad you asked. Gibberish, it turns out, is a highly prized commodity in the land of SOx. The good people who perform SOx audits will absolutely love you if you tell them developers and database developers do not work with anything related to "actual live and/or production data."

The Data Generator is part of a suite of functions which allows you to copy the schema of an existing database to your desktop, populate it, and test it - along with any changes you or others deem good and worthy. Part of this testing requires data. But using production data - including actual credit card numbers (even if they are encrypted) and other personal information - exposes that data to environments less-controlled than the production environment. Use the Data Generators to populate your local copy of the database with random unicode strings, or random data from pre-defined selections (you have to see this to believe it).

"How does a bunch of unrelated gibberish allow me to adequately test my database, Andy?" Again, I'm glad you asked. It's not unrelated! The Data Generators populate the database preserving referential and relational integrity. This sure beats those data scramblers I wrote back in the day. Again, hats off to the Microsoft developer team!

:{> Andy

Technorati Tags: Team Edition Database Professionals Team System SQL Server Test-Driven Development 

posted Saturday, June 10, 2006 12:39 AM by admin with 1 Comments

Preparing for the Reston Code Camp!

I'm pretty psyched about heading to Reston tomorrow for the Reston Code Camp!

I get to meet some really cool people. And I'm looking forward to sitting in on a few sessions and learning some cool stuff! I'll have a few copies of on hand for swag.

This is also the weekend we begin moving into our new house - another thing to be psyched about!

If you read this blog and attend the Reston Code Camp tomorrow, please introduce yourself. Hope to see you there!

:{> Andy

Technorati Tags: Reston, Va Code Camp Developer Community SSIS

posted Friday, June 09, 2006 2:22 PM by admin with 0 Comments

June 8 2006 - SSIS Tips and Tricks Presentation

Last night's SSIS Tips and Tricks presentation to the Richmond SQL Server Users Group was lots of fun!

I tried a couple things different: First, it was nearly all code. I had one slide at the beginning of the presentation and then just dove into code for the rest of the evening. Second, I used Camtasia Studio to record segments of the presentation.

The first recording on SSIS Constraints is available online. and let me know what you think!

:{> Andy

Technorati Tags: Developer Community SQL Server Richmond, Va SSUG SSIS Constraints Camtasia

posted Friday, June 09, 2006 10:24 AM by admin with 0 Comments

Software Development... and searching for your car keys

I'm big on analogies. I believe good analogies are powerful teaching tools. And, of all the jobs and projects I've worked on or at, teaching at ECPI was the coolest - hands down.

While teaching basic electronics at ECPI, I once built a bridge rectifier out of LEDs (light-emitting diodes). A bridge rectifier converts alternating current (AC) to direct current (DC). It does this by switching the path of the alternating current and then summing the result. (Failure in my attempt to simplify this concept duly noted...)

If you haven't gathered it from reading the above paragraph, this is not an easy concept to grasp by simply reading about it.

But...

If you use LEDs, they glow when the current is flowing through them. In my lab, I used a function generator set to output a sine wave running at about 1 Hz (1 cycle per second). The students could then watch as opposing pairs of diodes conducted the applied AC - converting it to noisy DC, as all bridge rectifiers do.

It was (and is) a great analogy.

In developing software, I routinely (pseudo-) multitask. I don't actually multitask. My beautiful bride can attest to the fact that I'm quite incapable of thinking about more than one thing at a time. I pseudo-multitask by time-slicing. I work on task 1 for a bit, then task 2, then task 3. Three tasks seems to be a good fit - for me, at least.

I've worked through about eighteen task 1's and task 2's recenty while tackling a tough task 3. I won't go into details - there will be a blog about it here soon enough - but it wasn't difficult technically, it just stumped me.

I found the solution this morning and fixed it. Where was the solution? The last place I looked! :)

Herein lies a secret to software development: Don't give up. Make the problem give up before you do.

So if you're faced with a particularly difficult bug today, or any day; just when it gets so frustrating that you do not believe you'll ever solve it, take a break. Grab some green tea, go for a walk, get out of the building. Put your mind on something else for ten minutes. Maybe time-slice onto another task when you return.

When you get back to the issue or bug, you'll have a fresher perspective. And you will find it.

It'll be in the last place you look.

:{> Andy

Technorati Tags: Software Development Development car keys Developer Community

posted Tuesday, June 06, 2006 9:16 AM by admin with 0 Comments

Doers and Teachers

You may have heard, as I have, "Those who cannot do, teach." I couldn't disagree more. And, I believe the spirit of MSDN Code Camps proves my point.

The scheduled speakers for the upcoming Reston Code Camp in Northern Virginia 10 June 2006 are a great example of this. These folks teach and do.

If you haven't signed up for the Reston Code Camp event, you can still .

Hope to see you there!

:{> Andy

Technorati Tags: Code Camp Developer Community NoVa Reston, VA

posted Tuesday, June 06, 2006 12:25 AM by admin with 0 Comments

Scrum With Team System Presentation - 1 Jun 2006, Richmond .Net Users Group

Last night's presentation to the Richmond .Net Users Group was a lot of fun - until my durn virtual PC died. :( This stuff happens. I'm doing maintenance on it in the background this morning while developing.

The presentation is available for download.

Thanks to everyone for coming out! The session was interactive and lots of folks contributed to the discussion - that always improves the user group experience!

Don't forget the Richmond SQL Server Users Group meeting next Thursday, 8 June 2006. I'll be presenting "SSIS Tips and Tricks." Also, the Reston Code Camp is Saturday, 10 June 2006, but registration is full. You can still get on the , though. Frank La Vigne is presenting The Tablet PC as a Pretty Cool Smart Client and Darrell Norton is presenting What’s New in ASP.NET 2.0 and Test-Driven Development Chalk Talk at the Reston Code Camp. I'm presenting Beginning SSIS Development, SQL Server Integration Services with Team System, and a chalk-talk entitled Database Agile Development Practices. So the Richmond developer community will be well represented!

:{> Andy

posted Friday, June 02, 2006 11:48 AM by admin with 0 Comments

Visual Studio Team Edition for Database Developers!

Microsoft just announced , a new addition to the Visual Studio Team System family!

I'm excited about this! There are lots of cool features for database developers to be happy about, but the most exciting screenshot I saw dealt with database testing:

This just rocks! I can't wait to download this and put it into practice. The bits ship 11 June 2006, according to .

:{> Andy

Technorati Tags: Team Edition for Database Developers SQL Server Team System Visual Studio Test-Driven Database Development TDDD

posted Friday, June 02, 2006 12:10 AM by admin with 0 Comments