Musings and Ramblings

More Quick Interview Tips

In the last couple of years I have conducted a lot of interviews for application and database developers for my company, and I can tell you that the little things can mean a lot.  Here are a few quick tips to help you make a good first impression. A year ago I gave you my #1 interview tip: Do some basic research!  And a year later, I am still stunned by how few technical people do the most basic of research.  I can only guess that it is because it is so engrained in our psyche that technical competence...

How to Manage Technical Employees

In my current position as Software Engineering Manager I have been through a lot of ups and downs with staffing, ranging from laying-off everyone who was on my team as we went through the great economic downturn in 2007-2008, to numerous rounds of interviewing and hiring contractors, full-time employees, and converting some contractors to employee status.  I have not yet blogged much about my experiences, but I plan to do that more in the next few months.  But before I do that, let me point you to a great article that somebody else wrote on The Unspoken Truth About Managing...

Summit Time!

Boy, how time flies!  I can hardly believe that the 2011 PASS Summit is just one week away.  Maybe it snuck up on me because it’s a few weeks earlier than last year.  Whatever the cause, I am really looking forward to next week.  The PASS Summit is the largest SQL Server conference in the world and a fantastic networking opportunity thrown in for no additional charge.  Here are a few thoughts to help you maximize the week. Networking As Karen Lopez (blog | @DataChick) mentioned in her presentation for the Professional Development Virtual Chapter just a couple...

The Tipping Point - DISTINCT Causes Timeouts

Everything worked fine for the last six years…and then today we hit the tipping point.  I lost many hours today due to the misuse of DISTINCT which was the root cause of timeout errors in our web application. In one of my most frequently read posts, Why I Hate Distinct, I talk about how this SQL keyword is often abused by SQL developers who are just trying to get their job done, but don’t know enough about either the SQL language or the data architecture to really do it right.  Now, I realize that in the development world (of...

Interview Tip: Do Some Basic Research

A lot of job candidates out there are wondering how they can set themselves apart from the crowd and increase the odds of landing the job they want.  Well here’s a really easy way… Do your basic research and due diligence on the prospective employer before your first interview.  This is good practice whether you’re looking for full-time employment or just a little contract work.  Show the interviewer that you are at least interested enough in the work to hit a search engine or two. I have conducted numerous interviews for application and database developers over the past...

Regaining SysAdmin Access after a Lockout

Today I had to find a way to regain SysAdmin access to an instance of SQL Server when I technically had no permissions.  Here is how I did that. Every developer on my team is setup to be able to work 100% stand-alone.  That is, they have everything on their local machine, including a recent copy of the database, to do all their work even if the network goes down, which it used to do on occasion.  For SQL Server development, each has a copy of SQL Server 2008 R2 Developer Edition installed, and it was one of these...

SQL Sentry First Impressions

After struggling to defend my SQL Servers from a political attack recently, I realized that I needed better tools to back me up, and SQL Sentry is the leading candidate. A couple of weeks ago, seemingly from out of nowhere, complaints from the business users started coming in that one of the core internal applications was running dramatically slower than normal, and fingers were being pointed at the SQL Server.  Unfortunately, we don’t have a production DBA whose entire job is to monitor and maintain our SQL Servers.  The responsibility falls to me to do the best I can, investing only...

Godin on First Impressions

Seth Godin has some wise words for all bloggers to keep in mind in his recent post When a Stranger Reads Your Blog.

Guessing Excel Data Types

Note to Self HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel: TypeGuessRows = 0 means scan everything. Note to Others About 10 years ago I stumbled across this bit of information just when I needed it and it saved my project.  Then for some reason, a few years later when it would have been nice, but not critical, for some reason I could not find it again anywhere.  Well, now I have stumbled across it again, and to preserve my future self from nightmares and sudden baldness due to pulling my hair out, I have decided to blog it in the hopes that I...

Announcing Baby Ben

Happy to announce the arrival of Benjamin Micah Caldwell.  Mother and baby are both doing well.  Big sister thinks he’s just another baby doll for her to play with.  Sleep is at a premium, but everyone is adapting well.

Twitter Revisited

Last night at the Exhibitor Reception at the Summit, Lance Harra said to me, “I thought you gave up on Twitter.”  That was in response to seeing my Twitter ID on my name badge.  Some of you may recall that last year, just before the PASS conference, I jumped on the Twitter bandwagon to play with it during the event.  Shortly thereafter, I jumped back off.  Well, this year, again shortly before the Summit, I started getting interested again.  So, here are a few things I thought I’d share to clear the air… I learned a few tricks to...


This is one of those things that you probably know, but have not run into it lately.  That was the case for me recently as I was troubleshooting an issue in someone else's code, and spent several hours on it before stumbling across this cause. The issue at hand is that people forget about the true nature of NULL in a database column.  Another way of thinking about NULL is to substitute the word UNKNOWN.  NULL is not is unknown.  NULL does not equal anything.  That is why you have to use the magic phrase IS NULL instead...

Twitter Follow-Up

A few months ago, I announced that I was going to do a test-run with Twitter.  So now I thought I'd share a few thoughts.  Probably the most telling bit of evidence that shows how my test of Twitter went, is that I haven't posted anything to my Twitter account since December 5th, a whopping 3 weeks after I started, and two and a half months ago.  It was at that time also that I stopped reading tweets with any degree of regularity. It's not that I think Twitter is evil or utterly banal (although some of the users...

Off-Topic: Understanding the Financial Crisis

Since we're all super-geniuses, I'm sure you don't really need this, but you might "know a guy" who does, and you can pass this along...  I stumbled upon some really good, short videos on the Marketplace Whiteboard that explain in layman's terms what the heck has been going on in the U.S. financial debacle.  Start at the bottom and work your way up.  At the very least, watch the first one, Uncorking CDOs.  New ones are put out periodically.

Twitter Test

If it's good enough for Joe...  I just setup my own Twitter account to give this a test run.  Looks like a good option for quick comments from the PASS conference that may later lead to broader blog entries.  Anyone else playing along?


You know... that "handy" keyword that eliminates duplicates from your result set.  Yeah, that DISTINCT.  I Hate it!  My team thought I was crazy (maybe I am, but this is not proof of it).  I am frequently railing against the use of DISTINCT by any of my developers.  "It's a sign of weakness!", I would say.  Or, "It just shows you don't know how to write SQL!" Okay, maybe hate is too strong of a word.  But I certainly dislike its use within my applications.  Actually, today I slowed down long enough to put into coherent terms what my...

Thoughts From a Hiring Manager on the MCDBA

Now that I have had the "pleasure" of filtering through numerous resumes looking to hire someone, my thoughts on certifications has evolved a little...  Or it's probably more accurate to say that they have been solidified. Acrimony Anyone who is active in the community is well aware that the topic of whether to pursue your MCDBA or other certification is hotly debated.  Are things a little too quiet in the office or on the discussion boards?  Just throw out the "innocent" question of whether it is worth pursuing certification and things are certain to get lively for a while.  It ranks right...

How to Return Record #n

I got this question in email a while ago, and it seems to come up quite a bit, which frankly surprises me.  I guess it's because I almost never* write an application where I need to retrieve the 10th (or whatever number) record.  I am always trying to retrieve the record for Joe Smith, or Order Number 1256487, or the last record entered on 12/31/2007, or... well, you get the point.  I am frequently searching for records based on a data value.  But I rarely, if ever, have had to go looking for the nth record. I see this...

Late to the Party

UPDATE:  Removed bad link and added some commentary. OK, Damian, I get it now.  For those of you who weren't in the conversation, Damian (a.k.a. Merkin) was giving me a bad time about being a laggard in regard to Windows Live Writer.  Well, I finally stumbled across more info I probably should have seen before, and now I get it. Oh well, it just goes to show you that there is still nothing nearly as effective as a live personal referral to get someone's attention.  

Technical Debt, Live Writer, and oh yeah, Happy New Year!

I know, we're already a few weeks into the new year, but I have been so busy with work and life stuff that I haven't been out here in a while, and it sounded like a good start. I had dinner with Graz last night, and he off-handedly mentioned that I got passed by Mladen in blog post count, as if I might not already be aware of it. ;-)  (Congrats Mladen!  You are doing a great job and a great service to the community!)  OK, seriously, Bill did encourage me to write some more, and suggested that I...

2006 - A Year In Review

A personal and professional look back at 2006...

Blastoff! SQL Server 2005 Launches

Today, November 7, 2005, a date which will NOT live in infamy, but hey, it's still kinda cool.

Reporting Services Calendar Control

People have just come to expect these days that when they have to enter a date value that there will be some sort of calendar control right there so they can see a view of the month if they need to...

Back Online

For those who noticed or cared, the CaldwellBlog is back online (new URL) after an extended summer hiatus.

Testing Humble Pie

There's just nothing quite like taking a timed test that covers so many areas ... to really get you to question how just how good you think you are.

Reading Software Licensing Agreements

Do you read software licensing agreements when you install software? Maybe you should...

My Other Blog

Announcing my personal blog for non-SQL stuff.

What Language do you THINK in?

You know you're truly fluent when you can think in a foreign language instead of thinking in your native language and translating.

Scum of the Earth - Part 2

Is this ironic, or what?  On my ranting entitled Spammers are the Scum of the Earth (back in January) which talks about Comment Spam, I just had somebody post comment spam to it.  But thanks to the way Graz configured this site, all comments get emailed to me, so I was immediately aware of it and could delete it.  I just thought it was ironic that they would pick that post.  They probably did, too.

Test your Backups!

You DO backup your databases, don't you? And you do test your backups occasionally to make sure they're good, don't you?

Separate Development, Testing, and Live Data

“You DO have a separate development environment, don't you?”

Spammers are the Scum of the Earth

Spammers fall on the hierarchy of life forms well below used car salesmen and most contingency-fee personal injury lawyers...

OOPS! My Bad on the Rant

Okay, I have to come clean, and do it as publicly as I did with my mistake...

My Favorites Rant

Somebody's messin' with my Favorites, and I'm not happy about it!

My Take on the MCDBA

There are some topics that you know are always good for a heated debate: religion, politics, abortion, and the value of the MCDBA (Microsoft Certified DataBase Administrator) certification...

Tech Jobs Returning from India

Following up on my comments on Brent's post about international outsourcing, Dell recently announced that they are pulling back some of the customer support that they had directed to India.  It turns out that some customers were not happy with the quality of the support they were getting. As I've said before, some things can be done overseas, but others need to be kept local.  These days it is often not because of a lack of skills issue, but rather due to language barriers, management complexity, or a variety of other reasons.

PASS Summit 2003 - Funniest Moment: Security

During his keynote talk Wednesday morning, Gordon Mangione (VP SQL Server, Microsoft) said to his assistant who was about to demonstrate a new feature in Yukon, “If you login as SA, Blank Password, you're fired.” Everyone laughed and it became the joke of the day. But think about it for a moment...

SQL Server 64-way / 64-bit

To answer Scoble's question, the recent TPC-C benchmarks that MS is proclaiming were run on a 64-way, 64-bit machine with 1/2 TB of RAM.  I'm pretty sure I heard Gordon Magnione say this in his keynote at PASS.  I know for sure that he said one of their next steps is to take it up to a full Terrabyte of RAM. And then this morning I had breakfast with a guy from HP who, when I asked what he did started to tell me about the HP team at Microsoft performance tuning a 64-way 64-bit machine for the TPC benchmarks.  I double-verified...

More Thoughts on .NET in Yukon

I previously blogged about my fears that making the .NET languages available in Yukon might lead to horrible stored procedures by people who don't understand the difference between set-based and iterative processing.  I am still worried about that, but I just read a blog entry by Greg Linwood that talks more about using the .NET languages in lieu of extended stored procedures and COM.  Okay, I can accept that and see value in it.  We get a lot of questions on SQLTeam about sending email from SQL Server without using SQLMail (usually because they don't have an Exchange Server.  There are...

Yukon Hands-on Labs at PASS

Here's yet another good reason to come to the PASS Community Summit in Seattle... They will have Hands-on labs using Yukon, the next version of SQL Server.

Demo or Commercial?

I was reading this web site with my developer hat on, and thought that I'd actually see something being done in Yukon. You know, a demo of using the software to accomplish something. Silly me, this was not a demo as a developer thinks of it, but rather as the sub-text described it, this was an overview listing (selling) the new features to management.

Better Posts Through Reading

Here are some musings about what makes a good blogger, from my experiences reading other blogs.

2003 Salary Survey

ComputerWorld's 2003 Salary Survey is now available online. The detailed numbers are available after a free registration, but here are a couple of points of interest for the SQL Server community.

Trying out Newsgator

A few months ago, I was introduced to the concept of RSS feeds by a weekly humor email list that I subscribe to called This Is True.  I read up on the idea and learned about this aggregator software that plugs into Outlook called Newsgator.  Imagine my surprise a couple of months later when the SQLTeam Weblogs were launched, with RSS feed as an option.  I was still unconvinced, but now I had a news service that I was checking on a daily or more frequent basis, so the benefits of this technology started becoming apparent. Then, I made the...

More Musings on Yukon

Reading through the DBA Overview of Yukon whitepaper that Graz mentions in his blog, there were a few items that really jumped out at me.  Here are a few thoughts: Dedicated Administrator Connection:  Sounds like a cool feature, always allowing a sysadmin to connect even to a "hung" server.  But you'd better really lockdown those sysadmin logins tight. Recursive Queries:  May be a blessing for people designing hierarchical systems.  May also be a horrid curse.  I can see this leading to a nasty infinite loop with one little slip.  Looking forward to an article by Rob some day... PIVOT and UNPIVOT:  I'm liking...

Multi-Values are Evil Incarnate

It has been several years since I escaped AMV Hell. I have been working in SQL Server, and I'm so happy I got out. AMVs were like some sort of addictive drug that seemed really cool at first but then became an obsession that took over my life and warped my sense of judgment for several years. But thanks to a career-intervention by some friends, I've been clean for the last 5 years, and life is good. My name is Mark, and I am a recovered MV guy.

Worried About Yukon - Iterative vs. Set Based

Last year, one of the features that was being promoted big-time was the idea that you would be able to use the .Net languages to write your stored procedures. Now, I haven't heard any details on the actual final implementation of this but it makes me worried, and here's why...

Come to Seattle!

This isn't really a tourist plug for the city, but rather encouraging you to come to the PASS Community Summit this November 11-14.