No, no, no, no


Over the last couple of days, an amusing situation has escalated involving me and a model-turned-web-designer/developer Lindsay (aka @idiot_girl – her apt choice of name). Lindsay runs the Web Design For Idiots website, among other websites. She describes herself as:

a 26 female, probably the hottest computer geek you will ever “virtually” meet.

I came across Lindsay in the forums of the CMF Ads network that I trialled on my site briefly. Her Web Design For Idiots site aimed to produce articles that helped new web designers get started with aspects of their blog or site. Her Am i blog-norant page (since removed) confirms that her site was a journal of her learning, rather than being tutorials from a recognised expert:

And although I am still sloshing my way through all this technicalities, I will be posting tutorials on everything i learn as i go.

In February 2009, she posted about a competition to review her site, and possibly win some business cards and other goodies. I didn’t need the business cards or goodies, but as she’d been pleasant on the CMF forum, and I wanted to help a new web designer, I took the time to write a lengthy review about her site, and emailed her about it. I don’t recall even getting a thank you for doing this.

Post and Comments

In March 2009 she made a new post on her blog entitled Fixed Width Centered Website, that I felt had a few mistakes in it, so I offered some constructive criticism. Lindsay has since deleted these comments – only she’ll know why.

No, no, no, no.

You’re advising at least 4 bad practises here.

1) Use semantic class and ID names. Imagine you’ve called it “centerContent” then you decide you want to have it sitting on the left after all – you can either go along and remove all those divs from all your pages, or you could utilise the power of CSS, and just remove it from being styled centered. That however, leaves you with code that’s illogical? Labeled centered, but aligned left?
Far better would be to label the div up as *what it’s used for*, not *how it appears visually*. e.g. id=”wrapper”

2) The example you’ve chosen suffers from 2 further sub problems:
a) The word “center” is spelt differently in different parts of the world, so British users, for instance, who come to your website, will now have to remember the US version, whereas other parts of their website may use British spelling. It’s best to leave words like these out of all class and ID names, at least as examples.
b) You’ve used two words. Now while CSS isn’t case sensitive, DOM manipulation using JavaScript, is, and while you’re example uses camel caps, the existing usage on your readers’ websites may have other ways of delimiting two words (underscore, hyphen). Far better, in all cases, is to use a single word, all in lower case, e.g. id=”wrapper”

3) You’ve suggested the reader embeds a style sheet in the head element – apart from missing out the type=”text/css” attribute, this obviously means each and every page would need to be changed – far better would be to ensure they have a link element that pulls in an external style sheet, and puts the styling code for wrapper / centerContent in that instead.

4) You’ve gone to the effort of using style sheets (correct), but then said to use a text-align attribute within the body tag? That’s conficting at best. Use:
body{text-align: center;}
within the style sheet to achieve the same thing, and keep your markup clean and pure.

5) The method you’re using to pull off this technique will fail, in that now all of the text with paragraphs and other block level elements will now be centered, instead of the default aligned left. The correct method for centering content would be to apply auto margins (as you’ve done) for the nice browsers, then text-align: center; on the parent element, in this case the body element (for IE), but then to immediately cancel this with text-align: left; on the wrapper element:

body {text-align: center;}
wrapper {text-align: left; width: 900px; margins: 0 auto;}

Not sure why you’ve got a border style in there, and you also haven’t clarified that the 900px value can be changed to whatever the user feels is correct for their site.

While your version may work in some browsers, some of the time, you’re setting you users up for a fall, by introducing bad practises and leaving them with other problems.

There’s quite a lot there, but for the non-technical among you, it simply offers suggestions on how she could improve her tutorial for her target audience, who would know less than Lindsay. Lindsay replied:

First off, I have used this process in 4 of my websites that have been tested on all browsers from IE5 and above and have not had a problem. I do not see this as not being cross browser issue in any way.

Imbedding the style sheet in the head is just a simple way of getting this done. I am NOT going to tell my readers to create a style sheet and link to it considering that fact that this blog is geared towards people who don’t have a clue. I CAN write a new post about how to use a style sheet, and link each post together, but for now, since I do not have one – it would be nice if you just left my posts be and just correct things that are GLARING ERRORS and now “best practices” because we will get to the best practices when we get to them.

The bodg tag is something that is entirely under used. People go div crazy and why even bother creating a div when you have the body tag there already. Again, these are your interpretations of “best practices” and I would appreciate if you didn’t try and scare any of my readers from using this


OK, so she’s defending what she wrote – fair enough – except the former teacher in me felt compelled to take the time and explain why I thought her view was uninformed:

Yes, if you compare my suggestion (#5) against yours, you’ll see it’s exactly, the same, except that I also reset the text-alignment to the left – otherwise all your readers will be complaining that all their text on the whole page is centered, and that when they try to change it to the left, the whole page is no longer centered. You’ve only provided half of the work for them.

The fact you are so dead set against providing your readers with the full picture (to empower them to let them make the decision) shows that you haven’t fully grasped the needs of your target audience. By all means, show them the “simple” ways to do things, but you should make it clear that there are more advanced ways – the reader who knows and understands a little more more than your target audience, then has the choice whether to attempt the trickier way.

Nothing wrong with the body tag, as it’s required forvalid markup anyway – my point (#4), is that using a styling attribute in the body element, when you’ve created the rest of your styles in a style element / style sheet is counter productive. And if you’re not fussed, then tell your readers to use the element and be done with it.

However, you’ve not addressed points 1-3 – these require no extra code, but does require letting your readers have an insight into the kind of thoughts that should be going into creating solid, future-proof markup.

I fail to see why you are so reluctant to take advice from a colleague – your reply indicates that you have a very closed mind that someone else might understand the topic better than you do.

As the last paragraph alludes to, I couldn’t see why this self-confessed learner wasn’t willing to at least acknowledge that others may just know more than her.

There were no more comments on the post, so I left it at that.

A Few Months Later

A few months went past, and in June 2009, a post was made by someone called John. As I’d chosen to use the Subscribe to Comments feature of the WDFI site, I’d got alerted to the new comment via email:

I agree with Gary. His way is the correct way to put it together. You were correct that this will be the easiest thing you teach them. Problem is that Gary taught it. You shouldn’t be so reluctant to take the advise of someone who obviously knows more on the subject. Given what you are trying to do you should be teaching proper practices and not what you think. These days you should be telling people that their sites should be constructed 100% in CSS. That is the proper way. No one should be using in-line styles. So teach them correctly and actually help them. The body tag is in no way under used. Your not understanding what to do with it. Gary is right, it should be defined in the CSS!

Please do everyone a favor and do a little more research in these areas before you TRY teaching it. You can really show someone really bad habits that will make them crazy trying to figure out why things don’t work.


Lindsay then replied to this (which I don’t have a copy of), but it may well have been along the same lines as her previous reply. It may also have mentioned that the technique she had posted about was also suggested on W3Schools – a well known site that often tops the rankings for searches related to web design help.

By the time I’d got around to reading her reply, she’d apparently deleted the comment from John. My reply:

It’s a shame you’ve deleted John’s post, who was in support of my comments, yet kept your own reply.
Your example here is about centring content, presumably over more than one page (if you wish to keep the site consistency), in which case, creating a single-page solution (i.e. inline styles) is completly wrong.
The other drawback from using inline styles (and embedded style sheets) over external style sheets is that you introduce another layer of importance. Lets say you give an example for conflicting styling of an element at three different levels in three different tutorials. The user applies them all, but can’t figure out why one of them isn’t working – you’ve now confused them.
By creating all examples in an external style sheet, with similar levels of selector specificity (that’s a far more advanced tpoic, which they won’t need to know about yet), then simply telling them “the last styles on the page are used when styles conflict” is simple enough to follow.

As for relying on W3Schools for your reference, then really, either, you’ve not got enough knowledge to be qualified to be giving tutorials, or you should just point your domain at W3Schools and be done with it.

OK, so the first and last paragraphs aren’t helpful, but the rest of it is still on topic, and still offering advice.

A day later, the following arrives through the contact page form on my own site:

I understand your -well.. whatever it is you have against my blog.. its fine..
But commenting on the fact that i deleted ALL of “johns” comments.. is well,
just none of your business. THIS GUY (who’s name is NOT JOHN) is an asshole that
has been stalking me for THREE DAYS. He is a local guy who has nothing better to
do than to make threats and flood my blog with half baked resistance comments.

Maybe if you read his comments, you would understand… Or maybe you wouldnt..
But either way, if you dont have nothing nice to say.. just dont say it at all.
I left your comments up. Mainly because you had points.. But if you are going to
comment on things that you literally have NO CLUE about.. I will have to block
you from my blog.

So please.. Either comment when comments are due, or not at all.. THAT just
wasn’t any of your business.

Hmmm. My one line about deleting John’s comment invoked that response, which completely ignores all the advice I’ve been offering that was on-topic to the post.

As Lindsay had contacted me off the blog, I replied to her via email:


I’ve got nothing against you or your blog, except for the fact you seem adamant not to accept the fact that someone may just know a little bit more than you in the area of web design.

I read John’s comments via the email that resulted from being subscribed to those posts. I’m assuming that you would have had to moderate and accept those comments before that email was sent, so the fact it appears these were deleted afterwards is why it looks like you simply didn’t agree with them.

Even if he is stalking you or whatever (3 days is hardly stalking), his comments don’t imply that, and only add to the discussion about the posts.

If you could answer the comments that disagree with you, with “Oooh, that’s an interesting viewpoint, but…” rather than “No, you’re wrong, I’m right because…” then I think you would be seen in a better, more open, light.

I like the notion of what you’re trying to do – some of it will be helpful – but I don’t think that you have a full understanding of the intricacies of giving CSS-related demo code, and it’s this which my comments are trying to point you too.

As well as being a web developer myself, I’ve also taught web design to both children and adults (including prisoners), so I have a good idea of how the learning process works. What you trying to do is not easy – CSS can quickly get advanced in some areas – but by not providing that indicator of where to go next, or giving suitably stable basic code that can be advanced on without making major changes, then it’s just going to lead to confusion to your readers.

One hint is to write an article on the most complex things you can think of in CSS, come up with the demo code, then break it down backwards to get the simple code – create the articles as a series, and then your readers can see how doing the basics right can help later on.

I wish you and your blog success for the future.

I hear nothing more and leave it at that.

Yet More Months Later

Fast forward to this month, and someone else (john?) makes a comment on the blog. I don’t have the exact wording, but it was something in support of my sentiments – that the blog post could be improved, and that Lindsay would do well to listen to free advice – it may even have been from the previous 3-day-stalker John.

Lindsay replied:

I didn’t simply because if you read more of my earlier articles, you will see that he chose to follow around and tried to point out non-existent problems. Where there were issues, I thanked him and went on my way.

The problem here is that there is nothing wrong in this post. The post was meant to teach a very VERY basic newbie how to get a fixed width, centered website.. and it does that well.

As this again had arrived in my inbox, I took a look to see if the post had been altered in anyway (it hadn’t). I then replied (which got deleted) something along the lines of not wanting to reopen this issue about not even acknowledging the advice, but again reiterated that there was things wrong with the post and why improving it would be beneficial to Lindsay’s target audience.

Getting Personal

Lindsay decided at this point that I must be a stalker, and thus proceeded to email me (where’s the logic in that?). I’ve since deleted the email without replying, but it was something along the lines of her being serious, me getting a life, and a threat to block my IP from her site.
OK Lindsay, feel free – I’m not likely to miss out on anything important, so it’s not really a threat now, is it?

I post the following to my Twitter account: She’s deleted another of my comments, and threatened to block my IP. Oh dear, some people aren’t willing to learn.

I then have a discussion on Twitter about it, and at one point mention CMF Ads as how I’d met Lindsay. Ben Barden, who knows Lindsay via the CMF Ads network that he co-built, must have found my tweet and tracked it back to the original post on Lindsay’s site. He then commented about an error (effectively point 4 of my initial comment) he’d spotted with the post. His suggestion unfortunately was also wrong, so I commented on the blog that it was also invalid.

Some of my friends and random followers (some developers, some not) who saw the tweets then take it upon themselves to also make comments on the blog post. All of these comments (including the ones from Ben and me) are deleted.

I then get another unsolicited email from Lindsay:

You really should get a life. Its kinda sad that you choose to “sick your internet friends” on a blog post that you had a beef with for a year. Maybe it’s time to get a girl or something..

Great, more abuse.

I then make another post on Twitter:

How NOT to react when someone is giving you solid, free and accurate advice that you just happen not to agree with:

Lindsay then reveals her Twitter identity and stalks contacts me directly:

@GaryJ Gary.. seriously PLEASE get a freaking life. All you have is time to mess with people. You’ve been stalking me for almost 1 year now

So let me get this straight – I make a comment on someone’s blog (that’s assumed to be an accepted practice, yes?), she doesn’t like what I have to say, then she contacts me via my contact form, my email and on Twitter, yet I’m the stalker? Should I have my Facebook messages, MSN and Skype opened and ready?

It gets to the stage that I find it highly amusing how her not agreeing with my comments nine months ago (and not a year as Lindsay currently seems to think it’s been) has turned around into me being a stalker. Taking ten seconds every three months to open and read an email sent automatically via her Subscribe to Comments plugin is not how I would define stalking. Nonetheless, I can’t but help play along:

If I was stalking you @idiot_girl, trust me, you wouldn’t know about it. @tensor and @PeteScuff will attest to my stalking abilities.

Lindsay once again however, feels that this was a threat though, so what does she do? She sends more abuse:

@GaryJ Stalkers always think that they are doing it for the benefit of the stalkee. You are dilusional.

…then threatens me back (go figure):

@GaryJ I’ll take that as a threat and pass it on to your ISP. I’m sure I can match your comments IP to your twitter IP- its not hard

Good luck in convincing Twitter to release the IP address information for me. And even if they did, then what?

Out of curiosity, I took a look to see what other comments Lindsay may have been making via Twitter. I took the following screenshot, as if she’s deleted blog posts comments, I wouldn’t be surprised to see some of the following be deleted too. Click to enlarge, and obviously read from the bottom upwards:


And yet I’m the stalker?


I was urged by several friends not to write this post – they failed to see what good it would accomplish. Lindsay may just get more wound up and upset, I would be made to look cruel etc. I thought I could use it as a chance to apologise directly and publicly to Lindsay, but I’m struggling to work out what I’d be apologising for.

It’s not in my character to intend to go out and hurt someone’s feelings, but I do subscribe the the comic strip notion at the beginning of this post – especially when the person in the wrong is trying to teach others wrongly, and doesn’t have the open mind to accept others do know better.

I’ve got no problems with people who are learning something, be it web design or anything else. If I think I can help, I will do, as I hope I’ve shown by the majority of my comments and website review to Lindsay, and with others who I’ve helped. My issue here is that, even nine months after being shown by multiple people that there are multiple errors in this and other posts, she has been unwilling to change it – and as such, it will stay as a “resource” for the future that will trip up the very same people that it was intended to help. A tutorial site that is wrong is worse than no tutorial site at all.

Here’s some final thoughts for Lindsay:

  • Subscribe to Comments is not stalking, it’s opening an email
  • Commenting on a blog is not stalking, it’s blogging
  • A write-up of how you think I’m stalking you is not stalking, it’s amusing.
  • Please, fix the blog post – that’s all I’m asking.

As if to prove just who is stalking who, Lindsay managed to tweet about this post in the few seconds between me publishing it, and making my own tweet on it – note the lower number in the URL for her tweet than mine, highlighting the order of events. I rest my case.






4 responses to “No, no, no, no”

  1. David Avatar

    I can’t comment on the guts of this because it’s a technical question – maybe being a bit wrong is OK; maybe it’s not.

    However, the color sections you have for your alerts and quotes are very neat. How do you do those?

    Heads Up: Should ‘business’ be plural, perhaps? “a small friendly company providing simple web solutions for other business.”

    1. Gary Avatar

      Hi David, thanks for the comment.
      Being wrong is fine unless: you’re also trying to teach that wrongness to others, andyou’re not willing to listen when multiple others correct you.

      The coloured quoted are done via adding a class to each blockquote element, then adding a background colour via my style sheet. I’ve called the classes gary, lindsay and john, so I could potentially change the colours, without it being illogical (e.g. have a class called red, showing up as green).

      And yes, you’re right, it should have been plural – I’ve changed the wording in my About the Author box, and also on my company site, as that seemed to be singular as well! Thank you!

  2. David Avatar

    Thanks 🙂

  3. Marcy Avatar

    I’ve actually been in a similar situation and I’m actually glad you did a write-up. I want to write one about but as he threatened to report me to my ISP for requesting a due refund (my credit card company is taking care of it, and my lawyer has been notified) I’m sure he’d claim defamation. heck, he probably will if he stumbles upon this.

    but my goal is similar to yours, pointing out faults that will benefit others by being corrected. though, catching people in lies/misadvertising or finding loopholes can be rewarding but in this case it was just frustrating.

    among other things. but in your case I think it’s entirely unwise to have a site like hers… preaching… and not be educated enough to do so. I used to teach photoshop and photography classes, and I am the same way as you are in regards to teaching. I’d actually be happy to throw some advanced photoshop advice over to you if you ever need it (I’m sure you don’t!) in exchange for all of your help! You’re an asset to the Genesis community!