thunderguy.com

thunderguy.com is maintained by me, Bennett McElwee. As of January 2003, I have done all the design and development of the site.

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. There's an XHTML version of this page so you can see for yourself.)

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. The version I have is old but still powerful.

About this page

Valid XHTML 1.0!- Valid CSS!-

Microsoft Internet Explorer 6 for Windows does not correctly render all XHTML pages. [Details] In particular, including an XML declaration in a document causes IE to render the document in "Quirks" mode. In "Quirks" mode, this page looks really weird, so I have removed the XML declaration from all XHTML pages on this site, even though it should really be there. Oh well, as least the CSS is OK.