Five Bugs?

…continuing to follow the Entity Framework critics I mentioned earlier…

If A == B and B == C,…

A lot of life and nearly all business is based upon relationships. In business, it’s possible to lose money and remain afloat – and thrive in some cases – so long as you maintain positive cash flow. A business that is turning a profit can also fail by not properly managing or maintaining a positive cash flow. 

In the economy of relationships communication is the currency and courtesy is analogous to cash flow. This is why people will say things to you in business like “Pick your battles.” If you’re going to fight (ie, become discourteous) for something, it better be important.

So let me ask the participants in the Vote of No Confidence Petition a hypothetical question: As a technology professional who will – hypothetically – enjoy the benefits of a relationship with arguably the largest and most influential ISV on the planet, are five bugs worth it?

Let’s look at what you’ve done: Rather than communicate with Microsoft through one of the several readily-available methods, express your concerns, contribute to the conversation, and then help with any gaps in the implementation of which you are aware by blogging and posting ideas and suggestions and providing feedback for future releases, you’ve decided to exercise what Josh Holmes aptly describes as the nuclear option. In Farmville, we call this “throwing a hissy fit.”

In Response 

In my opinion the Entity Framework Team at Microsoft has responded to an irrational attack with dignity and grace. Kudos to them.

It seems the uproar is being mostly generated by one person. It also seems this isn’t the first overreaction for this particular individual. I am a huge fan of developer communities. Were I a member of the Alt.Net community I would not be afraid, I would be ashamed.

Free Speech

This isn’t advocating censorship of free speech, this is advocating responsibility for free speech. Sometimes people stand up for their right to free speech; sometimes (this is one of those times) the right to free speech stands up for an individual. Regardless, one is never free from the consequences of exercising their right to anything – free speech included.

This is about responsibility.

Stuff Happens

In Farmville, we call this a “mistake”. When you make a mistake the best thing to do is admit it, clean up the mess, move on, learn from it, and definitely do not repeat it.

Whatever you do, don’t continue justifying it. That’s another mistake.

:{> Andy



I just wrapped up an ETL With SSIS class in the Rochester, NY area and one of the students in the class pointed out “You haven’t blogged in over a week!” He’s right – I need to blog more and more often. I’ve been distracted with preparations to sell our house, releasing an e-book, writing the next volume in the e-book series, and working. No excuses, just information.

Shooting at Pots

I’ve seen some articles and posts lately taking aim at various technologies, some aimed at Microsoft and others aimed at a field of technology in general. The Microsoft uproar is about the ADO.Net Entity Framework. On one side is Microsoft, Tim Mallalieu, Ward Bell and the team that developed EF; on the other side are a group of people who decided to post an online petition to gather signatures and warn potential users of EF of potential dangers using the product. The “field of technology in general” is databases and data applications: Others are commenting about database and business intelligence topics.

On EF… 

Now, I won’t comment about the technical aspects of the ADO.Net Entity Framework because, well, I know very little about it.

I will say this: I do not like the way this is happening.

Here’s why: Microsoft has channels of communication for feedback from the community. Microsoft Connect is but one example of this (albeit a good one). For MVPs, there are direct communication channels to the Microsoft development teams or to those who communicate directly with those teams.

People Helping People 

Maybe I have this wrong, but I enjoy helping people learn to implement technical solutions. For me, that’s the juice. I enjoy watching a new application or database or website go – especially if it goes faster than it did before. I’m thrilled by the look on student’s faces when they put the pieces together about SSIS or database development.

So what happened here? Again, I’m not sure. I have seen similar things in the past. Maybe this applies to this situation, but probably not. 

You Don’t Always Get What You Want 

For everyone, there are things we like and things we don’t like. For everyone, there are things we understand and things we don’t. Most people I know respond to the things they do not understand by thinking (and perhaps blogging) “I don’t understand this.” Similarly, most people I know who do not like something state “I don’t like this.”

Others, though, respond to things they do not understand or do not like (or both) by saying “This is wrong.”

There is a world of difference between “I don’t like it / I don’t understand” and “This is wrong.” The former is an opinion; the latter, a judgment. And – this is crucial – you can fix “I don’t understand this” with education (if you’re willing to learn).

When I read a judgment about a technology topic, my initial reaction is to question the writer – especially when the writer has the talent and skill to help ordinary users address the issues they’ve identified and opts instead to bash the technology. It’s one thing to say “This is wrong” and another to say “I disagree with this implementation of technology but here’s how you can make it work like I think it should”. That’s a lot of verbiage but I think you get the point. One response is helpful.

On Database Bashing…

I understand this technology better than EF technology. Let me first start by saying that if I do not personally know how to do it, it cannot be done.

Did that last statement sound cocky? arrogant? conceited? accurate? Yes, yes, yes, and no. Suppose I write something like: “If you don’t know what I know, you’re stupid and should quit database work and go do something else.” Again, cocky? arrogant? conceited? accurate? Yes, yes, yes, and no. This doesn’t help you. This doesn’t help me. In fact, this doesn’t help anyone.

Check Please

So here’s my two cents: It’s better to help folks than to complain – even if you sincerely believe your complaining is helping folks, it’s not. Really.

:{> Andy


Database Edition Now Does DB2!

Tech Ed 2008 included some major announcements for database development folks. One of the biggees was this – and announcement that Database Edition is going to support DB2 development!

Gert and the team have been working hard to expand the underlying architecture and functionality of Database Edition (making it extrememly difficult for this one author I know in Farmville to keep up… I’m not complaining!). Rearchitecting Data Dude to utilize a provider-based model was no small task, but the team at Microsoft has been able to pull it off – way to go team!

These changes affect a lot of how Database Edition currently works. We were given a preview at the MVP Summit in April. The work is impressive, but the ability and agility provided by the new architecture is even more so.

You will see a ton of changes with the release of Visual Studio Team System 2008 Database Edition GDR. You can currently download the June CTP here.

:{> Andy

New E-Book: Mastering Database Edition Volume 1

My first e-book is out! Mastering VS 2008 Team System Database Edition, Vol 1: Creating and Deploying Database Projects is available at Solid Quality Press.

Volume 1 of the Mastering Visual Studio 2008 Team System Database Edition series focuses on creating and deploying database projects. The goal of the manuscript is to provide the concise and practical knowledge required to build and deploy a database project. Topics include database project creation, database deployment, database development principles and best practices, version control, and database application lifecycle management.

I’m writing Volume 2 now which focuses on Database Testing with Database Edition.

:{> Andy

SQL Server 2008 RC0 Download

The SQL Server 2008 RC0 download is available to the general public here.

For goodness’ sake, don’t load this on a real machine. Go get Virtual PC or Virtual Server – they’re both free. You can get the Trial Editions of Windows 2008 Server here:

  • Windows Server 2008 Standard (x86 and x64)

  • Windows Server 2008 Enterprise(x86 and x64)

  • Windows Server 2008 Datacenter(x86 and x64)

  • Windows Web Server 2008(x86 and x64) 

  • You can also get a configured virtual hard drive here – already installed and ready to run.

    Regarding virtual machines: invest a day now if you are not familiar with this technology. It will save you weeks and months in the future, I promise.

    After you get your virtual envirnoment set up and running, you can install anything you like. This protects your laptop or desktop from “bad things” happening with a CTP or RC installation. You will thank me later.

     Using Virtual PC and Virtual Server, you have to install the x86 versions of the OS and SQL Server 2008 RC0. For me that’s no big deal – I’m not loading it to stress it (not yet anyway), I’m loading it to learn more about it. You can too.

    :{> Andy

    Twitter Woes

    “My name is Andy Leonard. I tweet.”

    “Hi Andy, we love you.”

    It’s true, I am a bona fide Twitter-holic. If you use the service you may have noticed disruptions lately. Frank La Vigne (recently married – congratulations Frank!) blogged about it. The Twitter developers are blogging about it. And they have raised the ire of Mr. Scoble, who posted his feelings on the matter at FriendFeed – a competing service (if “competing” applies here…).

    From the Twitter Dev blog:

    The events that hit our system the hardest are generally when “popular” users – that is, users with large numbers of followers and people they’re following – perform a number of actions in rapid succession. This usually results in a number of big queries that pile up in our database(s). Not running scripts to follow thousands of users at a time would be a help, but that’s behavior we have to limit on our side.

    The Twitter Dev comments have been interpreted by some as complaining about user load. This is not good for Twitter and they should take immediate steps to manage the buzz before this goes any farther.

    I jokingly tell clients sometimes the problem with their application or database performance is a combination of their data and their clients. I only do this in person and after reaching a comfortable comfort level with the client, and even then it’s sarcasm that I carefully throw out. Why? It’s the technological equivalent of saying the word “bomb” while waiting in the security line at the airport – within earshot of the good people of the TSA.

    In other words, it’s a really dumb thing to say.

    Let’s look at why: First, Twitter is demonstrating that they made a mistake in architecture. I don’t know what that mistake is, but it’s obvious to everyone using or attempting to use the platform that an error has occurred. It’s not the HTTP 500 error I saw last night or the on-again-off-again link to older tweets. It goes beyond that back to the design.

    Part of the problem can be stated thus: “Twitter did not know we were going to grow so fast.” Another way to say that is “Twitter doesn’t scale.”

    As a database professional in the data warehousing field, I feel Twitter’s pain.

    We are often pressured to “just make it go!” – deliver something now and fix it later. And oh the temptation is strong, the logic sounds sound, the song so sweet… “you can circle around later and fix it” they say. When you hear these words and are so tempted you can be certain of one and only one thing: the person saying this to you is lying. Malice may or may not be present – they may simply be repeating what they heard or they may be utterly ignorant, but they speak not the truth.

    Second – although I could be wrong about this – I would wager good money that Twitter doesn’t need a DBA. I’ve seen / heard / experienced this before. They have a talented team of application developers who have built large applications in the past and never once paid a database professional. Look at the money they’ve saved! </sarcasm>

    Why does this happen? Experienced database professionals slow down project development. We get in the way. We muck about with stress tests and bulky architectures and referential integrity and schemas and the like. Who needs us? We’re an unnecessary expense.

    Or are we?

    From the quote above, the bottleneck is occuring in the database. It’s those pesky queries. And the users causing them to be executed. It’s <insert-your-favorite-excuse-here> – everyone and everything, except the designers and architects who built a non-scaling solution.

    My lovely bride Christy has this saying: “Good judgment comes from experience, and experience comes from bad judgment.” My hope is Twitter will discontinue offering excuses and blaming users, and instead fix the (apparently database-scaling-related) problem.

    If this comes across as harsh, that is not my intention. I have been there and done that myself. These are learning experiences and growth opportunities. Hopefully Twitter will enjoy the fruits of this learning and growth in the future.

    For now, I’ve created a FriendFeed account. Let’s see how they scale…

    :{> Andy


    Still Alive and Kicking

    I haven’t fallen off the planet, I am still alive and kicking!

    I’ve been on the road the past couple weeks – first in Kansas City, MO and this week in Bellevue, WA. I got to meet a bunch of cool people at the classes in Kansas City and Bellevue, and at the Kansas City SQL Server Users Group.

    I’ve been working on this, which will be available soon (more later).

    Christy and I have been diligently working on our house in Farmville, VA. It goes on the market next week with any luck.

    Between the writing and the house, May’s been a busy month. June promises to be the same, but eventually things will settle down to “normal”. Immediate plans include two more installments in my ETL Instrumentation series (especially since I’m getting email about people implementing it!).

    I met someone here in Bellevue who reads my blog: Vern Rabe. Vern’s teaching the Microsoft Official Curriculum SSIS class down the hall and has some cool SQL Server information on his website.

     :{> Andy