Can’t Access Database After a Restore

I can’t access my SQL Server database after a restore from a SQL Server authentication account.

This happens when you restore a database from a different server. You need to update the database with the appropriate keys for the users on your server; they are still the ids from the old server.

In the database, you can execute this

EXEC sp_change_users_login ‘Report’
 
to list the users. If you have the user your are looking for, you can run this to fix it.
EXEC sp_change_users_login ‘Auto_Fix’, ‘UserNameHere
 
If you don’t have the user, you can create one and then run the above statement.
 
I didn’t put much detail on this. You might want look in the sp_change_users_login command to get a better understand of what is happening.
Posted in SQL

DW20.exe is Using 100% CPU

A process named DW20.exe is using 100% of my CPU on my web server and I can’t figure out what is causing it?

This is Microsoft’s error reporting tool (Dr. Watson). If you need to fix the problem immediately, feel free to kill the process when it appears. Your web server will start functioning fine after the process is dead.

In the long run, you can turn it off by following the instructions found here and just turning it off instead of on. By default, it is turned on.

Majic Jack Phone

Is the Majic Jack phone legitimate? Do people have problems with it?

If you’ve been seeing the Majic Jack $19.95 a year phone offer and wondering if it is something you should consider, you might want to read this blog here.

In short, the bulk of the work occurs on your computer, it must be on all the time, there is advertisements you must endure and the software sniffs your Internet activity.

That said, if you have a spare PC that you don’t use and don’t mind leaving it on all the time, it sure is a good price for a free phone number.

Creating a CD/DVD from an ISO File

I want to create a CD / DVD from an ISO image file but the burning software that came with my computer (e.g. Roxio, etc.) doesn’t do it unless I "upgrade" and pay money to do it. How can I burn these ISO files for free?

Download the Microsoft Windows Server 2003 Resource Kit Tools and run the command line tool CDBURN.EXE or DVDBURN.exe.

You’ll need to make the files are in your file path.

Creating ISO Files From CDs and DVDs

I want to create an ISO image file from my CD or DVD but the burning software that came with my computer (e.g. Roxio, etc.) doesn’t do it unless I "upgrade" and pay money to do it. How can I do this without upgrading?

There is a wonderful shell extension for XP and Vista created by Alex Feinman. You can find the application here:

http://isorecorder.alexfeinman.com/isorecorder.htm

Just download the version for you computer, install it, put a CD or DVD in the drive, right click the drive and choose "Create image from CD". He has instructions here.

You can also right click on an ISO image and write it to a CD/DVD. It can’t get any easier (and cheaper . . . it’s free) than this.

Oh, and don’t forget to donate some cash. This is a slick tool and he deserves a few bucks. I donated a few.

Logical Implication

My Subject Matter Experts (SMEs) / Business Analysts (BAs) / Quality Assurance (QA) are idiots and can’t understand how to figure out the right test case paths to test our software. Why?

People have a hard time with abstract logical implications. All people.

You learned in discrete math (or logic class) that, given that P implies Q, if you have P, then you must have Q. It’s kind of the definition of implication. In math symbols, the logical implication looks like this:

P -> Q      (P implies Q)
P                (P is true)
——-
Q                (There fore, Q is true)

or, in plain English

If the football game runs late, then 60 Minutes will start late.
The football game ran late.
Therefore, 60 Minutes started late.

Easy to follow, right?

Now, let’s say we turned on the TV and saw that 60 Minutes was running late. A lot of people would say, "Ah ha! The football game must have run late." And you know what? In the real world, that probably was the case. Your QA person would mark your test case as passing!

But, what if instead the President decided to talk after the game and the game had actually finished on time? Then, your conclusion that the ball game ran late would be false. Hmm . . .

So, what’s going on here?

It’s that little arrow up there in the math–the implication. It’s only one way. It says, if P then Q. It doesn’t say anything about Q. In fact, there’s no mention of the state of Q except in the result.

In English, we didn’t say, if 60 Minutes is late, then the ball game must have been late. We said, if the ball game is late, then 60 Minutes will be late. And those are two totally different statements.

Lost?

If you are, you’re not alone. In fact, most people have a hard time with this–people like SMEs, BAs and QA. That’s the thing to remember. It’s a problem with people in general–not a specific person.

Don’t believe me? Read this article on the Wason Card Problem. This is a very good lesson in critical thinking. Here’s a short excerpt that might make you click the link above.

Four cards are presented: A, B, 4, and 7. There is a letter on one side of each card and a number on the other side. Which card(s) must you turn over to determine whether the following statement is false? "If a card has a vowel on one side, then it has an even number on the other side."

If you want to know the answer, spend some time reading about the problem here. If you do, you’ll learn more about yourself, people and why your SMEs, BAs and QA have a hard time with those technical requirements and creating test plans. Humans have a confirmation bias. Don’t beat them up. They are only human.

If you read the Wason Card Problem article closely, you might realize that the problem may not be in how the requirements are being interpreted; but, that you have humans interpreting them, and, as such, they are going to have a hard time with abstract concepts.

From the Wason article, when people were given the problem presented in this way,

Let the cards show "beer," "cola," "16 years," and "22 years." On one side of each card is the name of a drink; on the other side is the age of the drinker. What card(s) must be turned over to determine if the following statement is false? If a person is drinking beer, then the person is over 19-years-old.

the studies showed that people had a significantly higher chance at getting the right answer. From the article

Humans are hardwired to solve practical, concrete problems, not abstract ones.

What I have seen over the years is that software developers–abstract thinking people–tend to get involved in complicated parts of writing technical requirements. And, those parts of the requirements represent the A, B, 4 and 7 kind of cards and not the beer, cola, 16 years, and 22 years kind of cards.

This can lend to some very bad testing just because the testers simply don’t see how to prove the statement false.

Now that you’ve experienced this first hand (if you didn’t, you’ve really wasted your time and short changed yourself but it’s not too late to go back to the top and start over), consider changing your requirements a little and helping a fellow human being out. They are, after all, testing your software–ya know?

(Oh, and if you want a lesson in variability, list to this. I like the UB 40 version better than the Elvis version.)

Alice in Windowsland

Is there any software that can introduce my children to programming and make it fun in the process?

A friend of mine sent me a link to Randy Pausch’s Last Lecture. I had heard about and have been meaning to watch it. Randy recently passed away from pancreatic cancer. Another friend of mine, Rob Butcher, was recently diagnosed with pancreatic cancer and it’s in his liver too. Please pray for him.

So, I watched the video with my family.

What a wonderful person Randy Pausch was. The world has a small whole in it from his passing I’m sure. After watching the video, I did some more reading about him and found his website at Carnegie Mellon University. From there I found a link to the Alice website.

Alice is a program that teaches software development principals to middle and high school students. In the software, you manipulate 3D objects by giving them programming instructions. It is event driven so you can tie functions to mouse and keyboard events. It is a very rich application and kind of fun to play way.

My daughter, Aleshia, took to it like a duck on water. She loves it. I’ve been trying to get her to play with programming a little and now I finally found something that she can learn in.

Give Alice a try even if you’re an adult. Oh, it’s free . . .