# Friday, April 18, 2008
I woke up this morning at 4:37 AM to the sound of my wife screaming "Drew! Something... DREW EARTHQUAKE!!!!" I awoke to what sounded like peals of thunder outside and my bed bumping around like a washing machine who's spin cycle is out of balance.

Amy was beside herself not knowing whether to grab Micah from his bed or run downstairs and wake the children before they were crushed. In my soberminded 4:30 AM way, (aren't all fathers soberminded at 4:30 AM in the middle of their first earthquake?), I encouraged her to wait and not wake anyone just yet as it seemed things were settling down and not getting worse. She paused and indeed it seemed things were slowing down. In a few more seconds everything was still again. I layed down while Amy stood guard for another minute or two. When she laid down I suggested that maybe it would be a good school project for us to study earthquakes and figure out what in the world we were supposed to do next time if it were worse.

For those who are wondering, it felt like everything below the first 10 feet of soil was moving about 30 MPH as we just bounced around on top of it while it went by.

This morning the first thing I did was go to Google news to see just how big a quake that was and if it even made the headlines. I'm from Texas and have never experienced anything like that before, so I really didn't know how big it was. Sure enough it was the second article on the front page: "5.2 Earthquake rocks large region of Midwest".

I wonder what Amy's parent's will think if this happens again next week? :-)


posted on Friday, April 18, 2008 11:19:25 AM (Central Daylight Time, UTC-05:00)  #    Comments [0]
# Saturday, August 25, 2007
Tonight we upgraded our web and mail servers. What was supposed to be a simple, fairly mundane task, turned out to be hours of beatting my head against to wall without a clue what was going on.

In the recent past we had our server blow a gasket and disappear from the Internet. Josh frantically scrambled to put together a new machine and successfully had us back online in less than 12 hours. However, that machine just wasn’t trustworthy enough to leave online for long. So, we bought new web servers and got them ready to go online tonight.

We run SmarterMail, from SmarterTools as our mail server at iknowit.com and resonantmedia.com. So, when the server went offline the first time Josh did some research and found a link that gives simple and easy directions for migrating an existing SmarterMail setup to a new machine. Nice! It worked like a champ and we had the mail setup in no time at all. So, tonight, when it was time to migrate mail to the new server, I opened up the page, followed the directions, changed the firewall settings to the new box and... sat and stared as my mail client couldn’t find the mail server.

Huh? No way.

So, we dug deeper. Josh found this error in the SmarterMail logs:

The requested address is not valid in its context
   at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.Sockets.Socket.Bind(EndPoint localEP)
   at TcpServerLib.Pooled.PooledTcpServer.StartListening(IPEndPoint ipEndPoint)


Hmmm.

I checked the Windows Firewall settings. Not a problem. Then I looked at the ports that were being monitored. Uh oh. Although the SmarterMail service was running, ports 25 and 110 were not being monitored. Odd.

After hours and hours of research nothing proved to be helpful. Josh went to bed.

Finally, I found this link on the SmarterMail sight that gave enough of a clue to figure out what was going on.

Turns out the entire problem boiled down to IP address problems with our existing domains. Since I imported the domains from another box, their IP addresses were already set to the IP address of the old mail server. So, after I edited the settings of each domain and set the IP address to the IP address of the new server, I checked the ports being monitored on the server and walla! We are back in business.

(BTW, the reason this was not an issue when we restored our mail server after the crash is because the new server replaced the old server and got the same IP address that had been used before.)

So, if you’re having problems getting SmarterMail to run on a new server and you copied your settings from a previously working server, go through each domain and insure that they all have the proper IP address setup.


Have a blessed day.

posted on Saturday, August 25, 2007 1:02:24 AM (Central Daylight Time, UTC-05:00)  #    Comments [3]
# Friday, June 29, 2007
    Three days ago my machine hung. I still don't know why. I had been away for a while, came back, moved the mouse... hang! Oh bummer. So, my only choice was to hard boot it. I really hate to do this, especially when I have an active development environment open and a Parallels session running. Nonetheless, it was my only option.

When I started Parallels after the reboot Windows dropped into disk check mode to make sure all systems were go; they were not. The Windows disk scan started spitting out all kinds of corrupted, orphaned, lost filenames, but after a while it said it had everything repaired and booted into the Windows desktop. After poking around a little everything appeared to be OK. Nothing lost. Nice. However, when I opened Visual Studio and tried to login to the Web Application I was working on, the login failed.

Argh! I was *just* working on this application yesterday without problems. <sigh> Something obviously went wrong on that hard reset. It took a whole day to figure out, but I finally realized that my SQL Server setup wasn't working properly. When I opened SQL Enterprise Manager, right clicked a table and selected "Display All" or "Display Top..." it would chug for a bit then pop up an error message that simply read "Unknown Error." Nice. I'd like to give a gold star to the guy that wrote that error dialog.

I tried everything I could think of to get SQL Server to work again. even replaced my virtual C drive with a back up virtual C drive from several months ago. When I did that it worked, but the back up drive was too old to utilize, so I had to revert back to the drive that was giving me troubles. However, with this new knowledge that the DB was not corrupt and SQL Server would work under the right conditions I pressed on. I twiddled the registry. I uninstalled and reinstalled SQL Server 2000 (twice). Still, nothing worked. Same error.

After much poking around on the Internet I finally came across this post. Down near the bottom Fotis Tsitsirigos writes "I had the same problem. The solution was to run the Norton Win Doctor. It found some kind of error in the registry, regarding the "msadce.dll" and fixed. Since then, everything works fine." Ah hah! So, I searched around a bit for how to "fix msadce.dll", but again, no success. Finally, I took Fotis' advice, went to Symantec and bought System Works, which includes WinDoctor.

Once I got everything installed, ran WinDoctor and let it fix the problems it ran across... Walla! SQL Server Manager is working again! Praise the Lord and Thank you Fotis Tsitsirigos!

Can't say this will work for everyone who gets the "Unkown Error" dialog, but it worked for Fotis and me!

Have a blessed day.

posted on Friday, June 29, 2007 4:43:19 PM (Central Daylight Time, UTC-05:00)  #    Comments [0]
# Tuesday, April 03, 2007
I'm a recent Mac convert, but that's a different story I'll tell another time.

What's important is that I am able to do my job, which is to write Windows software, on the Macintosh. I can do this because of an incredible application called Parallels. Parallels allows me to run Windows on my Mac, but better yet when run in Coherence mode Windows applications run seemlessly along side Mac applications as if the Mac were able to run Windows apps out of the box. It is truly an amazing thing to see.

I've been running in Coherence mode since one of the beta releases of Parallels and quite frankly have become adicted to it. I didn't realize how badly until it quit working one day. All of a sudden I started getting an error dialog in Parallels each time I would try to start it in Coherence mode.



I tried everything I could think of to get it working. I even posted a case on in the forums at Parallels to see if anyone else has had this problem. However, I got no response. So, since I had gotten so used to running in Coherence mode it just about drove me bonkers to run in "Full Screen" or "OS Window" modes. So, I kept trying to figure out what was going on.

Once day I got a core dump in Windows. You know, the BSOD, Blue Screen of Death. When that happened I took the time to investigate it a little and noticed that it was my video driver. Hmmmmm... So, as one of my last ditch efforts I tried reinstalling the Parallels Tools in Windows from the ISO image that ships with Parallels in hopes that it would reinstall the video driver and perhaps fix Coherence mode. Sure enough, after reinstalling the Parallels Tools... Walla! Coherence mode worked again! Praise the Lord! Thank you Jesus!

So, in an effort to share my joy, I wanted to post my results here in hopes that it helps someone else. Below are the steps I took to reinstall the Parallels Tools in Windows.

How to reinstall the  Parallels Tools in Windows:
  1. On the Parallels menu select Devices -> CD/DVD-ROM 1 (or whatever the CD option is on your machine) -> Connect Image
  2. Locate the file called "vmtools.iso" It should be located in the "Macintosh HD\Library\Parallels\Tools" directory.
  3. Select the "vmtools.iso" file and press the "Open" button. This should cause the Parallels Tools installer to start automatically.
  4. Follow the instructions given in the setup dialogs for Parallels Tools.
  5. When the install is complete, restart Windows.
  6. You should now be able to run in Coherence mode again.
I hope this has been helpful. Have a blessed day.

posted on Tuesday, April 03, 2007 8:19:11 AM (Central Daylight Time, UTC-05:00)  #    Comments [2]
# Friday, February 23, 2007
I don't know why, but I thought Bob Parson's was a Christian. It must have been the fact that Parsons Technology marketed QuickVerse, among other Christian software. So, when I found out a couple of years ago that GoDaddy.com was owned by Bob Parsons, I was down right excited. Not only was GoDaddy.com a top-notch company, but there was a solid man of integrity at the wheel... or so it seemed.

Not long after I transferred my first domain over to GoDaddy.com I started to suspect that my first impressions of Bob Parsons were wrong. I began to see conscious decision on GoDaddy.com's part to use women in most of their advertisments and site design. I'm ashamed to say I turned a blind eye to that and have supported GoDaddy.com for several years now with about a dozen domains that are registered there. I've even recommended the company to others, but not any more.

In an email I got today from GoDaddy.com I read about their latest TV commercials. So I clicked on the link to to see, only to hastily scramble for the close button on my browser when I realized they are completely inappropriate and defilling. DO NOT go check them out for yourself. You can get all the information you need by reading Bob's personal blog.

So, I've learned my lesson. I won't turn a blind eye any longer. I don't want any of my domains associated with an organization who blatantly promotes the filth that GoDaddy.com peddles. I'm not exactly sure where to go, but I'm looking and once I find a registrar with integrity, morals and high standards I'll gladly pay 3 times the cost if I have to to support them. So if you know of such a registrar, please let me know. I'm interested.

With that, bye, bye Bob. I'm taking my business elsewhere... and if you by chance run across this low-traffic, low-profile blog, please take the time to read this. My prayer is that reading it will truly change your life... forever.

posted on Friday, February 23, 2007 11:24:31 PM (Central Standard Time, UTC-06:00)  #    Comments [2]
# Thursday, January 11, 2007

For months I have been struggling with a very strange issue where my Internet Explorer caption bar gets filled with garbage (e.g. ??????????????????4???????) . I have not been able to find any help on the Internet so wanted to post my findings here.

The issue pops up randomly and seems to be unrelated to anything I've done recently on the machine. The symptoms are that the Caption / Title bar of Internet Explorer (IE) display garbage for every web page opened and IE crashes when I attempt to close the browser.

Today it happened again, so once again I tried to get the problem resolved. In the past I have always just gone to a System Restore point a day or so in the past and that fixed it. So, I thought it was relate to automatic updates in Windows. However, when I went to restore today I found that I did not have any system restore points, but that's a different issue related to a recent computer tragedy I had.

So, without having system restore to fall back on I had to find more clues as to what was going on. After some investigation and experimenting I discovered that removing the Google Toolbar corrected the problem. Just to confirm I reinstalled the Google Toolbar and the problem re-occurred. See the screen shots below for examples of what I'm talking about.

Before Google Toolbar:

After installing Google Toolbar:

Exception raised when trying to close IE after Google Toolbar installed:

So, since this has driven me nuts in the last 4-6 months I really wanted to get something out there that might help someone else.

Have a blessed day.

posted on Thursday, January 11, 2007 1:22:18 PM (Central Standard Time, UTC-06:00)  #    Comments [0]
# Friday, December 22, 2006

I use Windows XP for my development machine. I also work on two web applications that both want to be the default web site and will not run in a virtual directory. Therefore, I find that I’m always switching back and forth between these websites in IIS. So, today I went looking for a better solution and found this:

XP Pro IIS Admin
http://jetstat.com/iisadmin/

I’ve installed it on my machine and am pleased. To the best of my knowledge this is truly a free utility and not spyware, but I don’t know that for a fact. I hope you find it useful.

posted on Friday, December 22, 2006 9:59:16 AM (Central Standard Time, UTC-06:00)  #    Comments [1]
# Wednesday, November 22, 2006

The Journey is Its Own RewardI read a very interesting post on Brydon's blog this morning. His post addresses an aspect of business that is very near to my heart. That is: life. When I graduated from high school and began working fulltime, one of the first reality checks I had was that there are no more summer vacations. It had never really occurred to me before my first real job that once you're out of school you don't get any significant time off. The second big reality check for me was the realization that I never was "going to arrive."

What I mean is this; without consciously thinking about it, I was always working toward sometime in the future when I wouldn't have to work again. My guess is most people are that way. Some may not even realize it until it's too late, but for most of us, we’re not going to ever “arrive.” For us, the journey is it’s own reward.

I realized this one beautiful spring evening as I drove home from work. The sun was just starting to cast late afternoon shadows and the temperature was perfect. As I drove home with my windows down I passed through what is known as restaurant corridor. The smell of various foods cooking all blended together with the perfect temperature and gorgeous sunset to provide one of those perfect moments. I immediately started dreaming of how nice it was going to be when I could experience this all the time.

That's when it hit me. This was a moment, not a lifestyle. The Lord gives you moments in life that are to be treasured. Instead of always looking for that time in the future when life will be perfect, I realized that I need to treasure 30 seconds here, 5 minutes there, whenever they come.

Work is like this. Unfortunately, no matter how much you like your job, for most people it is just that; a job. Either outwardly or secretly they’re looking for that time when they can do what they really want to do.

For instance, I *love* to write code. I still sit back sometimes and think "I can't believe I get paid to do this." On the other hand, there are many days I hate what I do. It's monotonous. It's frustrating. It sucks the life right out of me. On those days I want to quite and do something else. That's why I love Brydon's article so much. It addresses this reality of work being part of life.

Everybody needs change at some time. It doesn't matter how comfortable a chair is, you've got to get up and stretch after a while. It doesn't matter how much you like to sleep, you're going to get sore after being the bed for too long. Work is the same way. No matter how much you love what you do, you just need to give your brain a break sometime and do something different.

I really hope I can create an environment for the people who work with me that is like this. Whether it is my family in our home based business or others who come to work with us; I want to be able to provide an environment that breathes life into people not suck it right out of them.

Furthermore, I want to figure out how to extend this concept to our family. Surely there is a lesson to be learned here about encouraging our children to get the most out of life while at the same time being the most productive and helpful that they can be in their daily lives.

Thanks for the article Brydon. You've motivated me.

posted on Wednesday, November 22, 2006 12:12:52 PM (Central Standard Time, UTC-06:00)  #    Comments [1]
# Monday, November 13, 2006

This evening I was going to do something very simple: bind a couple of columns in a DataRow to a Repeater control on one of my ASP.NET pages. I coded everything straight through and compiled without thinking much about it. However, to my surprise I got a runtime error when I opened the page with the control on it. Much more to my surprise the error was stating that a column the DataRow I had bound to did not exist. Problem is, the column did exist and was spelled exactly like the column being reported as an error.

DataBinder.Eval: 'System.Data.DataRow' does not contain a property with the name dtCommentDate.

I looked at the documentation for DataBinder and it looked just like mine. My code looked like this:

<asp:repeater id="_rptComments" Runat="server">
   <ItemTemplate>
      <asp:Label ID="_lblDate" Runat="server">
         <%# DataBinder.Eval(CType(Container.DataItem, System.Data.DataRow), "dtCommentDate")%>
      </asp:Label>
   </ItemTemplate>
</asp:repeater>

which matched what the documentation said exactly. So, I beat my head against a wall for an hour or so trying to figure out exactly what was wrong.

After spending much time tweaking the syntax, getting some things to work, finding most failed, I noticed something about the above error that I had not caught my eye until this point. That is the word "property." I had assumed that the DataBinder.Eval() call was attempting to bind against a column or Item or something that used the "dtCommentDate" as a key. However, this error is telling me that "dtCommentDate" is being bound directly to the DataRow object as a property accessor. With this in mind I tried one last syntactical change:

<asp:repeater id="_rptComments" Runat="server">
   <ItemTemplate>
      <asp:Label ID="_lblDate" Runat="server">
         <%# DataBinder.Eval(CType(Container.DataItem, System.Data.DataRow), "(dtCommentDate)")%>
      </asp:Label>
   </ItemTemplate>
</asp:repeater>

Notice the parenthesis that surround the dtCommentDate. Since the contents of the second parameter are directly bound to the DataItem object, in this case that means that the Item accessor syntax of the parenthesis is necessary.

In my looking around the Internet for a solution to my problem I did not find an example like this so I wanted to post it here in hopes that it will help someone else.

posted on Monday, November 13, 2006 10:31:15 PM (Central Standard Time, UTC-06:00)  #    Comments [3]
# Friday, October 27, 2006

Today I didn't bill for my time. I couldn't. I finally hit the wall on hard drive space; a problem I've been ignoring for way too long.

Don't get me wrong, I'm not completely irresponsible on this front. I do run backup software and keep an up-to-the-hour image of everything that happens on my drive each day. The problem I'm talking about has more to do with the shear volume of digital stuff we keep these days. Mail, pictures, music, documents, code, notes, recipes you name it, seems like everything we do these days is stored digitally and the delima of what to do with it all is catching up with me.

On our last trip to Canada my children averaged 1 GB pictures per week. In and of itself that's not too much data, but what do you do with years of this stuff? I'm putting the temporary solution in place today: 400 GB drives installed in a Windows 2000 machine mirrored as one drive. In theory this should give me roughly 400 GB of storage with a redundant, always up-to-date, backup. However, we lost two drives in one machine last summer due to a power surge. Hmmmm... it's on a UPS now, but... still makes we wonder. So, my plan is to add one more 400 GB external drive via USB 2.0 and back up my storage drive at least once a week. I figure that's the best I can do, at least in my price range.

However, all of this still does not solve the long term problem; it just delays it. Whether it's a year from now or five years from now we are eventually going to run out of space on this 400 GB drive. Then what? Hopefully there will be larger drives at an affordable price, but this all seems somewhat absurd, not to mention volitile.

Thus the delima: how do we cope in a digital world? What are the right solutions? What are the wrong solutions? What do we do with all this digital stuff?

posted on Friday, October 27, 2006 3:37:45 PM (Central Daylight Time, UTC-05:00)  #    Comments [0]