El Goorf, looks like single qoutes aren't escaped...
I got exactly the same when I tried to put in "Jess Telford's", it doesn't like the single quote.
[EDIT]
Alright, here's my comments.
First up, fix the HTML errors.
Here they are:
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 9 column 1 - Warning: <link> isn't allowed in <body> elements
line 17 column 254 - Warning: unescaped & or unknown entity "&collapse"
line 24 column 205 - Warning: unescaped & or unknown entity "&collapse"
line 61 column 69 - Warning: unescaped & or unknown entity "&cat_ID"
line 62 column 90 - Warning: unescaped & or unknown entity "&cat_ID"
line 63 column 63 - Warning: unescaped & or unknown entity "&cat_ID"
line 64 column 63 - Warning: unescaped & or unknown entity "&cat_ID"
line 65 column 63 - Warning: unescaped & or unknown entity "&cat_ID"
line 66 column 63 - Warning: unescaped & or unknown entity "&cat_ID"
line 67 column 63 - Warning: unescaped & or unknown entity "&cat_ID"
line 77 column 157 - Warning: unescaped & or unknown entity "&r"
line 92 column 157 - Warning: unescaped & or unknown entity "&r"
line 17 column 318 - Warning: <img> lacks "alt" attribute
line 23 column 8 - Warning: <td> attribute "width" has invalid value "2px"
line 23 column 8 - Warning: <td> proprietary attribute "background"
line 24 column 269 - Warning: <img> lacks "alt" attribute
line 26 column 8 - Warning: <td> attribute "height" has invalid value "37px"
line 26 column 8 - Warning: <td> proprietary attribute "background"
line 29 column 8 - Warning: <td> proprietary attribute "background"
line 60 column 37 - Warning: <img> lacks "alt" attribute
line 61 column 10 - Warning: <img> lacks "alt" attribute
line 62 column 31 - Warning: <img> lacks "alt" attribute
line 63 column 4 - Warning: <img> lacks "alt" attribute
line 64 column 4 - Warning: <img> lacks "alt" attribute
line 65 column 4 - Warning: <img> lacks "alt" attribute
line 66 column 4 - Warning: <img> lacks "alt" attribute
line 67 column 4 - Warning: <img> lacks "alt" attribute
line 77 column 98 - Warning: <img> proprietary attribute "onload"
line 77 column 98 - Warning: <img> lacks "alt" attribute
line 92 column 98 - Warning: <img> proprietary attribute "onload"
line 92 column 98 - Warning: <img> lacks "alt" attribute
0 errors / 32 warnings
Next, I gotta agree that there's too much Javascript.
Like Nick said, the 'onload' for the image resizing is overkill and pointless. If you want it a certain size, use CSS or the width and height attributes of the img tag.
Also, the "Code Examples" category is redundant as that can come under "Tutorials".
And btw Chris Franklin, the 'Code Examples' category is (I imagine) set up for links to sites that are entirely for code snippets, not actually for code snippets!
If you keep the CT bar at the top, can I ask that it's 'minimized' by default? If you're not too happy with that, put in a 'Coders Turf' (non-underlined) text-link next to the 'maximize' arrow.
To make the URLs SE compatible (which, after all, this site is all about getting visitors through to our sites, isn't it?), then you can use .htaccess.
First up, you want to check that the incoming link is in the right format before we try to redirect it:
# Ensure a valid URL is entered
RewriteCond $1 ^cat/([0-9])
Then, you want to redirect (internally) the URL so that it corresponds to your QUERY_STRING setup:
# Rewrite the URL internally (so, don't change what the Browser is pointing at)
# Do this by replacing anything that is in the directory part of the URL with the desired query string
# the %1 is a back-reference to the previous RewriteCond RegEx in braces ()
# the ? at the end tells mod_rewrite to not re-append any query string
# finally, the 'NC' means 'Case insensitive', and the 'L' means, after executing this command, mod_rewrite should stop reading the .htaccess file
RewriteRule (.*) ?view=cat&cat_ID=%1? [NC,L]
So, all up, you'd have:
# Ensure a valid URL is entered
RewriteCond $1 ^cat/([0-9])
# Rewrite the URL internally (so, don't change what the Browser is pointing at)
# Do this by replacing anything that is in the directory part of the URL with the desired query string
# the %1 is a back-reference to the previous RewriteCond RegEx in braces ()
# the ? at the end tells mod_rewrite to not re-append any query string
# finally, the 'NC' means 'Case insensitive', and the 'L' means, after executing this command, mod_rewrite should stop reading the .htaccess file
RewriteRule (.*) ?view=cat&cat_ID=%1? [NC,L]
Gives you a nice clean URL like:
www.tgcwebring.info/cat/1
The problem then is that this /cat/1 means absolutely nothing to the SE's.
So, you need to fix that up, but when you do, you need to change the code of the website itself along with it.
We're going to change the category requests from using simple ID numbers to using english-text names that should be stored along with the ID numbers someone (in the PHP script, in a database, etc).
So, now we're going to have links like:
www.tgcwebring.info/cat/code-examples
or
www.tgcwebring.info/cat/general
etc.
The rewrite rules for this are almost identical:
RewriteCond $1 ^cat/([-a-zA-Z0-9])
RewriteRule (.*) ?view=cat&cat_ID=%1? [NC,L]
Then, internally, you have to check $_GET['cat_ID'] against the english-text version of the ID rather than the number.
An alternative way is to leave your PHP as it is, and do it all in .htaccess, but it is slightly bloated:
# the 'C' parameter this time means 'Chain'.
# Basically, it chains the rules. If one of a set of chained rules gets executed, then none more in that set will be looked at
# somewhat like a series of if's with goto: endOfIfs within them
RewriteCond $1 ^cat/code-examples$
RewriteRule (.*) ?view=cat&cat_ID=5? [NC,C]
RewriteCond $1 ^cat/dark-basic$
RewriteRule (.*) ?view=cat&cat_ID=2? [NC,C]
RewriteCond $1 ^cat/general$
RewriteRule (.*) ?view=cat&cat_ID=1? [NC,L]
# etc
... Anyway, that's enough typing from me