August 2006 - Posts

September Richmond .Net Users Group Meeting

   September's meeting of the Richmond .Net Users Group will be held at the usual meeting place and time:
 
Thursday, September 7, 2006 at 6:30 PM
Location: 4600 Cox Road, Glen Allen, VA
[]

Topic: Object Oriented Concepts
By: Greg Postlewait, e-business team lead for AMERIGROUP Corporation
 
   Bring your Analysts and Managers!
   In plain English we will review and discuss the most basic object oriented concepts.  Objects are not only the building blocks of an application but a practical way to divide and work with complex business processes.  Renew your OOA and OOD resume credentials!
 
   Special thanks to this month's sponsor: Fahrenheit Technology. Be sure to thank the good people at Fahrenheit for arranging the meeting space - as well as providing pizza and sodas!
  
   The Richmond .Net Users Group plans to meet at 6:30 PM on the first Thursday of each month at the Markel facilities. Hope to see you there!
 
:{> Andy
 
posted Thursday, August 31, 2006 9:47 AM by admin with 2 Comments

Follow-up #2 to Database Professionals: An Enterprise Requirement

Eric Wise drew some heat from the developer community at CodeBetter.com with this post about the need for a DBA during development (see my post on the subject here).

I think Eric makes a couple good points, one explicitly and one implied:

1. (Explicit) A DBA - or Database Developer, more accurately (and there is a difference) - adds value to development.

2. (Implicit) There are Software Developers out there who can step into the Database Developer role long enough to solve most database tuning issues. Eric demonstrates this with himself in profiling and addressing a missing or ill-defined index.

I find most of the comments - presumably by software developers - typical. One developer stated:

My current project didn't have a DBA for 2 years, until recently since we're now at the stage of optimizing for performance. It seems to me that as long as the database is intelligently structured in the first place, a DBA's role would be rather small in most cases.

I agree with the sentiment expressed here - as much as I agree that code-generation tools can replace developers. It's true that you can utilize SQL Server or any database engine as a dumb file store. And it's equally true that you can build an enterprise application in C# that consists of thousands upon thousands of lines of nested If... Then... Else statements.

The question is: Why would you?

This goes beyond arguments over syntax, coding standards, methodology, and design philosophy. This is about putting competent professionals - at the height of their game - into the mix on a project.

You don't have to take my word for it - ask software developers who have worked (or are working) with competent database developers.

:{> Andy

Technorati Tags: Developer Community software developers DBA database developers SQL Server

Spam - The heart of the matter

According to this Consumer Reports article:

Too many consumers’ defenses are down. Twenty percent of the households surveyed didn’t have antivirus software installed. Thirty-five percent didn’t use software to block or remove spyware. And consumers in roughly 795,000 households continued to buy products advertised through spam. Most homes had a firewall installed to block hackers. Still, based on our findings, we project that about 2.4 million U.S. households with broadband, who are hackers’ prime targets, remain unprotected by a firewall.

 

Thing Number 1:

If you are one of the people in one of the 795,000 households I have a question for you:

1...,

2...,

3...,

4...,

5...,

6...,

7...,

8...,

9...,

10...

 

What the heck are you thinking? (This, mind you, is the edited version, after counting to 10 (and actually after even more editing)...).

You actually pay money to people who send you unsolicited email for their products and/or services? Did you get what you paid for? If not, were you too embarassed to report it?

Here's the simple truth: people that purchase items advertised (and I use the word "advertised" here extremely loosely) in Spam are the problem - not the spammers themselves. If you stop feeding them, they will go away!

Not everyone is computer- or web-savvy. That's ok. There's no test you must pass before you purchase or own a PC and obtain internet access - and I don't think there should be. The internet is a wonderful thing. But like all wonderful things, it can be abused. And it is being abused by people who are taking advantage of those less computer- and web-savvy than themselves.

Here's a few simple rules I follow regarding email:

1. If you don't know who the email is from, don't open it - period. It may contain some really important information, but if it's really that important, someone will follow up with a call.

2. If you know who the email is from and it contains an unexpected attachment, don't open it. You can always email the person who sent it to you and ask them if they sent you an email with an attachment.

3. If curiosity is just eating you alive and you cannot take it and you just have to see the picture the email subject states is attached just in case it's real and not botware that will turn your broadband connection into a denial-of-service attack in the name of some holy cause or other, please see item 2 above.

4. Never ever ever (ever) buy anything advertised (again, using the term loosely) in an unsolicited email. By unsolicited I mean an email that arrived in your email inbox through no action of your own. If you must have the item, please buy it somewhere else - even if it costs more. Trust me, you're doing us all - and probably yourself - a great service.

 

Thing Number 2:

There are lots of good antivirus software packages out there. AVG will allow you to download a free (as in beer) version of their software "for private, non-commercial, single home computer use only." This means you can download it and install it legally on your home computer for free. If you're in the 20 percent of households without antivirus software, please visit this link immediately.

 

Thing Number 3:

If you're part of the 35 percent of households that don't use antispyware software, and if you run a Windows operating system, you can download . Spyware can do lots of nasty things - you need to protect yourself. Windows is particularly vulnerable because it runs on the majority of desktops on the planet (not necessarily because it's less secure... a topic for another blog entry, perhaps...).

 

Thing Number 4:

Apologies for the tone at the start of this blog entry. Nothing torques me more than this sort of abuse of people and technology. And this entry discusses bad people using technology to abuse others!

 

Thing Number 5:

If you send a link to this post to everyone in your address book, something wonderful will happen to you during the next week. ;)    (... definitely a topic for another blog entry...)

:{> Andy

Technorati Tags: Developer Community Spam Virus Email

posted Monday, August 28, 2006 6:44 PM by admin with 0 Comments

Right on, Steve! (Giving back)

(Yes, I'm stating something about my age by utilizing the phrase "right on.")

Steve Jones has a great editorial about giving back to the developer community in this morning's SQL Server Central newsletter. Check it out here. I couldn't agree more!

:{> Andy

Technorati Tags: Developer Community MVP giving back writing PASS

posted Thursday, August 24, 2006 10:33 AM by admin with 0 Comments

Team Edition for Database Professionals CTP5 is available

Download it at the !

Note: Projects created in previous versions of TEDP will not open in this version - you must recreate them in CTP5.

:{> Andy

Technorati Tags: Team System Team Edition SQL Server Team Edition for Database Professionals CTP5

posted Wednesday, August 23, 2006 2:28 PM by admin with 1 Comments

Free! (for 180 days...)

I regularly speak to folks who tell me they wish someone would give them an MSDN subscription so they could play with all the cool new technology. I sincerely hope every single person with this desire gets their wish - if not from an individual (as happened to me), from their company. An MSDN subscription is a cool thing.

Until then, I recommend folks do what I did: get the trial versions!

You can build yourself a handy little enterprise on a workstation that has 1G RAM and some hard drive space. It won't be fast, but you can learn cool things nonetheless. Here's how:

1) Download and install  - it's completely free (as in beer). With this snappy software you can create virtual machines on your workstation and install any operating system you desire. Use Virtual Server to do just that - build a virtual machine before proceeding.

2) Download the 180-day trial version of . Install this as the operating system on your new virtual machine.

3) Download the 180-day trial version of . Install this on your new VM.

4) Download the 180-day trial version of . Install this on your new VM.

There you have it - a development virtual workstation that will allow you to learn and grow and try cool new things, for the next six months, at least!

:{> Andy

Technorati Tags: Developer Community VS2005 Visual Studio SQL Server SQL SQL2k5 Virtual Server MSDN Windows Server 2003 2005

posted Wednesday, August 23, 2006 10:34 AM by admin with 0 Comments

Announcing Richmond Code Camp 2.0!

Mark your calendars! Richmond Code Camp 2.0 is scheduled for 7 Oct 2006 at ECPI - Innsbrook.

Frank beat me to the announcement! :)

:{> Andy

Technorati Tags: Developer Community Code Camp Richmond

ECPI .Net Users Group Presentation Last Night

Thanks to the ECPI .Net Users Group for inviting me to speak last night. :) The group in attendance was awesome!

My presentation on Beginning SSIS Development went well. I look forward to returning to present to this group, the newest of Richmond's Microsoft User Groups!

:{> Andy

Technorati Tags: Developer Community SQL SSIS ECPI .Net Users Group

dsKUcXswAz5ndk5

posted Friday, August 18, 2006 2:18 PM by admin with 0 Comments

Database Coding Standards

Brian Kelley, noted author and database guru, offers insight on the necessity of T-SQL coding standards in this post.

"While they had naming standards for table, views, stored procedures, and other database ojects, nothing actually covered how best to implement stored procedures or what kind of T-SQL was acceptable and what needed to be justified."

Coding standards are always a difficult subject to address. I've had positive and negative experiences with them.

I've seen organizations create them in response to a coding tragedy, and I've seen organizations abandon them in response to the inflexibility of the standards.

Simply establishing a list of rules won't solve any real-world issue - at least not for long. This is especially true in the world of software where things change early and often. Coding standards need to be maintained. I believe a brief review of coding standards should be included in any project wrap-up / post-mortem process. It doesn't have to consume the meeting - it shouldn't, in fact. And it shouldn't be a philosophical debate; but rather a practical discussion of what the standards helped, hindered, or didn't address in the project.

:{> Andy

Technorati Tags: Coding Standards T-SQL SQL Project Management

posted Friday, August 18, 2006 10:08 AM by admin with 0 Comments

SS2k5 Replication bug "Merge Agent failed" (MSSQL_REPL-2147199402)

I have more than one merge publication configured on a SQL Server 2005 SP1 server. One of the publications replicates a couple stored procedures. All subscriptions fail occassionally. The use case is remarkably similar to .

Every other Sunday (yeah, I know, Sunday... Murphy's Law strikes again...) replication on the stored procedures publication fails with the following error:

The Merge Agent failed after detecting that retention-based metadata cleanup has deleted metadata at the Publisher for changes not yet sent to the Subscriber. You must reinitialize the subscription (without upload).  (Source: MSSQL_REPL, Error number: MSSQL_REPL-2147199402)

Screenshot:

The identifies this as a bug to be addressed in SP2 and prescribed a workaround:

1. Right-click the publication and click Properties:

The "Subscription expiration" defines the retention interval discussed in the . Set it to a high number of days (or weeks, months, or years) to avoid this issue until SP2 is released: 

Click OK to continue. Right-click the subscription again, and this time click "Reinitialize All Subscriptions":  

The Reinitialize Subscription(s) dialog displays. Uncheck the "Upload unsynchronized changes before reinitialization" checkbox. Select the "Use a new snapshot" option and check the "Generate the new snapshot now" checkbox:

Note: "Reinitialize All Subscriptions" only reinitializes subscriptions to the selected (right-clicked) publication. It does not reinitialize all subscriptions to all publications.

Click the "Mark For Reinitialization" button. This should take care of it until SP2 is released!

The downside: you have to monitor your subscriptions to see when they haven't synchronized within the desired interval. Replication Monitor is a great utility for this and you can sort on the Last Synchronization column to check the last synch interval. To start Replication Monitor, right-click the Replication node in Object Explorer and click Replication Monitor:

I profiled Replication Monitor, snagged the SQL Replication Monitor executed, and created a couple custom Reporting Services reports to help me keep an eye on the situation. The stored procedure I started with was:

exec [distribution].sys.sp_replmonitorhelpsubscription @publisher = N<server_name>, @publication_type = 2, @mode = 0, @exclude_anonymous = 0, @refreshpolicy = N'0'

:{> Andy

Technorati Tags: SQL Server Merge Replication SP2 Merge Agent failed -2147199402 

Identity Management

Joel Spolsky runs Fog Creek Software and writes really cool articles on his blog.

He knows how to manage talent and has an excellent article on the Identity Management Method posted at his site. It's worth a click!

:{> Andy

Technorati Tags: Joel Spolsky management talent identity management

posted Friday, August 11, 2006 11:29 PM by admin with 0 Comments

The Words We Use 3

Another episode in my Tales From The Under-belly of Business Communication series...

This actually happened to me.

A few years ago, I was toiling diligently on a data warehouse project, while the company for whom I was toiling was going public. I was a contractor in a temporary-to-permanent position. The rules were pretty clear: "Make it work and we'll hire you." Cool.

So I'm hammering away one morning when a young lady from HR shows up at my cubicle entrance with a gift to celebrate the company's IPO - and to express the company's appreciation for my contribution to thier success. She smiles, asks what I'm working on, I tell her, she smiles again, gives me the appreciation gift, moves to the next cubicle entrance, rinse, repeat.

"Cool" I think and go back to work.

But she returns about 10 minutes later - looking concerned. "Are you a temp?" she asks. "Yep" I respond. She reaches out and takes the appreciation gift and stammers "These are only for permanent employees" before leaving the cube looking very embarassed.

I felt bad for her. Really, I did.

I understand the company wanted to express its appreciation to the folks that had contributed - and were continuing to contribute - to its success. I think that's a good idea, in fact.

I also understand they probably only produced a limited number of the appreciation gift items - one for each full time, permanent employee. This meant I would have been taking someone else's appreciation gift had the young lady from HR not returned to reclaim it. All well and good.

What I do not understand - and this isn't a criticism as much as an admission of ignorance - is why the company* treated me as a second-class individual.

*I did not name the company for two reasons: they're a good company; and I experienced similar treatment as a contractor at almost every company I've contracted.

:{| Andy

Technorati Tags: Software Business Communication Contracting Contractor

posted Friday, August 11, 2006 9:49 AM by admin with 1 Comments

Tuning SSIS

Elizabeth Vitt - along with Donald Farmer, Ashvini Sharma, and Stacia Misner - provide an excellent look inside the SSIS engine in this article: .

:{> Andy

Technorati Tags: SSIS performance tuning

posted Tuesday, August 08, 2006 12:29 AM by admin with 0 Comments

Richmond Combined Microsoft User Groups Social

Last night, we held the Richmond Combined Microsoft User Groups Social at Sharky's Bar & Billiards in Richmond's West End. From what I could tell, everyone had a blast!

Special thanks to for sponsoring this year's event, and to G. Andrew Duthie (aka DevHammer)!

:{> Andy

Technorati Tags: Developer Community Users Group Richmond, Va .Net SQL Server

posted Friday, August 04, 2006 10:12 PM by admin with 0 Comments

The Words We Use 2

A friend is employed at a company with "an open door policy". According to my friend, this policy means anyone, at any time, can walk into any manager's office to discuss any issue.

My friend overheard a manager speaking to another employee about yet another employee complaining to the director about the manager (take that Mrs. Eppes, my second grade English teacher who taught me the meaning of the term run-on sentence!). The manager used the verb "open-doored" to describe the incident.

This is a clue.

If your organization has such a policy and this verb exists in the collective vernacular, then you have a failed policy.

Think about it. The purpose of an open-door policy is to provide a channel for immediate feedback on pressing and/or otherwise important issues. Let's face it: Stuff happens. One thing that distinguishes effective management from ineffective management is accepting this fact. When there's no Stuff going on, everyone looks like a great manager. It's when a manager has to manage Stuff that the metaphorical men are separated from the metaphorical boys.

An open-door policy is one tool to accomplish Stuff Management. When properly implemented and correctly understood, it provides instant feedback on matters that require immediate attention to people in a position to effect the required change. When improperly implemented and misunderstood, it becomes more Stuff.

:{> Andy

Technorati Tags: software Business Words We Use Open Door management

posted Friday, August 04, 2006 2:58 PM by admin with 1 Comments

Database Professionals Required - A Followup

There's been some interesting responses to my earlier post Database Professionals: An Enterprise Requirement.

Brian Kelley, noted author and database guru, expanded on the post twice: first in Does your organization need a DBA? and again in Does your organization need a DBA? (Part 2).

Frank La Vigne responded from the developer perspective with Yes, You Do Need a DBA.

:{> Andy

Technorati Tags: Database Professionals Need a DBA SQL Server Frank La Vigne Brian Kelley

posted Wednesday, August 02, 2006 1:11 AM by admin with 0 Comments

Team Edition for Database Professionals Webcasts

Thomas Murphy, Team Edition for Database Professionals Group Program Manager, did a great job today with the first of a series of four webcasts on the product.

There's more to come. If you're interested in learning more about this field-altering product, I urge you to .

:{> Andy

Technorati Tags: Team Edition for Database Professionals Data Dude MSEvents MSDN Webcast

posted Wednesday, August 02, 2006 1:00 AM by admin with 1 Comments