Virtual CD-ROM

for Database-Backed Web Sites by Philip Greenspun
This server used to be for distributing NaviServer code. Then AOL bought NaviSoft and changed the program name to AOLserver. Then Macmillan demanded that I write a real dead trees book on Web publishing. So I'm turning this server into a distribution center for the source code that I describe in my book. Much of it is AOLserver Tcl, but some is just random Perl scripts for behind-the-site. Some is for Oracle WebServer.

Before diving into all of this crud, you might want to read the on-line edition of the book or maybe even buy a copy so that I can make $1.50. You might also want to arm yourself with some of the nerd books that I recommend.

A companion to my book

Chapters 1,2, and 3 are all just random flaming that I stuck in so that I wouldn't run afoul of my contract with Macmillan (calling for a minimum of 350 book pages). If I'd discovered the magic of screen shots sooner, I wouldn't have had to write this filler at all. Bottom line: no content, no code.

Chapter 4 is about building an image library and converting PhotoCDs to JPEG. If you want your site to look exactly like mine, you'll want to install Perl5 and ImageMagick, then run this Moby Perl script (a testament to the value of dating MIT women). You will need to write a description file and the program generates the images plus the following:

Chapter 5 talks about how AltaVista stops indexing when it sees a URL with a question mark. I did write an AOLserver Tcl script to make a bunch of database rows look like static HTML pages. You might also be interested in which shows you what users are actually typing (uncensored unlike some similar pages).

Chapter 6 is about running a Web server box. I offer the Uptime System which will test your server every 15 minutes for the rest of your life. Free. It will send you (or your pager) email if your server is down. If you're running AOLserver, then you'll probably enjoy this Tcl program that tells you how many people are connected to your machine.

Chapter 7 is about analyzing usage patterns. The most important link is probably to a service:

I should have a bunch of good Java applets to go with Chapter 8 ... but I don't.

Chapter 9 is about server-side scripting. The main example is the Bill Gates Personal Wealth Clock.

Chapters 10-13 are already on-line with their code fragments in place as part of the on-line edition. I distribute and demonstrate the mailing list system (the simplest possible introduction to db programming with AOLserver) and Threaded Discussions/Q&A forums from this machine. You may also want to play with RemindMe and the classified ads. If you are actually developing RDBMS/Web code, you must first set up a Web server talking to an RDBMS. You can do this by

One part of Chapter 14 talks about intelligently managing links by keeping them in a database. If you haven't done that, then at least you can/should run a spider against your site to see which of the links in the text have gone bad. There are a lot of such programs out there. If you are running AOLserver, you'll appreciate this link checker that I wrote with my friend Jin.

I'm still working on packaging code for Chapter 14.

Chapter 15 is just punditry.


All of the code on this server is copyright 1995-96 Philip Greenspun. It is distributed free to the Internet community under the terms of the GNU Public License.
Add a comment | Add a link