Secrets In Websites

When a you browses the web, a fair amount of code is transfered from a server sitting in a cold lonely datacenter to your computer. It’s mostly serious business, but sometimes developers like to embed small jokes, and traditions.

A lot can be told by just a quick glance at a website’s design and it’s underlying data. From Infrastructure, design methodologies, CMS (content management system), among other things.

Here are some of amusing, interesting, and [in some cases] strange things I’ve seen on websites. Everything in this post is valid as of the time of the post. Keep in mind websites constantly change so anything seen here may be invalid as time goes on.

Continue reading

Really Busy

I’ve been really busy lately, hence posting is a bit light. I plan to pickup soon. I’ve been working on many things.

On a side note, switching programming languages (Visual Basic .NET, JavaScript, HTML, CSS, PHP, Perl) all in one day can be very confusing at times. I’ve been finding myself mixing up syntax quite a bit in the past few days. Yuck. For those wondering, Visual Basic is by far my least favorite.

ColdFusion incompatible with XFN?

ColdFusion has a problem dealing with XFN. When using ColdFusion client side validation invoked by <cfinput required="yes" />. ColdFusion should generate JavaScript to validate the form on submission. This typically should be between in the <head /> somewhere. When using the profile attribute of the head tag <head profile="" > for XFN, ColdFusion apparently doesn’t detect a <head /> tag, and therefore dumps the contents above the <html> tag. This is wrong for two reasons:

  1. profile is a valid attribute for the <head> tag [HTML4 7.4.1]
  2. The <script/> is allowed in the <head> or <body>. If the <head> does not exist, it should likely default to the top of the body tag as a second choice [HTML4 18.2.1]

Sample code to illustrate bug:

< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<!– with the profile attribute –>
<head profile="">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Show Bug</title>
<cfform action="null">
    <cfinput type="text" name="foo" required="yes" message="this page has the bug" />
    <input type="submit" name="do_submit" value="Submit" />

Does not show the bug:

Notice no profile="" in the <head> tag.

< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<!– now without the profile attribute –>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Show Bug</title>
<cfform action="null">
    <cfinput type="text" name="foo" required="yes" message="this page has the bug" />
    <input type="submit" name="do_submit" value="Submit" />

Ideally, ColdFusion would sniff the DOCTYPE and generate the appropriate output, for it’s JavaScript in XHTML using a CDATA.

<script type="text/javascript">
< ![CDATA[
… unescaped script content …

but perhaps that’s asking to much.

FYI the server that demonstrated this is running:

server.ColdFusion.ProductLevel = Enterprise
server.ColdFusion.ProductName = ColdFusion Server
server.ColdFusion.ProductVersion = 7,0,0,91690
server.OS.AdditionalInformation =
server.OS.BuildNumber =
server.OS.Name = Windows 2003
server.OS.Version = 5.2


After seeing Matt’s post that TinyMCE has been integrated into WordPress, I think I’m doing the same to a few things I’m currently developing. I was considering a WYSIWYG tool previously for these projects, but decided against it mainly because of the poor code they often produce. TinyMCE is rather good, but didn’t support Safari. Now that appears to be changing (they are testing and working with Apple). So I really have no reason not to use it right?

It’s a great thing for those who don’t know much (or good) html. Keeps the crud out. Now I need to either find, or write a really good html sanitizing function for php so I can make sure it’s pure safe html. Right now I just delete any tags.

Fun With Wordage 3.0 {Beta}

Last night I shut down this blog for almost 24hrs. It’s now open, but not fully restored. It will take me a while to put everything back, finish cleaning up, and debugging. There are known issues (I’ll talk about those and how you can help in a moment).

I’m no longer using MovableType. Instead I choose to go with WordPress. I choose it for several reasons (in no particular order):

  • Licensing (GPL) – Is very friendly and open source. I’m an open source kind of guy. So that makes me feel good.
  • Good HTML validation – Unlike MovableType, it doesn’t seem to want to put tags everywhere mangling the html. It’s very smart. I don’t need to do stuff like make posts all 1 line to get it to stop messing up my code.
  • Compatible – I’m was able to import everything with no real trouble.
  • Feature Packed – look at the comparison
  • Spam Prevention – I find it easier to hack with WordPress than MovableType. So I can put some good anti-spam solutions in place. Rather than wait for plugins to evolve. This isn’t an insult towards Jay Allen. I’ve said more than once his mt-blacklist saved this blog. I just don’t think it’s the best solution. Nor do I like being so reliant on others. His list goes down for a day and the spammers get the upper hand. I don’t like moderating all comments either.
  • Speed – fast UI. Database driven, no rebuilds. Very nice.
  • Learning – I plan to use WordPress a bit professionally, so getting acquainted with a blog is a perfect first step.

MovableType is good, and still is by far the most popular. It’s also the best choice for someone running a large install. If you have an organization for example, MovableType is bar far the best solution (as of this posting date). But for a geeky individual like me who likes to tinker, and likes features and open source, WordPress is better. I found WordPress to be more innovative and open. It’s administrative features are better. Though MovableType has a slightly nicer skin. The PHP based templates are far superior to those proprietary tags.

Overall, I’m pretty happy so far. Some new features already are in place, and more will be coming.

New Features

  • Smilies for your comments. As well as select html tags.
  • You should be able to view this site fairly well on a PDA or cell phone now.
  • RSS feeds galore. Including for comments on a specific post.
  • Lower Page Size. Should be much faster for my 56k friends.
  • Highlighting text on search.
  • Much more!

And more is on the way.

Known Issues

  • Images in some posts overextend the div (anyone know why?)
  • Some feeds still broke
  • Some toys on the left hand column are missing
  • Spam Prevention stuff is considered ‘beta’. Checking out how well it works.
  • Contact form hasn’t been brought into new system.

In the spirit of changes

In the spirit of changes, I did take about an hour today and update some of my older blog posts. They are now formatted much better, such as putting quotes in blockquotes (rather than another color, or italics), and separating code from the content.

Lots of little stuff like that, but it makes the site much nicer.

Some fudging, but it’s valid

I’m not done yet, I still need to make some tweaks to the layout, and lots of backend work for the page:

Is HTML 4.01 Transitional Valid. That’s right. HTML 4. Decided XHTML is to much of a jump for now. Perhaps when I redo the templates in a few months I’ll convert, but for now, it’s HTML 4.

Yea for standards. No more crummy HTML. We do valid code now.

Breaks a little still under NN4. I’ll try to fix that later. Hardcore

I’m starting to get hardcore into Development, starting what will be the final development push.

Today I implemented MD5 encryption across all logins the system performs. It’s deployed and in production at the time. Also did a few other weeks to the authentication system while I’m in there.

I’m strongly considering going with XHTML for a design scheme for the following reasons:

  • Main target is Mac OS X (duh), and majority of browsers are compliant (Safari, Mozilla, IE 5).
  • Enhance support for wireless devices
  • Bandwidth savings

Anyone want to comment on that decision (still pending), drop me a line, or leave me a comment here.

Also on the agenda this week is some cleanup. I’ve got scripts that have been working since 2000 without me touching them. Some I even forgot they existed 🙂 Great that they work so well, but I keep stumbling upon them. Needless to say, each one poses a delay, as I have to figure them out again, decide if they stay or go, and deal with them appropriately. Hopefully not to many left.