This blog youre reading under my new domain name sixthhappiness.ca is hosted at my ISP Shaw Cable. I like not having to worry about availability myself, especially for my new web site for MyJazzBand. But Id also like to run my own Linux server at home at the same time, because (1) web hosting at my ISP provides very few features (it doesnt give you a Unix account, e.g.), and (2) the bandwidth limit for the web space is much less than my up/downstream transfer quota. Since my Linux servers IP address is assigned dynamically, I need to use a Dynamic DNS so people can address it by a (symbolic) Internet host name.
The whole thing is really quite easy to set up. Heres what I did. First I have to make sure that my Linux server is indeed being assigned an IP address dynamically (by DHCP, from my ISP). Then, I signed up with
DynDNS.org and add a dynamic DNS entry through their web interface. On the server I set up a dynamic DNS update client to run as daemon, and I made sure its started at boot time. Thats all one needs to do! Heres
a test page on my server.
A few more details. Therere a number of update clients one can use on Linux. I use one called
INADYN. Its the one listed at DynDNS.org with highest user ranking that includes source code. It was quite easy to use. Adding INADYN as a system service to
/etc/init.d on the server is also interesting. The Fedora distribution uses
chkconfig, which means the start/stop script needs to include a couple of comments to be compatible with
chkconfig and the GUI configuration program
system-config-services. Anyway this information is readily available from man pages. Of course it also helps to look at existing scripts for other system services.
Its occurred to me that I should test my
MyJazzBand page with difference browsers to make sure they display it properly. To my dismay, I found that Internet Explorer 5 and 6 really messed up its layout. What was I doing wrong? Then I looked around a little on the Internet and found loads of websites with IE5 and IE6 CSS bug lists. Oh. Spent the rest of the day fixing and testing my CSS code. Now my page (link above) works with all the web browsers I can test them on.
I wont go into the details of the bugs I fixed. Since therere so many bugs, Im almost certain youll encounter different ones. I fixed a problem related to inaccuracy of measurements, one related to displaying a background image at the bottom of BODY, and one related to quirk mode which IE6 will enter if the proper DOCTYPE is not given. Anyway in a case like this Google is your friend.
The lesson Ive learned today is if Im to design a web page with CSS again, Ill start testing earlier on with different browsers while I was trying out different design elements and while my test pages were simpler.
I've finally finished polishing
the web site Ive been creating for MyJazzBand. Ive combined many of the things I learned about CSS and spent lots of time revising the user manual, preparing screen shots, and generally making the thing look right. I suppose its quite easy to throw together a few web pages and a user manual but getting it to a quality one can be happy with still takes a little hard work.
A new trick I learned is to make browsers open a new window to display the online manual with JavaScript. MyJazzBands HTML manual
was constructed in such a way that it can be used both as an online manual and an Apple help book. The JavaScript code also opens a the window of about the same size as the one used by Apple Help. In any case the code can be examined by viewing the source of
the MyJazzBand index page.