I Just Upgraded This Website Again

 

In my blog, I Just Upgraded This Website, I wrote the following:

The only functionality that has gotten worse is the mortgage amortization calculator on the home page. It used to run just fine when I hosted my site at http://holm.ru  but gave less accurate results when I moved it to my Windows 98 system. The results are even worse now!  I wrote this calculator in JavaScript, so I thought it had something to do with the JavaScript engine on Windows 98, but now I don't know what to think. Rather then troubleshoot this, I'll probably replace my JavaScript code with a Java applet (and just download one off of the Internet). If somebody else's Java applet doesn't give me good results, I'll probably break down and write my own Java applet.

Well, I went the Java applet route. I tried downloading an applet from the Internet, but it didn't work too well, either. So I replaced all the calculation code and modified the graphics.  The mortgage calculator on my home page is the result of all of that. Everything else on my page already was working just fine, so this web server migration was pretty easy. ...but I rapidly found myself wanting more. I found the solution to my new needs and desires was an upgrade to a newer version of Windows and therefore a newer version of the Internet Information Server.

I bought myself a new PC, using an AMD Quadcore processor; 3.1 GHz per core. My PC shipped with 6 GBytes of memory but is expandable to 16 GBytes. This new PC, (my wife named her Serval - she's my server and she's a fast cat) has plenty of horsepower and can support the type of web server I had in mind. Serval is running Windows 7 and IIS 7.5. I found out that migrating from IIS 5.1 (on Caprica) to to IIS 7.5 (on Serval) was a lot more work then migrating from PWS (on Lorraine) to IIS 5.1 (on Caprica).  I expected this because IIS 7.5 is a very different kind of server; it's a concurrent server, whereas II 5.1 keeps an array of 10 socket handles that clients can talk to. Unfortunately for IIS 5.1 this means that once you have 10 users talking to your server, you can't accept anymore clients. IIS 7.5 uses an http stack; http.sys. You keep pushing new socket handles on the stack after a client connect; there's no limit to the number of clients you can support  (unless you consider that any computer only has a finite amount of resources).

What I didn't expect was the applications I use on my website required modifications, too. E.g., I just got my guestbook working. Caprica is a 32 bit system and the version of MS access on her creates 32 bit databases. Serval is 64 bit and her version of Access creates 64 bit databases. The version of ODBC on Serval also expects 64 bit databases (using 64 bit drivers), so Microsoft was nice enough to create a 32 bit ODBC that you can invoke by hand, and put 32 bit versions of Access on it. However, the Perl scripts I wrote for managing the databases are also expecting a 64 bit stream, and won't accept my 32 bit data. Seemed like a horrible dilema.

Fortunately Access 2010 will let you open a 32 bit *.mdb file and save it as a 64 bit *.accdb file (the new 64 bit format of Access).  After this data transduction I was able to load the *.accdb files into ODBC and my Perl scripts could work with them. In other words, my guestbook now works (I haven't checked out my Timeshare stuff, yet, but I've exported the data to *.accdb format). This is a pretty simple solution, but I mention it because when I first researched this problem I saw scads of posts about this issue on the Internet, and all the posts gave horribly complicated solutions that don't work. 

Back To My Blog Page