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.

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 . . .


My Microsoft SQL Server VIEW create statement has a TOP 100 PERCENT in the SELECT clause. Why would you use SELECT TOP 100 PERCENT in a SQL Server 2000 query?

A VIEW in Microsoft SQL Server will not allow you to have an ORDER BY statement. However, if you put a TOP 100 PERCENT in the SELECT statement, SQL Server will allow the ORDER BY.

Details can be found here:

I came across this while editing some VIEWS for a co-worker. He created the views using SQL Server’s visual tools. The tools automatically add this piece of code to the top of the CREATE statement for the views.

Files in Source Code Control

I’m using Visual Studio 2003 (2005, 2008)  and I’m not sure which files I should be putting under version control.

We are currently transitioning our source code control to SVN. As I’m moving files and checking things in I occasionally see a few files that I wonder if we should be versioning at all. So, I looked them up. Here’s what I found from this page.

You can add the following files to Visual Studio source control:

  • Solution files (*.sln).

  • Project files, for example, *.csproj, *.vbproj files.

  • Application configuration files, based on XML, used to control run-time behavior of a Visual Studio project.

Files that you cannot add to source control include the following:

  • Solution user option files (*.suo).

  • Project user option files, for example, *.csproj.user, *.vbproj.user files.

  • Web information files, for example, *.csproj.webinfo, *.vbproj.webinfo, that control the virtual root location of a Web project.

  • Build output files, for example, *.dll and *.exe files.

The main one that I see often is the .suo file. I’m going to kill those files in my SVN tree right now . . . 

Quick Database Table Tests

Sometimes, I need to quickly test things out in SQL Server with a table. Today, I had a question about a BIT field. I was wondering what would happen if I put the value of 2 in it in an INSERT statement. Remember, BIT columns can stored only the value o (zero) or 1 (one).

I had a feeling that it would result in a 1 value in the database without throwing an error. But, to prove my point, I did this little test:

INSERT @t (b) VALUES (0)
INSERT @t (b) VALUES (1)
INSERT @t (b) VALUES (2)

I didn’t have to create a new table in the system to test it. Instead, I used a TABLE variable. Using a TABLE variable is very convenient. The table goes away as soon as the script is complete and I get my results fast. Here were the results in case you’re curious:


Yep. Inserting that 2 just resulting in another 1.

So, next time you have a question about a value in the database and want to see for yourself exactly what the database will do, play around with the TABLE variable. It’s really easy to do.

Flush Print in SQL Server Query Analyzer

How do I write a message to the Message tab in SQL Server 2005 query analyzer? PRINT statements are all queued up and don’t show up until the entire script is printed. Is there a FLUSH statement of some sort to output the print queue?

There isn’t a flush statement. However, there is an alternative to PRINTing your messages. You can raise an error that isn’t really an error (code of 0) and you’ll get the same effect–your message will be printed immediately.

Here’s the statement:

RAISERROR('Hello World', 0, 1) WITH NOWAIT

Pretty soon, you’ll be raising fake errors all over the place and getting the results you want. Sure, it’s a hack but it works great.

Let me know if it works for you!