Validation | June 28, 2004

Recently there has been quite a bit of discussion about validation. Some people feel that validation is extremely important, and that all sites should validate without exception. Others feel that validation is just another tool in a developers armoury, to be used if and when they please. My take on validation lays somewhere between these two extremes.

When I build a site, I start by building a number of generic templates. I first mark the content up and then slowly add layers of style. When I’ve finished a template I’ll run it through the validator as a final check to make sure everything is OK. I’ve been coding standards complaint HTML for a while now, so have a pretty good idea what is and what isn’t valid. Most of the time my templates are fine. If they don’t validate it’s usually because of some minor grammatical error that’s easily fixed.

Occasionally bugs do crop up. If it’s a particularly strange bug I’ll run the template through the validator just as a sanity check. It’s always good to tick off obvious problems before starting more in-depth bug busting. For less seasoned developers however, the validator really should be your first port of call. I’m amazed by the number of people who post “browser problems” to mailing lists when in fact the problem is down to invalid code.

Once the templates have been accepted and signed off by the client, it’s time to start building the site proper. This is the time when small validation errors are most likely to creep in. One area that errors occur is in dealing with copy. Clients will supply you with the site content, often in word format, and you’ll simply copy and paste this content into the page/database. However when you do this you can end up entering incorrectly encoded characters like a ” instead of a &rdqou;.

On most jobs you’ll have more than one developer working on the site and not everybody will be as up to speed with web standards as you. Because the templates are already done, it’s usually only minor errors that creep in at this point. Things like image tags or breaks not being closed properly. Authoring tools can also be a source of validation errors, although they are getting more standards friendly with each new release.

Once a site is built I usually give it a quick once over with the validator. On small sites I tend to validate every page, however on large sites this isn’t always practical. It would be handy if the W3C validator had a “batch option”, however until that happens the WDG HTML Validator” is quite useful. Some authoring tools have validators built in but in my experience they tend not to be very accurate.

When the site launches, It’s quite easy for validation errors to creep back in. A very common error being unencoded ampersands in links to external sites. If you’ve built a custom CMS, you could check and correct the errors on input (If you use MT, there are plug-ins that will do this). However this will add to the cost of the build and to be honest, most clients don’t care about validation. They are much more interested in the business objectives of the site and their ROI. The closest I’ve ever come to clients caring about validation is clients who want their site to adhere to priority 2 accessibility checkpoints, and this in it’s self is fairly rare.

The reason I validate sites is mostly out of professional pride. It’s nice to know that you’ve done a good job and created a valid site. However until people start serving up web pages as xhtml instead of text/html there really isn’t the need to encode every ampersand and close every break. I’m not saying that you shouldn’t strive for validation as it really is best practice. Just that sites are living, breathing things that are there to be used, and it’s not always possible to catch every last validation error.

Comments (23)

Photoshop Stencil Art Brushes | June 27, 2004

Download your photoshop stencil art brushes.

As well as taking pics of stencil art, I've turned some of the best ones into Photoshop brushes. You can download them here for FREE. These brushes are donationware, so if you like them, please consider buying me something nice from my wishlist. It helps with my bandwidth costs and may encourage me to make some more. Oh, and If you do this, I'll send you a higher res set as way of thanks.


Comments (8)

Urban Art in Brighton | June 26, 2004

Boy with toy rabbit in mouth

Girl with toy rabbit in mouth

Girl with headphones

Comments (15)

Vietnamese Dolls | June 24, 2004

I was taking pictures around the house a while ago, and took a shine to these figures which we picked up in Vietnam.


Comments (7)

My First Ever Award | June 22, 2004

Yesterday I noticed that I’d been given an award. The award in question was one of the prestigious WhiteSpace Awards. The category I won was the “Thought to be a web designer, but proving to be a photographer” category.

I’d just like to thank everybody who made this award possible.

Seriously though, I’ve been meaning to mention this for a while. I’ve been quite busy of late and It’s just been much easier to post interesting pics than to find the time for more considered posts. Now that summer is here, I imagine I’ll be spending even more time away from the computer, so expect more pics to come.

Comments (8)

Rapha Performance Roadwear | June 21, 2004

Main Rapha branding image

[Update] The phase 3 site has just launched, so feel free to drop by an get some great quality cycling wear.

The Rapha website is one of a couple of new websites I've been working on at message over the last few months. The site is being rolled out in phases and this is the phase two launch. Phase one was a cut-down "teaser" version of the site. The current phase is going to be very similar to the final incarnation, but lacks the ability to buy the products online. Finally, in a few weeks time we'll be adding in the custom made e-commerce component and the site will officially launch.

As you can probably tell, Rapah design, manufacture and sell premium cycling cloathing. Their brand was lot's of fun to work with, being both modern, yet heavily influenced by the the golden days of road racing. I'm particularly impressed with the photography which has a loverly, classy retro feel about it. The design was very much a collaborative effort between Message and Rapha. They came to us with a clear idea about design, and our job was to help them translate these ideas into a workable website.

Due to the nature of the market, it was decided that it would attract a high proportion of people using broadband, hence the high quality branding images. The site was also designed primarily for modern browsers, although it's been tested (visually at least) via browsercam. The sites been through a number of changes over the last few months, so the CSS is currently a little unorganised. However on the whole I'm pretty pleased with the result. The phase two launch is really a beta release so there are bound to be a few quirks. If you spot anything out of the ordinary, please feel free to email me and let me know.

Comments (15)

Taking the Surfing Metaphore a Little to Far | June 20, 2004


How stupid is this. If it were April 1st I'd have thought it was a joke, but apparently it's not. That's what I call taking the "surfing" metaphor just a little to far.

Via the BBC

Comments (9)

More Urban Art in Brighton | June 20, 2004

Girl wearing headphones

Boy with a toy bunny in his mouth

Graffiti of a terrorist

Comments (0)

Orange Flower | June 20, 2004

orange flower

Comments (0)

Bill Bailey | June 20, 2004

My brother was down visiting over the weekend, so I took him out to see Bill Bailey at the Brighton Dome. Bill Bailey is a UK comic best known for the Channel 4 series Black Books and his regular appearances on Never Mind the Buzzcocks. However it’s in his guise as a stand up comedian that he really excels.

Last time I saw him in Brighton was at Komedia a few years ago. This was before becoming well know on TV, and he was performing in front of a half full theatre of around 100 people. How times have changed. Tickets for his two night show at the 1800 seat capacity Dome were sold out weeks in advance, and it was only out of luck that I managed to pick up some returns the day before.

I’m really glad I managed to pick up the tickets as the show was excellent. Apart from a couple of parts, the show was completely new, and had me rolling around laughing for the full 2 hours. As well as being a hilariously funny stand-up, he’s also an extremely talented musician, something he uses to great effect in his show. He’s currently on a UK tour before heading up to Edinburgh for the festival. If you get a chance, you must go and see his show. However, if you do miss it, there will be a DVD coming out in Nov. Fore a chance to win a copy, visit the Bill Bailey page at Universal Pictures.

Comments (7)

Favorite Movies | June 20, 2004

A very common question people ask is “what’s your favourite movie?”. Unfortunately I really don’t know how to answer this, as there isn’t a single movie that I’d class as my all time favourite. I guess at various point of my life I’ve had a favourite film, a movie that I’d happily watch over and over again. However at the moment I’d be hard pressed to single one out.

So here is a list of the top 10 films that, at one stage or another, I’d have classed as my favourite. They are in no particular order, and if you were to ask me on another day I’d probably come up with a completely different list.

And here are a few more that narrowly missed the top 10 list.

I know it’s a bit of an eclectic mix, but I guess that’s life for you. Feel free to discuss these movies or post up your faves.

Comments (18)

Sydney Opera House | June 17, 2004

Sydney is an amazing city and one that tops the list of places I'd like to live. The Opera House Is probably the cities best known landmark, and one of the most photogenic buildings around.

Sydney Opera House

Sydney Opera House

Sydney Opera House

Comments (9)

Box Model Hacks | June 17, 2004

I’m not a huge fan of CSS hacks. In fact the only hack I ever use is Tanek’s box model hack, and then, only when absolutely necessary.

I’ve noticed that developers have started using different hacks to get around IE box model issues, so was wondering what’s the current preferred method and why?

Comments (30)

Flying Into Male Airport | June 15, 2004

One of the most impressive flights ever has to be landing at Male airport in the Maldives. As the plane descends, stretching before you is a sea of azure blue reefs and atolls. The engines ease off and the plane gently floats down, almost skimming the water before finally touching down. Male airport sits on it's own private Atoll so transfers to your hotel are either by speedboat or, if you're lucky, by sea plane. Beats descending into Heathrow airport and then fighting your way to the train or bus station any day.


Comments (13)

Bathtime Fun 2 | June 12, 2004

closeup of a green turtle bath toy

Comments (8)

Underwater MP3 Player | June 10, 2004


I heard about this gadget the other day and thought it was a pretty cool idea. It's basically an mp3 player that you can use underwater. I do a lot of swimming so something like this could really make the time fly. What's more, this little gizmo is waterproof to 66m, which means you could even use it while diving. It's not something I'd choose to do often, but I imagine it could be quite mellow listening to music underwater (cue Jaws theme tune music jokes). However something like this would be great for tech divers who tend to go deep and need to spend a long time decompressing at shallower depths. Some divers can spend over an hour decompressing, so something like this would be great.

Comments (8)

Bathtime Fun 1 | June 10, 2004

Black toy duck on a white background

Comments (6)

Birds Of Paradise | June 8, 2004

I really like taking photos of flowers, and birds of paradise have to be my favourite. This photo was taken a couple of years back, on a rainy day in the Getty center in LA


Comments (4)

Diving the Southern Red Sea on the Sea Serpent | June 5, 2004

Red Sea Livabooard, the Sea Seprpent

Check In at Gatwick

The nerves didn’t hit until I got to the check-in que for my 5 hour flight to Marsa Alam, Egypt. I was heading out on a liveaboard trip called the simply the best. The itenary took in some of the best dive sites in the southern Red Sea. Sites that were as known for their ferocious currents and large swell as they were for their shark action. However it wasn’t the diving conditions or the chance to dive with hammer heads that was causing my anxiety. It was the people in front of me.

I was travelling on my own and planning to spend 7 nights on a dive boat with 19 other guests. On these kinds of trips, the other people on the boat are as important as the diving. Have a good mix and you’ll have a great time, a bad mix and I’d be spending the whole trip locked in my cabin. I checked the group in front. They looked a nightmare.

There were around 12 of them all travelling together. They looked like they were on the way to an England match or a holiday to the Costa Del Sol, not a Red Sea diving holiday. They were checking in more dive kit than an entire Navey Seal team, but looked a lot less fun. Great, a tech diving club from Essex. Please, please don’t be on the same boat as me. I couldn’t bare 6 days of comparing depth gauges, discussing mixed gas diving and extolling the virtues of cold water diving.

Arrival at Marsa Alam and The MV Sea Serpent

After a relatively uneventful flight, I landed in Marsa Alam International Airport. Basically a glorified bus station without the charm. I’m sure there must be a company somewhere that churns out cheap airports for developing countries as they all look the same. The que started to develop and was obviously overwhelming the one guy at passport control. Despite having only one flight that day, it seemed to take the airport staff a little by surprise. I smiled quietly to myself. The joys of travelling to developing countries.

Met outside by a rep of the tour company, I was glad to see the tech divers being led off in a separate direction. I let out a visible sigh of relief as I was directed to the bus that would take me to the boat and my home for the next week. The MV Sea Serpent was billed as a luxury livaboard, and she didn’t disappoint. I’ve been on many livaborads over the years, from backpacker boats in Thailand and Indonesia, to modern livaboards plying the Barrier Reef and Coral Sea, and the Sea Serpent was definitely amongst the nicest I’ve stayed on.

All the guests assembled in the lounge and we were introduced to our “trip director” for the week, a loverly Egyptian dive instructor called Hazim. With an amazingly dry sense of humour, Hazim proved to be both an excellent dive leader, and a great source of entertainment for the rest of the trip. After a quick boat brief we got our cabins assignments, unpacked and set up our dive gear.

Despite having 20 guests and a crew of 16, the Sea Serpent was plenty big enough. With a large lounge, big gearing up area and a couple of sun decks, there was enough of space for everybody. The cabins were a reasonable size, complete with on-suit facilities and after a couple of days, I even got used to the rock hard beds.

Time to get wet

We stayed in port that night and headed out the early the next morning for our first day of diving. As usual on these kind of trips, the first dive was a check dive. Basically this involves going to a relatively easy (read dull) dive site so the guides can make sure you know what you’re doing. Being a dive instructor, I was worried that I’d end up baby sitting inexperienced divers. This has happened to me on more than one trip, so these days I usually don’t mention that I’m an instructor. However on this occasion, I was extremely lucky. I was put in a group with 3 other experienced divers including another dive instructor and a dive master.

We stayed in this group for the rest of the trip, and out of all the groups, probably had the most luck spotting marine life. It’s great diving with people of a similar level of experience, as you can just get on with the dive, without constantly having to worry about your buddy. The more experienced you get, the slower and more relaxed you become. I’m always amazed how many divers think they are in a race. Whizzing off as fast as they can, it’s no wonder they miss so much and run out of air so soon. On the other had, we were often the first in the water and the last out, seeing an amazing amount of sea life in-between.

Rough seas, currents and sharks

After the initial check dive, the first real stop was a pair of islands called The Brothers. They were a 5 hour crossing from our first dive site, and the seas were pretty rough. I don’t normally suffer from sea sickness, however the crossing was unpleasant even for me. I’d say that at least half the guests ended up being sick and after a couple of hours of rolling seas I decided it would be best to get some kip. Getting to Little Brother an hour before sunset, there was just enough time to get in a dive.

All the diving on this trip was to be done from RIB’s, small inflatable boats with an outboard motor. This is pretty common in the UK, but the closest I’ve got to diving from a RIB was diving from long tale boats in Thailand. The sea was extremely choppy so just getting into the boat was a task. Getting to the dive site was even more of a challenge. By this time the waves were big. I’m not sure how big, but I’d estimate some had a good 6+ foot of face on them. Perched on the side of the boat in full dive gear and holding on for dear life, we bounced along the swell for about 20 minutes to reach the drop off point. Every now and then, a big wave would rear up and I’d quietly pray that the boat didn’t get flipped. Luckily the boat drivers were excellent and somehow managed to get us to the drop off point in one piece.

Because of the surge and potential for ripping currents (which could cause buddy separation) we had to do a negative entry. For those non divers out there, this basically means rolling off the side of the boat with no air in your jacket and going straight underwater. If you’re carrying loads of extra weight, this is easy. You just breath out and sink like a stone. However I tend to have just enough weight to keep me down, so as soon as I hit the water I would have to start finning madly to avoid the whirling props of the RIB, and stay with the rest of my group. Never having done this before, it took a bit of getting used to. I wanted to do it with all the grace of Jacques Cousteau, but ended up looking more like a thrashing toddler. At least the boat didn’t slice me in two.

Slowly descending to 30m, I quickly forgot the chaotic and frankly scary boat ride out. A mild current gently pushed us along and we all headed off in search of big fish. Like most dive holidays, each dive slowly blurs into one. I can’t remember if we saw Hammer Heads on this first dive or not. However, throughout the rest of the trip we clocked up an impressive number of sightings. The thing that stood out on this first proper dive was a close encounter with Silky Sharks.

I’ve never seen silkeys before, so it was another big shark to tick off the list. We encountered them at the end of the dive as we made our way back to the boat. They seemed to take a liking to the underside of our liveaboard and swam around us for 10 minutes while we were doing our 5m safety stop. Unlike the hammers, these silkeys were not shy and even managed to scare the video pro out of the water by getting a little too friendly. So predictable were they, that after every dive on “little brother” we’d save an extra bit of air to hang out with our own personal “boat sharks”. Who needs blue planet when you’ve got the real thing 5m bellow where you’re sleeping.

Diving the Brothers, Dadelous and Elphinstone

The days started to form a regular pattern. Wake up at 6am. In the water around 7:30am for the first dive. Breakfast at around 9am and then a long surface interval till 1pm for the second dive of the day. Lunch around 3pm, last dive at around 6pm, dinner at 8pm and in bed by 11pm. The day revolved around eating, sunbathing, diving and sleeping. It was physically exhausting, but mentally relaxing. No worrying about what to do or where to go. The whole day was planned out from start to finish. On trips like this, food is really important, and the only thing that let the trip and the boat down was the sub standard grub. It was OK for the first couple of days, but quickly became a source of complaint. For a budget boat, it would have been bearable, but for something billed as a luxury livaboard (with a price tag to match), the food was pretty poor. In fact, at least 5 of the guests ended up getting ill from the food which was definitely not a good sign.

The next 2 days we clocked up 6 more dives at the Brothers. The seas never abated and the currents got stronger. On a few occasions there were mad up and down currents. Our group managed to weather them pretty well, but on one dive every other group either aborted or got sucked down to depth by the ferocious currents. Funnily, this actually turned out to be one of our nicest dives, with a couple of good close encounters with hammer heads and even a manta sighting. When not looking onto the blue on shark spotting duty, I’d scan the reef walls enjoying the colourful soft corals and looking for critters. I’m a big fan of macro stuff but the southern Red Sea really is more of a big fish destination, so don’t expect to see much small stuff. On one dive we clocked up around 8 Hammer heads and a Manta. Not bad.

From the Brothers we made a much quieter crossing to Dadelous Reef. Looking like a scene from a James Bond movie, Dadelous was a completely submerged reef topped by an impressive lighthouse and jetty. Like the Brothers, the seas around Dadelous were also pretty choppy. However, by this time, I was used to the boat rides and even started to enjoy them. This site also produced more stunning diving with even more encounters with Hammer Heads.

After a days diving at Dadelous, our next stop was Elphinstone reef. I was really looking forward to this reef as I’ve heard tell of lot’s of big shark action. However it’s the closest reef to shore and is gaining more of a reputation for the number of dive boats moored up than the likelihood of encountering sharks. At the time there were probably half a dozen big boats and maybe another 4 or 5 RIB’s buzzing around. This is significantly more than we experienced on any other dive site on the trip, but supposedly a quiet day on Elphinstone. Doing 3 dives here I have to say that I wasn’t very impressed. The coral was nice, and despite the number of boats, we saw few divers in the water. However there just wasn’t the profusion of sharks that I’d expected.

Coming to an end

Coming to the end of the trip, we spent the last diving day in a sheltered bay doing a couple of simple, relaxing dives. The first dive was spent floating around a patch of sea grass looking for an elusive Dugong. Failing to see the fabled sea cow, our final dive of the trip was a nice relaxing dive on a pretty stretch of fringing reef. Very different to the preceding days hard core wall diving and a nice way to end the holiday. We chugged back to the harbour for lunch, spent the evening on the boat and then got transferred to a hotel for the next day.

Who should be at the hotel pool, but the tech divers I saw at check-in. Now acting like there were on a holiday to Spain, I was doubly glad I didn’t end up getting stuck with them for the whole trip. Being on a boat for 7 day, there is no escape from the other divers. As such, it’s the other guests that can make of break a trip. On this occasion I was lucky. Without exception, all of the other divers were great. We all got on really well and had an excellent time together.

On the whole I had a really great week. The boat was good, and the crew were exceptional. Always there to help you into and out of your dive gear, there was always somebody at hand. Coming back from the first dive, the beds were made, the cabins cleaned and fresh fruit juice was waiting for you on the dive deck. Along with Hazim, we had an excellent Egyptian dive guide named Hanny and a great English videographer called Simon.

Apart from the food, my only other complaint was that I’d have preferred to have done 4 dives a day (which is more usual), rather than just 3. However I’d have no qualms about going recommending the Sea Serpent or the diving in the Southern Red Sea. In fact I’m itching to go back and hope to arrange another liveaboard holiday there in Sep/Oct.

Comments (5)

Tabbed Finder Window | June 3, 2004

tabbed finder window

Comments (13)

Image Thieves | June 3, 2004

I noticed several weeks ago that were deep linking to my images. This meant that not only were they using my images without permission, but they were piggy backing on my bandwidth as well. My host is currently charging me a small fortune for extra bandwidth so you can imagine that I was a little bit pissed off.

I wrote a short, sharp email asking them to stop, but unsurprisingly heard nothing back. I thought about using .htaccess to redirect them to some alternative content. In the past I've done this when people deep linked to the games on the message site. In that case, you got served with a swiff explaining that people were stealing the games, a link to the games section on our site and a request that people dobbed in the thieves.

Another option was to post up some rude or offensive image. As the site owners probably already had the images in their cache, they would see the old image, while new visitors would get to see something nasty. I entertained this notion for about 5 minutes, but decided it was a little juvenile.

In the end I've just added a .htaccess file to my image directory that denies access to any images called from outside the site. It won't stop people from lifting the images, but at least it stops them stealing my bandwidth. I believe that this method may cause problems for a few legit visitors who are accessing the site content through a server cache, so sorry if I've caused you any inconvenience.

If you are at all interested in the contents of my .htaccess file, here it is. Don't ask me to explain it because I'm no server guru and pretty much lifted it off another site.

SetEnvIfNoCase Referer "^" locally_linked=1
SetEnvIfNoCase Referer "^$" locally_linked=1
SetEnvIfNoCase Referer "^" locally_linked=1
SetEnvIfNoCase Referer "^$" locally_linked=1
SetEnvIfNoCase Referer "^$" locally_linked=1
<FilesMatch "\.(gif|png|jpe?g)$">
  Order Allow,Deny
  Allow from env=locally_linked

Comments (9)

Daffodils | June 1, 2004

closeup of daffodils

Comments (8)