ASP.Net 2.0 XHTML Valid? It is unless you want to use the W3C validator
Monday, July 31, 2006 12:54:50 PM (GMT Daylight Time, UTC+01:00)
I came across an interesting anomaly last week with one of our new sites (http://www.missmays.com/ -not work safe). We first started developing the site in ASP.Net 1.1 and wanted to make it XHTML 1.1 valid so wrote a HttpModule that transforms the offending source (i.e. wrapping inputs in div tags). Over time we realised that we could also encode other offending items such as ampsands which would save us a load of time typing them out in the URL’s and updating the database.
We knew the site’s HTML was XHTML1.1 valid and the tests we’d run with the source were fine but on validating the live site using the W3C URL Validator (http://validator.w3.org/check?verbose=1&uri=http%3A%2F%2Fwww.missmays.com%2F) all was not so rosey. It was falling over on the last two inputs (__PREVIOUSPAGE and __ EVENTVALIDATION). On examing the module code it turned out that I hadn’t included them in the Regex (new to ASP.Net 2.0). Adding them all was fine, but why doesn’t the framework automatically wrap the inputs in div tags as it does for the browsers?
Checking the main ASP.Net site (http://www.asp.net/) the same thing happens, looking at the source through Firefox or IE shows the inputs wrapped nicely but through the validator they’re not, the source isn’t XHTML1.0 Strict anyways btw but it’s still worth noting that validating the URL fails on different points: http://validator.w3.org/check?verbose=1&uri=http%3A%2F%2Fasp.net%2F
I’d be interested to know if anyone else has come across this before or has an insight on why it may be happening.
This is what the validator used to produce when validating against the URL:
This page is not Valid XHTML 1.1!
Below are the results of checking this document for XML well-formedness and validity.
- Error Line 327 column 96: document type does not allow element "input" here; missing one of "ins", "del", "h1", "h2", "h3", "h4", "h5", "h6", "p", "div", "address", "fieldset" start-tag.
...GE" value="CLXotzBdGnifesOhxidubQ2" />
The mentioned element is not allowed to appear in the context in which you've placed it; the other mentioned elements are the only ones that are both allowed there and can contain the element mentioned. This might mean that you need a containing element, or possibly that you've forgotten to close a previous element.
One possible cause for this message is that you have attempted to put a block-level element (such as "<p>" or "<table>") inside an inline element (such as "<a>", "<span>", or "<font>").
- Error Line 328 column 183: document type does not allow element "input" here; missing one of "ins", "del", "h1", "h2", "h3", "h4", "h5", "h6", "p", "div", "address", "fieldset" start-tag.
The mentioned element is not allowed to appear in the context in which you've placed it; the other mentioned elements are the only ones that are both allowed there and can contain the element mentioned. This might mean that you need a containing element, or possibly that you've forgotten to close a previous element.
One possible cause for this message is that you have attempted to put a block-level element (such as "<p>" or "<table>") inside an inline element (such as "<a>", "<span>", or "<font>"
Update: Although I've not yet had a chance to try it, Phil Winstanley has suggested using .browser files may get around this.
Update 2: Here's a browser file you can use, you'll need to add a "Special ASP.Net 2.0 Directory" in your solution calls App_Browsers and place the w3cvalidator.browser (.5 KB) file into the new directory, recompile and the application should now output valid XHTML.
Friday, July 21, 2006 8:59:31 PM (GMT Daylight Time, UTC+01:00)
Taking the type of hotels we’ve been staying in into account, you would have thought the staff would be the money grabbing, impolite and thoughtless type you so commonly meet in the UK, but something’s changed since the last time I stayed in a hotel. No-one seems willing to accept a tip which has really amazed me. I don’t tip all the time but I like to tip where I think it’s due i.e. good service/food at a restaurant or a helpful bell boy. But every time I’ve tried it’s been refused.
The first time was in the Renaissance (Marriott) just outside Heathrow Airport, the bell boy came quickly, was helpful carrying the bags to/from the room and was gentle when transferring the bags so, being in the holiday mood I offered a tip but he just gestured no, shook his head and walked away, leaving me with my jaw to the ground. Then, again at the Hilton in Hua Hin the same thing happened.
I’m not sure why they’re not accepting tips but I expect it’s got something to do with some T&C’s in their contract. Interestingly though I was left feeling rather bad –not for refusing the cocky git who’s waiting for a tip “filling out some paperwork” but because I offered. Still it beats not tipping
Then when we went out for our first dinner I noticed something interesting, at the bottom of the menu in small print there were two lines: “All prices are subject to a 10% service charge” and “All prices are excluding government tax at 7%”. Automatically including a “service charge” is one of my pet hates, to me it’s like saying “we know we’re not good enough to earn a tip on our service so we’ll just take it anyways”. Normally it’s optional but how many people ask to have it back…?
Over the two weeks we were in Thailand I noticed it was a standard thing, some places included this additional 17% in their prices, others just added it on at the end. It’s certainly an interesting concept –and one I hope doesn’t start here too. It’s a shame imho that they feel they have to force a tip on you like that when we’d generally leave one if the service wasn’t appalling. Then again I can hardly moan, most meals were under £5 with drinks for two people including the tip…
Then we went to the Marriott in Bangkok. As soon as we pulled up it felt different. The atmosphere was far colder (not heat wise), very clinical and business like. It’s clearly a hotel that the business men visit on their trips. Having spent the last 11days having our tips refused it was a shock when we were back to the usual bell boy standing in the doorway filling out some “paper work”. This time however I ignored him and he got the hint –clearly the difference in clientele. The service charge still applies in Bangkok though, so it must be a nationwide agreement…
Final Thoughts on the Hilton
Wednesday, July 19, 2006 8:55:17 PM (GMT Daylight Time, UTC+01:00)
I've not yet had the chance to stay in a large number of up market hotels but the Hilton at Hua Hin has to be my favourite to date. Location aside, the atmosphere, generosity (in not only the room size but also service) and the facilities are second to none. I seem to recall being told that the UK and Worldwide Hilton groups were separate but from what I’ve seen of the UK ones they’ve got a lot of catching up to do.
I liked pretty much everything at the Hilton, the service was always there when you needed it but it was unobtrusive, the food was excellent (we ate there a few times) and surprisingly inexpensive and the cleanliness was top notch.
I really don’t think I can fault it. Having spoken to a couple of other visitors who were on the excursions I think we had the best hotel location-wise too, it was right on the beach (not that you wanted to go onto the beach too much as it wasn’t that great and it was crawling with salesmen), had plenty of space allowing you to get away from the hustle and bustle when you needed to and the fact that nearly every Hua Hin attraction was within a 10min walk or 5min tuk tuk ride just tops it all.
As if all that wasn’t enough, Hua Hin’s local brewery was onsite and served up some cracking food and the beer was, well, very tasty!
If you’re ever considering visiting Hua Hin I would defiantly recommend the Hilton, some places may be cheaper but they’re miles away and some even charge you to be transported to and from Hua Hin –around 400Baht (just over £5 atm) so save your money and live it up!
Monday, July 17, 2006 8:59:11 PM (GMT Daylight Time, UTC+01:00)
When we first arrived, Todtoo –our tour rep had mentioned there was a “Monkey Mountain” in Hua Hin and after the disappointment of the waterfall, Stacey and I decided to plan our own excursion –after all, we could see it from our window, how hard could it be to get there?
We decided that rather than walking it (in hindsight it really was quite a trek so I’m glad we didn’t) we caught a Tuk Tuk. It took about 20mins to get there but what a place. Winding up the hill in what can only be described as a tin can spluttering black smoke we caught our first glimpse of the monkeys, a few were sitting next to a womans house looking a little bored.
When we were dropped off, we couldn’t see any monkeys, but instead there was a large flight of steps up to a temple1. Figuring the monkeys must be found up there we started our assent.
The temple was somewhat plain compared to some of the temples we’ve been visiting on our trip, but the views2 were breath taking, you could see for miles. I’m glad that I took the binoculars too as it meant we could see right out to sea and, more importantly, spot the monkeys which were at the bottom of the temple! The monkeys were playing all over the roof tops3 and creating a terrible racket but it was fun to watch.
Feeling a little toyed with we wandered back down, only to be greeted by a monkey sitting on a tin roof4 and quickly realised that the monkeys gathered outside the local monkey feeding house. They’re curious creatures, and the likeness to humans is very obvious when you feed them. First we bought some bananas and the monkeys would take them gently5 and peel them –just like we do. If they wanted more than they had been given they would pull at your trouser leg until you offered another banana6.
After the bananas ran out, we got a packet of peanuts to see what they did with those. Again they de-shelled the nuts and ate the nice insides. It’s amazing to watch and something I doubt I’ll ever forget –beats the monkey sanctuary hands down!
The woman in the food stall also had a baby monkey7 which we think had its mother killed. It was tiny and she let it climb over me, he was a cheeky little fellow too, at one point he climbed into the little bucket of peanuts I had and proceeded to de-shell his feast –much to the annoyance of his peers8!
The World’s largest waterfall
Sunday, July 16, 2006 8:58:53 PM (GMT Daylight Time, UTC+01:00)
Ok so perhaps that is a slight overstatement. As with the lady boy show and elephant trekking, I’ve always felt that swimming in the plunge pool below a huge cascading waterfall is something that you’ve just got to do so when the offer of a trip to the Paulo Waterfalls came around both Stacey and I jumped at the opportunity. After visiting a pineapple plantation1 (btw did you know they grew on knee high bushes?) we finally arrived.
We’d already been told about the 30min trek through the jungle to the waterfalls which was something I was really looking forward to –not being able to go off for 6months backpacking this was the closest I was going to get to it. After wandering along a dirt track for about 3mins we stopped as another crowd of visitors threw fish food into the water. The fish were going mad for it2, some looked like they would even beach themselves for the food!
After taking a bunch of photos and videos of the water/fish we were ready to move on but the guide didn’t look as though she was going anywhere so, while wandering along the shoreline I jokingly told Stacey that this was it… little to my knowledge and to my disappointment, I was actually right.
It turned out that the night before there had been massive rainstorms which meant that the bridge3 had been washed away (when I say bridge I mean a single plank that was in two pieces on the shore). We were gutted. Had I thought about it at the time I would have swam across the river (it wasn’t going that fast) and continued on. Instead, we returned back to the hotel.
Saturday, July 15, 2006 8:54:59 PM (GMT Daylight Time, UTC+01:00)
I like Birthdays; I think they’re important –even if you don’t want to admit you’re another year older I still feel it’s important to celebrate the event even if it’s just by taking the day off. This is a mentality that I hope to spread through my company as it expands, having the Birthdays as the equivalent of a bank holiday –a little unusual I realise but why should you have to sacrifice a day of annual leave? Anyway, I digress.
Last year (2005) I had a superb celebration at home with friends and family, the year before (2004) I was whisked away for my first trip to Alton Towers courtesy of Stacey, the year before (2003) that (my 21st) I had a party in Cornwall, playing paintball at The Wargame Company etc. Each year there’s been something to remember (hopefully not just for me but everyone else involved). This year it was Thailand which was enough for me. The Hilton and Stacey however had other ideas.
On returning to our room after a very enjoyable morning of sunbathing (there is indeed a hint of sarcasm there as, for those of you who know me well know I don’t do sunbathing, but I felt it was something I had to do because the plethora of excursions we’ve been doing meant that Stacey hadn’t had a chance to fry herself yet… -that’s dedication for you lads!), there was a cake waiting for us on our room’s table! This was completely unexpected, at first I thought it was something Stacey had arranged but she denied it, then we thought it was mum, but on calling reception we found out it was something that they had arranged! I thought that really was going above and beyond the call of duty, no other hotel we’ve stayed in has ever done that –very impressed.
In the evening, we went to the restaurant on the 17th floor for a Chinese dinner, what a view! At night, the surrounding area is lit up like a Christmas tree. All the local fishing boats sit on the horizon with their lamps on making a small chain along the horizon, it really is breath-taking.
In-case the cake wasn’t enough, on returning from the restaurant, the maid had prepared the beds as she did every other night but this time she also left about 20 chocolates and a birthday note on the bed as well as a little present –an elephant keyring! I know it’s a tad corny but I think it’s a really nice touch.
Hua Hin Night Market
Friday, July 14, 2006 8:58:37 PM (GMT Daylight Time, UTC+01:00)
Suitable intoxicated after the Thai Show we wandered through the local night market. Basically a night market is just a bunch of stores in a main road (which is closed off to cars). It’s a great experience, people are so friendly and you can really get into bartering for your goods –if you don’t get 50% off you’re a looser!
We didn’t spend too long looking around the night market on the first visit because it was already late when we got out of the show but we went back several nights running later. You can get pretty much any item you like from a night market, I was trying to talk Stacey into letting me buy a set of throwing knives, a set of death stars or one of those extending truncheons the police use over here but she was having none of it!
We did however get some really cool stuff, present buying is a doddle when you’re in a night market. I think we spent most of our money in the night markets over the holiday.
The Hua Hin Thai Show
Friday, July 14, 2006 8:58:18 PM (GMT Daylight Time, UTC+01:00)
This was to be our first encounter with the notorious Thai lady boys, it was an odd occasion to say the least! We caught our first Tuk Tuk of the holiday to the show –and made it! For 450Baht each you can have dinner and a show (that’s about £6 FYI).
We weren’t quite sure what to expect but there was a stage set back from the eating area where it would all be revealed. After a while the music changed from what sounded like recordings of a Japanese karaoke night to the some Thai classic and out they came. I’m not sure I really agree with the statement that they’re stunning because many of them actually looked like men but the odd one or two had had enough surgery to look lady-esque.
The show was similar to the one we saw at the Rose Gardens featuring a variety of traditional dances –more often than not preformed to a UK backing track from someone like Celine Dion. At one point they came out onto the grassy area just in front of our seats and even into the audience, sitting on the lap of one or two spectators which was amusing. One of them had the most concerning makeup on it was hilarious, I’m really not sure what he/she was thinking!
After the show the “girls” come and mingle with the spectators, allowing you to get a load of embarrassing photos of your mate. I think we both left thinking what a bizarre turn tourism had made the locals take.
However you look at it though, they’re still wrong on so many levels. I spent the whole show thinking how disturbing it was to think what they’d gone through. Still, you’ve got to see it if you’re in Thailand!
Hua Hin Silk Farm and Tailored Suits
Friday, July 14, 2006 8:57:01 PM (GMT Daylight Time, UTC+01:00)
One thing that I wanted to do when visiting Thailand was have a suit made. I’d heard a lot about how you could have a suit made for £75 which sounded like a bargain to me! There’s a plethora of tailors along the various streets but we’d been recommended the local silk farm/tailor shop which not only tailors your suits but also shows you how the silk is harvested.
It’s an impressive setup, first they show you have the silk is produced using age-old techniques they boil the silk work cocoons1 which entices the work to put out the tiny thread of silk which is then wound together to make a single thread. If I remember/understood rightly the woman said each thread consists of 100 threads from the worms!
Once you’ve been shown how the silk is produced you’re shown you how to tell the difference between the cheap suits and proper cashmere/silk suits. Basically you have to burn the material, if it goes out and smells of hair it’s real though I don’t see Next letting me do that… there are other things to look out for (all of which are present in my current suit collection) but you get what you pay for! The suits should be ready on Monday (2.5days tailor time…)
Thursday, July 13, 2006 8:56:45 PM (GMT Daylight Time, UTC+01:00)
One thing Stacey and I both agreed when booking the holiday was the fact that we wanted to go elephant trekking -it’s a must when going to Thailand imho and to my surprise Stacey agreed. We rolled up to the elephant place1 and I was a little dubious about it but as soon as we started trekking that disappeared.
Having ridden horses in the past I thought it would be similar a similar motion but it’s not at all. First of all you have to climb up a little tower to get onto the seats (they wouldn’t let me pull on its ear to get up…). On top there’s a seat large enough for two people and a massive seat belt (not something that you’re used to seeing in cars in Thailand so it was a touch surprising on the elephant ). Once you’re strapped in you’re off.
Sadly because it was high tide we wouldn’t have the opportunity to go into the river on the elephant but we soon realised that was probably for the best. The ride is somewhat uncomfortable and you soon learn not to sit back into the seat as the elephant almost lollops along.
We trundled up some dirt track and past the car park and into a field which was where they grew the food. The elephant’s not a particularly quick animal but it gets there in the end, it was really funny because as he went along the track he was grabbing the vegetation and munching away2.
At one point the mahout (elephant driver) climbed off and offered to take some photos while I took control3. They sit on the back of the elephant’s neck and it’s really soft. They steer by pulling/pushing on the elephant’s ear mostly. Anyone that think’s its cruel has never been on an elephant trek. It was awesome but at the same time worrying thinking that I was in command of the elephant (in reality he wasn’t going to go anywhere as he was far too busy finding interesting stuff to eat!! I tried to get Stacey to have a go but she was having none of it.
After a little while the mahout turned his back which was the opportunity the elephant had been waiting for, she started wandering off to find more luscious greenery to eat. I have to admit I was in fits of laughter at this stage as there wasn’t a lot we could do other than hold on and hope for the best. He didn’t get far though as they’re surprisingly obedient –stopping almost as soon as she was shouted at by the mahout.
Then the real fun started, when the mahout got back on to take us home the elephant decided she wanted to eat some more and started wandering into the crop. This was something the mahout clearly didn’t want but the elephant was ignoring all commands to the contrary. It got to the point where the mahout stuck the pointy stick in the elephant’s ear, this looks worse on TV than in real life, I don’t think it hurts the elephant as such, it’s more an irritation. To elephant’s response was to start bucking his head which just made us laugh even more. When the elephant was full we carried on our merry way with a mouthful of food for the journey.
With the odd stop off along the way to get more supplies we did make it back to the camp after going down an impressively steep slope –the sort you get to and think “nah we’ll not make it down that”. We even turned 90 degrees on the way down to get more food. For their size, they’re very manoeuvrable.
As with our elephant show from yesterday I can’t say it was something I was overly looking forward to, I think it’s a little cruel to make a creature that size perform handstands and the like. None-the-less we were there so there was no point in missing it.
The show consisted of a baby elephant4 doing a variety of tricks, my favourite of which was when it took 20Baht from the spectators and took it to “shop” to buy some bananas. It then brought them back and waited for you to feed them to it. That worked the first time, however when Stacey did it, the elephant decided it was going to eat them before giving them back –much to our amusement.5
For those of you who wonder how they transport the food, I took this photo:
Bridge over the river Kwai
Thursday, July 13, 2006 8:56:22 PM (GMT Daylight Time, UTC+01:00)
I have to confess that I’ve not knowingly watched the film, I knew a little about the history behind the bridge but beyond the fact that the Yanks tried to blow it up a fair few times I didn’t know a great more.
I’m glad we went on the trip, we had planned to stay in an authentic “old-skool” riverside hotel but there weren’t enough people for the trip so we did the one-day trip instead. Firstly we went to the JEATH war museum which documented the historical side of the war and included numerous photos, article cuttings and memories of the POW camps. It was pretty shocking but also fascinating.
One of the old POW’s had painted several of his memories of his time at the camp including the tortures they were subjected to, meeting the locals and a variety of sicknesses they had. It’s difficult to know what to say/think when you’re looking around a place like that, it was a truly terrible time and one can only hope it never happens again. On a lighter note though, the spelling of some of the captions were just comical I had to try very hard not to laugh. Some had been updated but they still had things like “A lot of men diwed when making the wailway” –they really do write how they speak. Sadly you’re not allowed to photograph inside the museum otherwise I would have got some examples.
After looking around the JEATH museum we were jetted up the river on another long tailed boat, this is our second longtailed boat so we knew it was going to be fun. Arriving very windswept, you disembark the boat just below the bridge itself. The one that’s standing now is a replacement bridge, the original bridge is about 100m below and is now only an opening on either side of the river. Original or not, it didn’t stop Stacey and I wandering across it. When a train comes, you simply have to dive out of the way as it makes its way across the bridge1.
The river is a good 20m below you2 but it feels a lot further away when you’re in the middle. For those of you who haven’t been in the middle of a river before (on or off a bridge) it acts like a funnel and the wind rockets down so 20m above the water with the wind trying to push you off is fun…
After visiting the bridge we went to the Kanchanaburi War Cemetery where around 8,000 soldiers are commemorated3, it’s an odd place with a lot of small headstones along the ground, each the same small and plain. We didn’t manage to get around even half of the British section but we saw a large number of names we recognised, whether they’re relations to our friends or not we’re yet to find out. Unbelievably, and bearing in mind it’s a cemetery people still insisted on stepping over the headstones!
After the cemetery we went on the railway which still runs! The train4 winds around the Cliffside on a precarious wooden structure and along the riverside, it’s most impressive to think that it was built so long ago and is still a vital part of the local community –sometimes good things can come from such horror. One thing I loved about the train was the fact you could jump off pretty much wherever you liked, no automated doors etc dangerous yes but so much more thrilling5.
Damnoensaduak Floating Market
Wednesday, July 12, 2006 8:58:00 PM (GMT Daylight Time, UTC+01:00)
On the way to the market we stopped off at a demonstration of how coconut sugar is made –I have to admit I never knew there was such a thing! It turns out they use the coconut for all sorts of uses -not only as a tasty drink but paper, soap, fuel, sugar and even eating paraphernalia (bowls). After being shown how they extract the various parts1 they need we were allowed to wander off to look around the Orchid farm2 which was full of various creatures and plant life, most intriguingly baring in mind we were inland –crabs3?!
After a relentless drive and learning all about how coconuts are one of the most diverse and used “fruits” grown in Thailand we got to the long tailed boat that would be transporting us along the river to the Damnoensaduak floating market.
The long tailed boats4 are great fun; basically just an oversized canoe with a huge engine bolted on and a mission to scare the hell out of the tourists. TBH though I loved it, every stretch of canal she could, our driver opened the throttle full whack which left us leaping off the wash of the boats in front and slicing through reed and all sorts –it was just like being in my kayak again*!
After about 30 minutes of weaving past houses on stilts5, men in rice fields and the odd building site6, we finally saw the first glimpses of the floating market. At first sight it didn’t look anything more than a few houses which opened onto the canalside and the odd old woman paddling around with a canoe of pineapples7 but that was just the start.
Just before we moored, we passed the main body of the floating market and it really is as colourful and vibrant as all the photos make out. Full of every colour of the rainbow imaginable it’s an incredible sight to behold8. Our first port of call was a huge warehouse type building full of little stalls selling the locally produced trinkets.
There’s two sides to the floating market at Damnoensaduak, the first is aimed primarily at tourists and is more expensive, the other is for the locals9 and has a lot of fresh produce including coconuts, pineapples, papaya and guava to name but a few. To get to the other side you have to battle your way through a small tunnel which is lined either side with yet more stalls –I’m sure this was done to trap the unsuspecting tourists. You’re grabbed from the left and right and offered all sorts of weird and wonderful items, I had to make Stacey go in front after an old woman with vice like grip got hold of her without me knowing.
The photos we got of the floating market really don’t do it justice, in all I would say there were only about 50 boats on the water but the canal was bursting at the seems. Well worth checking out.
*Ok the speed side of things may not be true but it was still fun!
Rose Garden Thai Village and Culture Show
Wednesday, July 12, 2006 8:56:03 PM (GMT Daylight Time, UTC+01:00)
I for one was (oddly) looking forward to seeing the Rose Garden as some of the plants and flowers we’d encountered so far on our trip were really beautiful. I can’t say I’m one for flowers generally but the colours were just so vibrant.
When we got there the first thing we were greeted with was an elephant show1. I’ve still got my reservations about these shows, I don’t think elephant riding is bad, or having them work is bad but these just make me feel sorry for the gentle giants. Admittedly I did smile at the elephants as they were made to dance but more because of how ridiculous it looked.
There was also a guy with an enormous Yellow Boa Constrictor which you could be photographed with for about 100Baht –not something Stacey was too interested in oddly!
As it turned out, we weren’t there for the gardens but instead the Thai culture show they put on. As interesting as it was Stacey and I just couldn’t help but laugh at some of the acts that were put on. The first was a man demonstrating one of the nations games called “Rattan”2. Basically it was an old guy (apparently one of Thailand’s greatest players) playing keepy-uppy with a loosely woven ball. It wasn’t until later we found out how this could possibly be a game but there you go. The grand finale featured the guy holding about 8 balls off the ground –Beckham watch out!
After he left you’re then taken through a story which depicts various aspects of Thai life:
- Thai percussion music
- Classic Thai lullaby
- Water dance (the Nagee Saran Dance)
- Harvest Dance
- Glong Sabutchai or drum practice
- Thai (kick) Boxing
- Sword and pole fighting
- Thai wedding
- Various dances including a Bamboo Dance –don’t laugh but that is actually pretty impressive
I have to admit though that we missed out on parts of the show because just after the water dance (and I kid not) the heavens opened to our first Thai rainstorm3. It was great –so much more entertaining than the show that when we had a power cut Stacey and I left to watch it. The rain was so heavy it was like a British summer, within seconds the courtyard was flooded with rain pouring out of every gutter4.
While wandering around in the rain we also saw some Thai fighting fish5 which were a really interesting shade of blue/purple when the light caught them. Each one was in its own jar with a divide between it and the next jar –I’m guessing if that’s removed they try to attack each other…
Phra Pathom Chedi
Wednesday, July 12, 2006 8:55:34 PM (GMT Daylight Time, UTC+01:00)
On the way to see Phra Pathom Chedi we stopped off in a local craft centre where they carve all sorts of interesting items out of Teak1, some of the items take months to do but look amazing when they’re done. I would have loved to buy one of their outside table and chair sets but I couldn’t afford the £10k2 price tag!
Phra Pathom Chedi is the highest stupa (a type of Buddhist structure that looks like an upside down ice cream cone) in the world with an awe-inspiring height of 127m, it’s found in the town Nakhon Pathom which is about 60km South of Bangkok. According to what Shy (our tour guide) said, the stupa has been re-tiled 3 times but each time it was on top of the previous set of tiles.
The height of the stupa3 isn’t the only thing that’s impressive, around the base of the stupa is a huge collection of Buddha in various positions from lying down to sitting4, each slightly different and with an accompanying caption. Shy (our guide) said it would take 20minutes to walk around the base of the stupa and we would see 1,000 Buddha images. I’m not sure there were quite 1,000 but it did take around 15minutes to stroll around and there were a lot of Buddha images!
We only went around the outer wall of the temple, even though I wanted to go inside we weren’t sure whether it was allowed –though a few Japanese were checking it out. Apparently inside the temple there is a huge reclining Buddha image.
While we were there a monk was chanting away at the feet of the standing Buddha image while people paid their respects by burning incense and lighting candles. According to Shy you don’t need to be a monk for life, you stay at the temple for as long as you need until you find enlightenment following their 217 rules. However, every boy has to stay at the temple for at least 2months and you can only be called a monk when you’re over 20.
It’s an interesting religion and one I could easily follow from the little that I know about it.
Sunday, July 09, 2006 9:00:46 PM (GMT Daylight Time, UTC+01:00)
Awesome. That’s the first and pretty much the only word that really describes Thailand. Interestingly it’s also a word that I’m using a lot at the moment –the last time was after driving the RX-8.
It’s (obviously) very different from England, we’ve not really seen any of Bangkok yet (other than the airport and a seemingly never ending sea of large buildings, but Hua Hin is great. It’s got such a friendly feel to it; everyone is courteous and polite, bowing to greet you etc -superb.
The driving is somewhat hair-raising, no, that’s not strong enough, it’s terrifying, a real white knuckle ride! I spent as much of the 3hour transfer from Bangkok to Hua Hin either looking out of the window at the side or with my eyes closed. The most commonly chosen form of transport is a small scooter with at least 3 people on it, that or an open back pickup with as many people as possible crammed in. Indicators are used surprisingly but that doesn’t mean they’re going where they’re indicating. Great fun but not for the faint hearted!
Personally I don’t think the photos on the Hilton site really do it justice, it looks nice but it’s much nicer “in the flesh”. The front of the hotel is enormous with big elephant fountain heads and about 10 big glass doors with plenty of bell boys on hand to carry your baggage. On arriving, they greet you with a fruit juice drink (I think it was melon) and cool towels to freshen up and you’re left waiting for the receptionist on massive soft sofas –a far cry from the fight to talk to the receptionist in the UK!
The main area of the hotel has a huge water feature running through it, it’s almost as large as the local canal! That then flows into an inside pond which runs up to a HUGE glass wall and it then continues on the other side, down into another pool and then through a stream into the pool (on closer inspection it actually goes into a drain which runs under the pool). The pools are 3 inter-connected pools with a swim-up bar and funny island feature. The river then starts again and flows towards the beach!
All around the pool is the usual collection of sun loungers -already occupied with the traditional Germans! In addition to the sun loungers there are a number of straw roof huts on stilts for you to shelter from the sun. We’ve not had a chance to visit the restaurant yet but they look pretty nice, there’s even one on the 17th floor which Stacey’s vowed to take me to for my birthday, I imagine the views are pretty amazing.
The room is phenomenal, far more than I was expecting even though we are staying in the Hilton. Normally we’re crammed into some box room, only just large enough to slide around the edge of the bed but this room is HUGE. At a guess I think it’s 31ft long and at least 15ft wide PLUS a balcony!
The view from the balcony is pretty darn good to even though the most of it is over Hua Hin, we can see the sea/beach, Monkey Mountain and a local temple. From what we’ve seen, the Hilton is the only hotel actually close to the centre of Hua Hin, the others are about 15mins drive away.
So in short, so far it’s a massive thumbs up, if you can afford the £18pppn room cost (remember it’s buy 3 nights get 2 free too!!) I’d defiantly recommend it, beats anywhere I’ve ever stayed without a second thought and that includes the Headland Hotel!
Oh, I should have mentioned, another Thai tradition is to give the lady an Orchid -or that may just be Thai airways, still it was nice non-the-less.
Here we go...
Friday, July 07, 2006 8:54:19 PM (GMT Daylight Time, UTC+01:00)
I expect this will be the last entry before we go, its most exciting to think that in 24hours we'll be half way around the world!
I would have thought I would be more nervous, not about flying for 11hours, going to a fairly undeveloped/deprived area or even of spending 2weeks doing nothing but I'm not. If I'm concerned about anything it's leaving the business for 2weeks but even that doesn't worry me overly as I know that although I’ve left people in charge, I can easily log into the server or emails from one of the multitude of internet cafés that apparently done the streets.
How can I leave it to its own devices? I'm not too sure tbh, I just think it’s a culmination of nearly 3years without a break, recent good news about winning new contracts and my usual flagrant attitude to business! That or it's the lesser of two evils... Either way we're off on a trip of a lifetime!
The scourge of Google and public facing blogs
Thursday, July 06, 2006 8:53:26 PM (GMT Daylight Time, UTC+01:00)
I had a meeting with a lovely new client today and part way through the conversation they mentioned that the had been looking for my mobile number online, when typing my name into Google though you’re faced with an abundance of the messages that I leave on mailing lists all over the globe, I wish I could say that they stumbled across one of the messages in which I was helping someone but sadly it was one of the *few* where I was asking for help.
It left me thinking about how careful you have to be when sending out any sort of correspondence. We’ve only recently started blogging and it’s taken some soul searching to start -for two reasons primarily, the first is if people see a huge number of posts while you’re doing their project -does that mean you’re not doing their project? The second was because of the nature/tone a blog can take -should it be kept strictly business or have a personal aspect, should you discuss ideas you’ve come up with to help others or should you not let the client/the competition know how you worked something out?
Rather than operating under some guise like Eremo or BigTed on a public blog network, I decided that it would be better to have complete transparency as in reality we really don’t have anything to hide but we do have a lot to share, we’re often finding quirks in our environment or useful applications that someone else is bound to come across and they would be grateful of our post.
In regards the aspect of blogging during a client’s project, every developer knows that sometimes you hit a problem in your code and you really don’t know which way to turn. When getting to that point I’ve always encouraged people to take a step back, surf the web for a while, go outside for a walk and you’re bound to find the answer as soon as you come back. In addition to this, so far nearly even blog post I’ve made has been out of office hours and although Craig hasn’t really started his blog yet I expect the majority of his will be the same -so fear not oh dear client, we’ll get back to your project forthwith!
For some reason though I never thought I would see the day that I was being Googled, which is odd as I know there are many egomaniacs out there Googling for their name every day! I knew I was out there but it makes you think about all those archived mailing lists that are just waiting to be found!
Despite being found on Google, I’m not going to change the stance we take on mailing people, I like to think that we’ve always been open and honest with every business transaction we’ve been involved in but I don’t want the client to be left with the impression that we’re incompetent. At the end of the day, there’s bound to be something they’re unsure on and could do with a few pointers from someone that’s "been there and done that" so to speak, so when it’s not us, I like to think we’re able to offer the experience.
Update: I was thinking about this after posting it and thought it would be a good test of our SEO skills to keep the "good" messages associated with The Site Doctor and me (Tim Gaunt) at the top of the Search Engines!
The Art of complaining
Wednesday, July 05, 2006 11:22:23 AM (GMT Daylight Time, UTC+01:00)
I don’t know about you, but personally I’m not good at complaining, I don’t like complaining and I don’t do it very often –except for when I feel it’s really justified. This past weekend however gave me cause to readjust my thinking.
What happened this weekend? Well Stacey went off for her usual expensive haircut in preparation for our forthcoming holiday, it’s her little treat that she always looks forward to, often planning an entire day around the event. Saturday was no exception, she was pretty upbeat when leaving the house at some ridiculously early time but on her return it was a different story.
When arriving at Halesowen she realised she had no change for the car park so popped into the local charity shop asking to get some change, instead of offering change the helper refused, which is a shame as we usually make a donation when someone’s kind and helps us out. So Stacey offered to buy something and donate it back in order to get some change. This made her 10minutes late for her appointment. When getting to the hairdressers, the assistant informed her that because she was late she could only do half the job she was going to (half head of colouring –don’t ask me…). Even though we’re going on holiday and she wants to look her best, despite having reason to, Stacey didn’t complain and let her get on with it.
I’m not totally up on the procedure but apparently you have dye added and then you sit under a heater. Well bearing in mind she was late, after having the colour applied she had to wait 5-10mins for a heater to become available –this wasn’t because she missed the slot, they just didn’t have enough equipment. While Stacey was waiting the hairdresser went off for a smoke –why didn’t she use this time to complete the job she was meant to? I don’t know…
After she had finished having her hair done, she had her eyebrows done, on returning a few moments later, the hairdresser was sitting chatting to another hairdresser –this was at least 15mins after Stacey finished which made her think “being late clearly didn’t mess up their schedule too much –she’s spent the time chatting when she could have been finishing my hair” and I have to say so did I when I was told.
Then apparently when leaving she mentioned that she was going on holiday to which the hairdresser went white and said that she’d completely forgotten –even though when booking the appointment she made a big fuss about it all. I realise that she may have a lot of customers and it’s difficult to remember everyone, but this is customer service, this is why Stacey used to pay around £100 a time -the superior service.
We worked it out and with all the products she buys and the fact she goes at least every two months, as a customer Stacey is easy worth over £600pa. Not only that, in the past she has always raved about the service –something I doubt she’ll be doing. It’s a shame to see a company that has been built on a good reputation, excellent service and forward thinking getting so complacent.
Instead of complaining on the spot, Stacey came home annoyed at how she had been treated, disappointed with the service which usually makes her feel like a million dollars. Why didn’t she complain? What would have happened if she had? We’ll never know but we will be letting the owner know about the service received because as a Small Business owner, if a client felt like Stacey I would want to know.
Then yesterday I was going through the company accounts and noticed that Fasthosts (who we have a shared server account with) have started charging separately for a service that was billed together, namely their “Standard Hosting Plan”. Originally it included 3 advanced inboxes, Web Statistics and a Web Control Panel however without any warning this has been changed to 3 advanced inboxes, Web Statistics and access to an API allowing developers to program their own control panel. Access to the Web Control Panel is now billed separately. Ignoring the inconvenience and underhand tactics used, this surely can’t be legal –can it?
This isn’t the first time Fasthosts have done something like this and I’m sure it won’t be the last so I thought I should complain but I’ve not got very far…
For some time now I have always felt that if I only complain when it’s due it’ll have a greater effect but then it struck me, how is anyone to know that I don’t complain about everything to everyone? (The flaw in my justification some might argue!) Ok I feel good in myself knowing that I only complain when it’s justified but am I loosing out in the long run? Are we too tolerant as a society and are people who complain frequently getting further?
I guess this could have come under a heading of customer service but again that’s a rant for another day.
Stopping Outlook Blocking Attachments
Tuesday, July 04, 2006 11:46:14 AM (GMT Daylight Time, UTC+01:00)
I know this is covered all over the web but I'm forever forgetting it so if Outlook has started blocking email attachments i.e. ASP files you can easily adjust this by adding a String Key called "Level1Remove" to the registry, navigate to: Current User --> Software --> Microsoft --> Office (x) --> Outlook --> Security (where (x) is the version of office you are running: 9 = Outlook 2000, 10 = Outlook 2002 11 = Outlook 2003
Then right click and choose "New" and "String Key", then add in a list of the attachments you would like to allow seperated by semi-colons i.e.:
Pricing your work
Monday, July 03, 2006 5:05:22 PM (GMT Daylight Time, UTC+01:00)
There are two questions I get asked a lot by people who are thinking about becoming self-employed and even those already running a business. The first is How do you get the work? –this is something I’ll blog about in more detail later as the second is what I want to talk about today and that’s How much should I charge?
When setting out, this may seem a really difficult question to answer but in actual fact it can easily be calculated out and it’s critical to the success (or failure) of your business. When we first started out, I was plucking figures from thin air, when someone asked my how much a website would cost I decided a figure that I felt would compensate me for the time input. This is not what I would suggest doing!
Now that we are considering outsourcing work with the view to employing some new wonderful people to help out on the creation of our sites I felt it was time to work out a base rate from which we should quote. After some pondering I feel I’ve come up with a solution that can easily be re-used on any business.
Firstly, add up all your expenses (equipment, software, phone, ISP, rent, taxes, etc.) –it’s worth taking some time over this to make sure you include as many expenses as possible. Then add what you would like to get paid (your yearly salary). Finally, because you would like to grow your business add some profit (somewhere between 10% and 15% is about right). The figure you’re left with is the turnover you company is aiming for.
Now you need to work that figure back to an hourly rate. Lets assume you want to allow for 4 weeks holiday -you’ll have a potential of 48 working weeks available to you. Now, assuming you’re going to be a slacker and only work a 40hr week, following on from my previous post of how much time was spent on non-development work, we have to assume that we’ll be spending 16hrs of our 40hr week on non-development (yes we do have to take this into account –you’re still working!!)
This leaves us with 24 billable hours every week, this equates to 1,152 billable hours a year. To calculate your hourly rate, simply divide the required turnover by the billable hours.
Let’s try an example:
Server Costs: £100pm = £1,200pa
Rent: £1000pm = £12,000
Phone Bill: £29.99pm = £359.88pa
Electricity: £40pm = £480pa
Total Costs: £14,039.88
Profit: £114,039.88 + 15%
Required Turnover: £131,145.90
[Hourly Rate] = [Required Annual Turnover] / [Available Annual Billable Hours]
£131,145.90 / 1152 = £113.84
So in our example, your hourly rate should be £113.84
Notice in my example I have included the server costs which, in many cases will be covered by clients but what happens if they don’t pay or you don’t fill the space? You’ll have to pay so factor it in and any space you sell will be additional profit which you can choose to pass back to the client or save to reward your staff!
This figure should is a base rate, it is always worth factoring in the client when estimating on the work, for example, if you have a large corporate client, many of them will expect to pay a higher hourly rate and odd as it sounds are concerned when it’s too cheap so offset these clients against the smaller clients. Remember: you can be turned down for being too cheap as well as being too expensive!
To clarify that point a little further: If you have a small client who cannot afford £115ph and a large client who is happy with £175ph development costs, for every hour you work for the large client, you can afford to offer the small client a reduction:
10hours @ £115ph = £1150
5hours @ £175ph + 5hours @ £55ph = £1150
So when estimating work, look at it on a yearly basis –having business is better than no business, just don’t be a busy fool.
As a closing note, I would like to add that if your hourly rate sounds too high for your clients, you have to think about what they’re getting –You! You may be expensive but as long as your work is of a high standard price doesn’t matter. The alternative is to find areas to cut your expenses (or take a salary reduction!) so I know which I'd rather do...
I hope you’re starting out in business and when you do I hope you make it! Good Luck.
Update: I should just add, the figures in the example are not real world (or ours) they're merely for demonstration!
Update 2: I feel I should also point out that although we have a base rate that helps us estimate on work and allow us to quickly determine how profitable the project is, we rarely work on an hourly basis as we prefer to quote on a project basis -something which I'll write about another day.
Bulk Granting EXECTUTE Permission on SQL Server
Monday, July 03, 2006 3:42:17 PM (GMT Daylight Time, UTC+01:00)
Here's some code I regularly find useful when going from a dev server to a production server (or changing the username), I'm sure there's a more automated way but for a quick fix...
DECLARE @username varchar(100)
SET @username = 'xyz'
'GRANT EXECUTE ON ' + name + ' TO ' + @username
xtype = 'p'
LEFT(name, 4) = 'PRE_'
The code is simple, it lists all the stored procedures with a set prefix and generates the T-SQL to grant EXECUTE permissions to a given user.
To use it, set the username, update the last line if you would like to limit it's bounds (we prefix ours for clarity i.e. SProcs with a prefix of CMS_ are used in the Content Management System) and run it, then copy the results and run them in a Query Analyser.
PAS 78 available for free download
Monday, July 03, 2006 9:20:18 AM (GMT Daylight Time, UTC+01:00)
A while ago the Disability Rights Commission (DRC) in collaboration with BSI released a guide to good practice in commissioning accessible websites called Publicly Available Specification (PAS) 78. The guidelines outline good practice in commissioning websites that are accessible to and usable by disabled people.
Originally it was made available at a charge but the nice people at the Disability Rights Commission have decided to make it publicly available for free! You can download your copy at: http://www.drc-gb.org/library/website_accessibility_guidance/pas_78.aspx
The guide gives recommendations for:
- The management of the process of, and guidance on, upholding existing W3C guidelines and specifications
- Involving disabled people in the development process and using the current software-based compliance testing tools that can assist with this.
It is applicable to all public and private organizations that wish to observe good practice under the existing voluntary guidelines and the relevant legislation on this subject and is intended for use by those responsible for commissioning public-facing websites and web-based services.
Internet acronyms -What do they mean and when to use them
Sunday, July 02, 2006 4:09:08 PM (GMT Daylight Time, UTC+01:00)
Having been chatting on the net for a long time, I use internet acronyms in most of my day-day conversations over instant messengers (IMs). When you get used to them they're massive timesavers but before then it must seem like they're leaving out a lot of letters -producing gobbledy goop! Although some acronyms are phonetically based, many are are not and often confusing, so sparked by a number of people new to IMs constantly stopping me and asking what it meant (so not making it a timesaver at all while I either typed it out or found a dictionary of acronyms) I decided I would overview a list of acronyms that I use on a regular occasion as a reference point, I may add more later and I hope its of use to someone else out there (please note some of these are just ones that I've made up/use to aid development talk).
- Got To Go
- Be Right Back (less than 5mins)
- Be Back In A Bit (5 - 15mins)
- Be Back In A While (15mins +)
- Welcome Back
- Thank You
- You're Welcome.
- At The Moment
- Talk To You Later
- Speak To You Later
- See You
- See You
- As Far As I Know
- As Far As I Am Aware
- As Far As I'm Concerned
- As Far As I Can See
- As Far As I Can Tell
- Good Luck
- Oh My God
- Frequently Asked Question(s)
- Never Mind
- Nice One
- Needless To Say
- Night Night
- A inexperienced and / or ignorant or unskilled person (especially used in computer games)
- Not My Problem
- Not My Job
- Beating / Defeating / Outclassing someone
- Laugh(ing) Out Loud
- By The Way
- Laugh(ing) My Ass Off
- With Regards To
Ones I don't tend to use but I frequently see
- What The F***
- What The Hell
- F*** Off
- F*** Knows
- F*** All
- Sweet F*** All
- For F***'s Sake
- P*** Off
- Web Service
- Search Engine
- Search Engine Optimisation
- Smiley / Happy
- Mega Happy
- Sticking Toungue Out
- Confused / Worried
- Don't Tell Anyone
- Sleepy / Tired / Yawning
When a phrase is contained in <> it generally refers to an action the user is doing
- Big Grin
- Very Big Grin
- Very Big Evil Grin
When a is contained in >< it means the user is referring to himself
i.e. >Thinks its too late to be writing an article<
It may also be worth checking out: Google as there's many more complete dictionaries out there!
Time on the phone –wasted time?
Saturday, July 01, 2006 4:14:26 PM (GMT Daylight Time, UTC+01:00)
After a somewhat hectic week on the phone I asked myself “has all this time on the phone been wasted time?” Well, I spent time talking to clients, developers, friends and family and this is important. Although it may cost you a little development time, talk is cheap (that’s what the telecom’s companies want to tell you isn’t it?)
Rather than looking at it negatively I tried to look at it from another point of view, I could have spent the time developing some weird and wonderful new creation for a client however, this phone time was doing something else –it was promoting the business. Admittedly the business couldn’t survive if we all spent all the time with the phone glued to our ear, but once in a while I believe is a good thing.
Why am I looking at it like that? That’s simple, if you make time for your clients, friends and family in any context it shows that you care for them beyond a pay check and at the end of the day, if they need some development they’re more likely to think of you in a good light.
Out of interest I decided to work out how much time I spent on non-development hours and I was somewhat shocked, in the average week I would estimate that at least 2 days is spent on non-development work, that includes phone calls, invoicing, letter writing, emailing etc. It's a staggering ammount but, all part of running a business.