# Sunday, July 09, 2006

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.

  • Flowers a thai gift
  • The Room
  • The Balcony
  • The Bathroom
  • Elephant Heads
  • Elephant Heads Close
  • Main Tower
  • The Front
Sunday, July 09, 2006 9:00:46 PM (GMT Daylight Time, UTC+01:00)  #    Disclaimer  |  Comments [0]  | 
# Friday, July 07, 2006

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!

Friday, July 07, 2006 8:54:19 PM (GMT Daylight Time, UTC+01:00)  #    Disclaimer  |  Comments [0]  | 
# Thursday, July 06, 2006

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!

Thursday, July 06, 2006 8:53:26 PM (GMT Daylight Time, UTC+01:00)  #    Disclaimer  |  Comments [0]  | 
# Wednesday, July 05, 2006

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…

…yet.
 
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.

Wednesday, July 05, 2006 11:22:23 AM (GMT Daylight Time, UTC+01:00)  #    Disclaimer  |  Comments [0]  | 
# Tuesday, July 04, 2006

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.:
.exe;.mdb;.url;.asp;.aspx;.zip

Tuesday, July 04, 2006 11:46:14 AM (GMT Daylight Time, UTC+01:00)  #    Disclaimer  |  Comments [0]  | 
# Monday, July 03, 2006

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:

Expenses
Server Costs: £100pm = £1,200pa
Rent: £1000pm = £12,000
Phone Bill: £29.99pm = £359.88pa
Electricity: £40pm = £480pa
Total Costs: £14,039.88

Salary: £100,000
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.

Monday, July 03, 2006 5:05:22 PM (GMT Daylight Time, UTC+01:00)  #    Disclaimer  |  Comments [3]  | 

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'
SELECT
    'GRANT EXECUTE ON ' + name + ' TO ' + @username
FROM
    sysobjects
WHERE
    xtype = 'p'
AND
     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.

Monday, July 03, 2006 3:42:17 PM (GMT Daylight Time, UTC+01:00)  #    Disclaimer  |  Comments [0]  | 

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.

Monday, July 03, 2006 9:20:18 AM (GMT Daylight Time, UTC+01:00)  #    Disclaimer  |  Comments [0]  | 
# Sunday, July 02, 2006

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).

General

gtg
Got To Go
brb
Be Right Back (less than 5mins)
bbiab
Be Back In A Bit (5 - 15mins)
bbiaw
Be Back In A While (15mins +)
b
Back
wb
Welcome Back
ty
Thank You
yw
You're Welcome.
atm
At The Moment
ttyl
Talk To You Later
styl
Speak To You Later
cya
See You
cu
See You
afaik
As Far As I Know
afaiaa
As Far As I Am Aware
afaiac
As Far As I'm Concerned
afaics
As Far As I Can See
afaict
As Far As I Can Tell
b/c
Because
w/
With
w/o
WithOut
g/f
GirlFriend
b/f
BoyFriend
gl
Good Luck
omg
Oh My God
faq
Frequently Asked Question(s)
nm
Never Mind
n1
Nice One
n2s
Needless To Say
nn
Night Night
n00b
A inexperienced and / or ignorant or unskilled person (especially used in computer games)
nmp
Not My Problem
nmj
Not My Job
pwned
Beating / Defeating / Outclassing someone
lol
Laugh(ing) Out Loud
k
Ok
btw
By The Way
lmao
Laugh(ing) My Ass Off
wrt
With Regards To

Ones I don't tend to use but I frequently see

wtf
What The F***
wth
What The Hell
fo
F*** Off
fk
F*** Knows
fa
F*** All
sfa
Sweet F*** All
ffs
For F***'s Sake
po
P*** Off

Technical

w/s
Web Service
se
Search Engine
seo
Search Engine Optimisation

Smileys

:)
Smiley / Happy
:D
Mega Happy
:(
Sad
;)
Winking
:P
Sticking Toungue Out
:o
Surprised
:|
Disappointed
:S
Confused / Worried
:#
Don't Tell Anyone
:'(
Crying
>:(
Annoyed
:@
Angry
|-)
Sleepy / Tired / Yawning

Actions

When a phrase is contained in <> it generally refers to an action the user is doing

<g>
Grin
<bg>
Big Grin
<vbg>
Very Big Grin
<vbeg>
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!

Sunday, July 02, 2006 4:09:08 PM (GMT Daylight Time, UTC+01:00)  #    Disclaimer  |  Comments [0]  | 
# Saturday, July 01, 2006

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.

Saturday, July 01, 2006 4:14:26 PM (GMT Daylight Time, UTC+01:00)  #    Disclaimer  |  Comments [0]  |