Thursday, December 29, 2011

There is one thing that all IT people have in common

No one throws away old code.

This is true for both developers and admins alike.

Even if it is bad code.

Even if it is janky code.

Especially if it is janky...

Because hidden in that code is a genius insight that is still valid even if the code is crap. And genius is hard to come by.

Now when someone quits, they generally leave a copy of this code behind. If the parting was on good terms, it might be labelled. Otherwise, you are on your own. Grep and Windows Search are your friends...

Now, here is the secret: the harder the code is to find, the harder it is to make sense of, the more useful the code is. No one actually follows format and comment guidelines in their personal "only use this in case of emergency" code. That would be like detailing the steps of recovering a suspect database without doing a restore. (And, no, I will not tell you.)

So if anyone has an old PC of mine, the good stuff is in a directory called "misc". You're welcome.

Friday, December 23, 2011

Tales from the Frontlines: Operation "You're in Over Your Head..."

There are 3 simple rules that you need to follow in order to ensure success in a new job. And oddly enough they concern what you do before you accept a job offer, not after.
  1. Don't lie on your resume.
  2. Don't lie in the interviews.
  3. Don't have references lie for you.
It will all come back to haunt you in the form of an emergency that you will have no idea how to handle. And then you will become a problem for me. Because you will turn to me with a "deer in headlights" look on your face when I try to explain what you need to do to solve the problem. I know then that my next words need to be, "Just send it to me." Sigh.

I hate it when your incompetence makes my job more difficult.

Monday, December 12, 2011

Knowing What to Google is Half the Battle

And most people's Google-fu is weak.

The secret to success in IT is learning from the mistakes of others and taking advantage of their triumphs. This means being a good code shark. None one sane writes all of his or her own code. We grab things from here and there that meet the needs of the problem at hand.This is where experience comes into play: learning to recognize the difference between good code and bad code. And only using bad code when there is no other option...

Friday, December 9, 2011

What is the significance of "Not the DBA"?

The title of DBA denotes very specific skills, duties, and responsibilities in the database community. And as such specific salary levels. Unfortunately, many companies just have a "database person", someone unlucky enough to know how to open and use SSMS. This is often a database developer, an ETL analyst, or even a reporting specialist. Eventually, however, through trials of fire and much error this person will acquire much of the knowledge that a DBA has. That is when they become truly dangerous...

Wednesday, November 30, 2011

This is how you deal with being cut off in traffic

Could someone fix my defective keyboard?

To be honest, I'm not sure I could create a DTS package if your life depended on it.

I would never put my life on the line for something so trivial...

But seriously, do you know how long it has been since since I last actively developed with DTS. Here's a clue: DTS was replaced by SSIS in SQL Server 2005... The SQL Server 2012 RC0 has been released... You can do the math for yourself. DTS was a powerful tool in its day, but technology has advanced so much that trying to downgrade is a pointless struggle. Even spell-check thinks that it is a invalid term; it suggested STD instead.

It's time to move on.

Adapt or die.

Monday, November 28, 2011

You can write a SELECT statement? So what? So can I.

SELECT userid, COUNT(clueid)
FROM userclues
GROUP BY userid
HAVING COUNT(clueid)> 0

See what I did there?

Unfortunately, SQL is a relatively easy language to learn. It only has four keywords, right? <wink>. But the problem with any language is not in its correct usage; it's in what happens when someone misuses it.
Say, what does this DROP DATABASE MONEY thingy do? Drop money into my bank account? That would be awesome.
 You, sir, need to back away from the keyboard.

What is the significance of varchar255?

Varchar(255) is what happens in your database when you let someone who doesn't know what they are doing touch it.  For example, you let a business user import an .xls spreadsheet as a table "for reporting purposes". Most likely it is named [Sheet1$].

But now you're asking:
Why does that import functionality exist then?
Listen carefully. It's only for the use of trained professionals who understand field mapping and datatypes. This is not you.