December 2006

Click “more” to see a list of all of the interesting web sites I found this week. I keep track of my favorite sites using, a free web site where you can access your favorite links from any computer and share them with friends. You can also see all of my favorite links (not just the ones from this week).


As I mentioned previously, I just upgraded to Office 2007, and because I switched to a different Office edition to save money, I no longer have a current copy of Microsoft Access. I have a handful of Access databases that I use in a couple of programming projects, so I needed to convert those to either SQL Server Express or MySQL.

I’ve been using MySQL for quite a while for PHP projects, but I’ve never used it for a .Net project. So I decided to try SQL Express first because the programs that use the Access databases are written in .Net. I also already had the VB and C# Express versions installed on my machine, so I figured they would work well together.

SQL Express installed just fine and everything seemed to be okay, but with the Express version you don’t get a copy of query analyzer and you get a super-stripped down version of enterprise manager. So stripped down, in fact, that it does not have import and export. What the heck? How are you supposed to get data in and out? Well, I thought I would get sneaky and use the SQL upsize feature built into Access. That seemed to work okay and for a while I thought everything was fine until I discovered that it had truncated a bunch of my long text fields at 257 characters. Not good at all. I tried various ways of doing the upsize from Access, but no matter what I did the values were still truncated. So I wrote a quick utility to read out the values from the Access database and make a bunch of SQL insert statements in a text file, and then I ran that and finally got all of my data loaded correctly. Then I tried some of my views in SQL Express to make sure everything was working, and I discovered that SQL 2005 no longer nicely handles views with an order by clause. When you open the view it just ignores the order by and returns the rows in a random order. There are apparently some workarounds for that, but I was starting to get really frustrated.

So I installed MySQL 5 (well, technically I just upgraded my previous install of MySQL 4). The installation went smoothly and everything seemed fine. I tried to run the MySQL migration toolkit that lets you pull in data from other sources, but it told me that I needed to update the Java runtime on my machine first, so I went ahead and did that. It took less than five minutes, including the download, and it didn’t even need a reboot, so no big deal. With the new Java runtime installed, it let me run the migration toolkit and then it was able to pull in my Access database, including the data, in about 15 seconds. And the data wasn’t truncated. And it played nicely with my views. That went so well, I decided to try switching my .Net programs over to the MySQL connector. I downloaded the connector, added it as a reference to the projects, and then did a fairly simple search and replace to swap the SQL Server objects out for the MySQL objects. And then it just flat out worked.

So what did I do next? I completely uninstalled SQL Express. How is it that two products from Microsoft can’t work together, but MySQL had no problems whatsoever pulling in data from Access? I don’t know the answer to that, but I do know that I’m using MySQL for all of my projects at home from now on.

In addition to my normal “interesting sites”, I always wanted to post a link to the Christmas story from the Gospel of Luke.

Click “more” to see a list of all of the interesting web sites I found this week. I keep track of my favorite sites using, a free web site where you can access your favorite links from any computer and share them with friends. You can also see all of my favorite links (not just the ones from this week).


Charis absolutely loves Pepperidge Farm cheddar goldfish. Whenever we go out shopping, she always gets a little plastic baggie of goldfish to keep her occupied. Since I like goldfish, too, I usually try to snag a few when she isn’t looking. Charis has noticed that over time, and now whenever she has goldfish she likes to feed a few of them to me. She’ll hold one out in her fingers and say dada and then I’m supposed to eat it (and she really likes it if I make munching sounds when I do). A couple of weeks ago, though, she started holding one out and saying dada and then pulling her hand back quickly when I try to eat it and eating it herself instead, which always makes her laugh hysterically. Crazy kid.

I love cookies, and Christmas is always a good time of year for cookie lovers. Joy made three different kinds this year, and all of them are great. She tried a new sugar cookie recipe from Alton Brown that turned out really well. She also made another recipe from him that’s a chocolate and crushed candy cane swirl something or other that’s very tasty. She made that one for the first time last year after I saw it on Good Eats and decided it looked really good. The third kind she made is a thumbprint cooke with pecans that somebody in our Sunday school class made a couple of years ago. So I have it very good around the house right now with lots of cookies to choose from.

I’m officially a thirysomething now since I turned 31 today. That seems so old! We had a fun birthday party with my parents and Matt and Ariana last night and then Joy had presents (including the first card that Charis ever colored for me herself!) and a delicious homemade giant cookie cake for me today.

“I thought Christmas Day would never come
But it’s here at last, so mom and dad, the waiting’s finally done
And you gotta get up, you gotta get up, you gotta get up
It’s Christmas morning”

(from the song “You Gotta Get Up” by Rich Mullins)

Joy’s grandmother passed away about a week and a half ago, and I just wanted to take a moment to acknowledge the life she lived. Though I did not know her well, I am so very blessed by her indirectly because of the way she loved and cared for my wife. She and Joy had a very close relationship that I know will be dearly missed. Granny had been struggling with MS for many years and was in declining health, put her passing was sudden and unexpected. Joy tells me that Christmas was Granny’s favorite time of year, and I know that it will be a blessing beyond measure for Granny to spend Christmas with Jesus in person this year after celebrating his birth during the holidays for so many years of her life.

After using Office 2000 for many, many years, I finally decided to move up to Office 2007. I used Office 2000 for so long largely because of the cost of upgrading, but with Office 2007 Microsoft is now offering the new Home and Student edition that can be used for non-commerercial purposes. It includes Word, Excel, Powerpoint and OneNote for $149, which is quite a good price compared to the regular versions (it would cost $329 to upgrade my copy of Office 2000 Professional to the 2007 version). Plus the Home and Student edition can be installed on up to 3 machines. The only thing I will really be missing from Office 2000 Professional is Access. I have a few Access databases that I’ve used as part of programming projects, but considering the cost savings, I plan to convert those to SQL Server Express or MySQL so that I don’t need Access at all.

Yes, I mowed the lawn today, over half way through December. We have a lawn service that fertilizes the lawn and puts down weed killer and stuff like that. In the summer I really appreciate their work because we have a nice green lawn with very few weeds. But in December when my lawn is still growing and I’m out there mowing a month and a half after all of my neighbors have stopped, I start wondering if maybe a couple of brown spots and a few weeds would really be such a bad thing after all. But the yard looks nice now, and if I’m lucky, we’ll get some nice cold weather around here and I won’t have to mow again until the spring.

Next Page »