thunderguy.com

If this page looks weird to you, it's your browser's fault, not mine. Try the original version.

Technical information

thunderguy.com uses the following technologies.

Platforms

thunderguy.com sits on a Linux server running the Apache HTTP server. The main development language is PHP, which is extremely powerful and ridiculously rich in features.

The site is backed by a MySQL database. MySQL is excellent as far as it goes, but it has at least one glaring omission from the SQL-92 standard: sub-selects. This can frustrating, but can usually be worked around (often at the cost of creating a temporary table).

Languages

Most pages on thunderguy.com comply with the HTML 4.0 specification or the XHTML 1.0 specification. (Generally, the newer pages are XHTML.) I have used Cascading Stylesheets (both level 1 and level 2) as well, but such use isn't as pervasive as I would like due to the necessity of supporting old and/or buggy browsers. Netscape 4.x is probably the worst offender here; its support for CSS is spectacularly broken. If you're using that browser to read this site, it will probably look pretty bad, but you should at least be able to get at all the content.

(The XHTML pages do have one omission: I have removed the <?xml bit from the beginning of each XHTML file. Unfortunately, Windows Internet Explorer 6 fails to display some of the pages properly unless I do this. This page has the <?xml bit left in for comparison with the original version of this page.)

There is also some use of Javascript on thunderguy.com to enable some Dynamic HTML effects. Again, for maximum compatibility, such use of DHTML has been kept to a minimum.

Some parts of thunderguy.com are accessible from mobile phones. These comply with the WAP 1.1 family of specifications, available from the WAP Forum. (At August 2002, the WAP Forum seems to be in the process of transmogrifying into the Open Mobile Alliance.)

I do not recommend using the WAP 1.x protocols if you can help it. Despite superficial similarities, WML is very different from HTML, especially the interaction between markup (WML) and scripting (WMLScript). WML/WMLScript implements overly complex solutions to short-term problems relating to bandwidth and processing power; as a result, developers have to battle both complex language semantics and buggy browser implementations. And the specifications are not well-written. And they're available only in PDF format, which is clumsy for reading on-screen.

Having said all that, the WAP 2.0 specifications are much better. But the W3C specifications are still vastly superior.

Tools

All text editing during development and maintenance of thunderguy.com is done with BBEdit, the best text editing program for Mac OS. There is no Java or C++ code running on thunderguy.com, but when such code needs to be written, I use CodeWarrior (by Metrowerks). The version I have is old but still powerful.

Update (July 2020) The above is mostly out of date but may hold some historical interest. Metrowerks is long gone but CodeWarrior is still going, albeit for different platforms.

About this page

Valid XHTML 1.0!- Valid CSS!-