LiquidTheater Web Technology

written by Mike Shea on 19 March 2000

You can view a current to do list for the site and the daily site statistics. This site was designed, built and hosted using all open source tools. The site uses the highly popular open source server side scripting language, PHP for all the dynamic pages. The back end database is built using the open source database server, MySQL. this is a powerful RDBMS that is just about brothers with PHP. The whole site runs from an Apache web server on a FreeBSD box hosted with Pair.Com. Read more about their network and servers. The box itself is a Pentium III 667 Mhz with 256Mb of RAM with the database running off of a Celeron 500 Mhz also with 256Mb RAM.

A prototype mirror of this system runs out of my apartment on a Redhat 6.1 box. This runs the same architecture as the production server, with Apache, MySQL and PHP doing all the real work. Bandwith is provided by the evil entities at Comcast. Any new code or database changes are tested here first for a while before they are moved to the live server.

The site was designed as a home theater collaborative web site. I took a lot of my ideas from Slashdot but also a lot from Phillip Greenspun's Web Tools Review and his online book, Phillip and Alex's Guide to Web Publishing (previously How to be a Web Whore Just Like Me). His tools don't quite match up with my philosophies, but they are still very well proven (AOLServer and Oracle).

The site itself was strictly written around the W3C XHTML 1.0 Document Type Definition. It was designed around the web usability teachings of Jakob Neilson. Some of his best works can be found on his site, Useit.Com, but are also available in the book Designing Web Usability.

The search engine is powered by the folks at Atomz.com. They offer a nice free full text engine for sites of 500 pages or less. It beats the heck out of my crappy SQL based search engine.

There is now a LiquidTheater XML RSS file available for passing the latest headlines of LiquidTheater.Com. Just point your friendly RSS parser at http://www.liquidtheater.com/liquidtheater_rss.php3 This will give you dynamic access to the latest content on this site. For more information about RSS, see this O'Reilly article on RSS and this RSS tutorial from XMLTree.com. If you wish to just get a simple HTML version of the latest headlines, you can get an HTML version of the latest Liquidtheater headlines using my simple RSS parser.

So that covers much of the technology and philosophies behind the current design of LiquidTheater.Com. If you have any questions feel free to email me or post a message on the forum.

Recommended Reading

User Comments

From: Mike ( mshea@liquidtheater.com ) on 17 April 2000

Subject: Splitting RDBMS hairs

I think we are just splitting hairs here. Maybe I am just an idiot, but the term RDBMS does not have to include all the elements of the ACID test. It does need to provide a place to put data (database), link tables through foreign key pairs (relational) and manage all of this using a SQL interface (management system). Sure, under my definition, RDBMS does include crappy MS Access, but christ, they have "RDBMS" printed on the box and no one has sued them yet. I may be an outsider to the cool 20 year veteran DBAs but I still think MySQL is an RDBMS. Sue me.

From: Wildtech ( jshofnee@yahoo.com ) on 17 April 2000

Subject: Acid

Uh the guy is just saying don't call it a RDBMS if it isn't one. It is obvious that you know it isn't technicaly an full fledge RDBMS. . .Just because you link a couple tables doesn't make the structure of the database Mgt. system itself different. . .

From: Mike ( mshea@liquidtheater.com ) on 16 April 2000

Subject: MySQL as an RDBMS

I am not going to get into a fight about whether MySQL is or is not an RDBMS on a home theater site. In my mind, RDBMS is a Relational Database Management System (duh!) so any system that can take a bunch of tables, relate them to one another, and manage them fits. If you are talking about a full out system that can perform all functions of the ACID test (atomicity, consistancy, isolation and durability) than no, MySQL doesn't hit them all (namly outer joins and transactions aren't supported). I picked MySQL because it is cheap (free), easy and supported widly by the web service providers (like Pair.com). There are very few providers that support PostgreSQL and almost none that support Oracle, so I am stuck with what I can get. Frankly, MySQL does quite a job and beats the hell out of Access, which the site used to be built on.

From: Don Baccus ( dhogaza@pacifier.com ) on 16 April 2000

Subject: MySQL is not an RDBMS

'nuff said. If you don't understand what an RDBMS is, don't use the term.

(MySQL is fine for non-critical sites like yours, but not for mission-critical data, including anything with financial implications)

From: Mike ( mshea@liquidtheater.com ) on 13 April 2000

Subject: domain back up

Yep, after a long wait, the domain to Liquidtheater.com is finally back up and switched over to the new provider. Let me know if you find anything strange with the configuration!

From: Mike ( mshea@liquidtheater.com ) on 2 April 2000

Subject: LiquidTheater on a Palm

All the kinks have been worked out on the portable version of LiquidTheater. I have actually tested it on a Palm V using AvantGo and it worked fine. Just set up a custom channel, tell it to go 2 links down, no images and no outside links. The URL is http://216.92.187.109/portable.php3 (until the domain is transferred, then it will be http://www.liquidtheater.com/portable.php3). Let me know how successful you are or if you have any suggestions.

From: Mike ( mshea@liquidtheater.com ) on 30 March 2000

Subject: Deprecating tags in XHTML 1.0

Man, the deprecated tags in XHTML 1.0 are killing me. Not only is my center tag gone but they messed up the input tag so now you have to use both "name" and "id" to identify an input type. I didn't even know until I tried my site with Mozilla. It is very strict with the various DTDs you supply, so if you say you are XHTML 1.0 compliant, it is damn well going to beat you with it.


I did get some cool use out of the a:hover CSS tag. It lets me highlight hyperlinks with different text and background colors. Good usability increase with no evil code. It only works in Mozilla and IE 4.0+ but it still is cool. Still learning these crazy stylesheets.


Now Mozilla is doing some crazy stripping of tags if it loads up any text into a box which means I can't edit documents containing HTML with it. Not sure if this is a bug or part of the spec, but it sucks either way.


Netscape is supposed to release Netscape 6.0 (ie, Mozilla) on Tuesday, April 4th.

User Submitted Links

This work is licensed under a Creative Commons License. You are free to copy, distribute, display, and make derivative works under the conditions that you give the original author credit and you not use this work for commercial purposes.