The Right Glue
March 2009

My new favourite MMORPG

By Dean

From the world's nerdiest vampire and some guy who writes an awful lot comes my favourite massively multiplayer online role-playing game Stack Overflow. I was introduced to Stack Overflow by the world's best-paid Internet troll Rich B (who, like bstorer before him, is stealing my face for his avatar) a few months ago as a place to post some anonymous WTF code for a good laugh.

At first glance, I thought that Stack Overflow was a very bad idea. I wanted to post about it here almost immediately, but then reason struck me in the head and told me it would be better if I use it for a while before forming an opinion about it. Instead of just relying on my first impressions of the site, I decided to hang around, gain some levels and gank some noobs before coming to a conclusion.

So now, after two months, I can tell you that Stack Overflow is a very bad idea. But it's a damned entertaining bad idea.

Stack Overflow is a site that lets people ask questions relating to programming. Once asked, other users can show up and provide answers, comment on the question, or comment on existing answers. From this standpoint it's very similar to a forum.

But our night-dwelling benefactor and his cohorts decided to add Digg-like features to the base forum model. Every question and answer can be upvoted and downvoted by users. These votes give points to or take points away from the users who posted them. The points, in turn, are used to assign privileges to users such as the ability to edit other users' posts. Users with enough points are effectively moderators.

The basic idea is to encourage participation by rewarding good, thoughtful questions and answers. If people are going to get rewarded for helping each other, they're just going to be incredibly helpful! Problems appear when you apply this theory to reality.

When I first saw Stack Overflow, I thought to myself, "Wow, people are just going to do things to get more points instead of actually being useful just like TF2 players did when Valve released its medic achievement pack." I was right. Stack Overflow attracts people who have good, interesting questions. It also attracts a lot more clueless people who have very little desire to learn and have every desire to have Stack Overflow do their jobs for them. Instead of treating Stack Overflow as a resource to find intelligent answers, the vast majority of users either ask questions that could be answered in five seconds with a trip to Google, or subjective questions that serve very little useful purpose.

Since Stack Overflow is so full of users who want people to do their jobs for them, the kinds of answers that are nothing more than "here is the answer" without any attempt to actually achieve understanding are the ones that are upvoted the most (in stark contrast to my entire reason for making this blog). Since people have the TF2 get-the-achievement mentality, users are predisposed to answering questions with code snippets with little to no explanation, even if only subconsciously, because those are the types of answers that receive the most points.

The end result of all this is that Stack Overflow only reinforces the "please give me the codes" mentality seen all over the Internet. Users are getting their answers without ever learning anything, and users are getting points for doing other people's work for them.

Sometimes, a question implies the asker is not only clueless, but has dangerously bad ideas. I've said it before and I'll say it again, I don't leave dangerously bad ideas unchallenged. If I see such an idea, I will do and say what I can to try to make the asker aware of how clueless he is. Users are asking if they should pound a nail with an old shoe or a glass bottle. I pop in and say "you should use a hammer" and am met with resistance and downvotes. This is the kind of environment Stack Overflow is generating! I, of course, won't let up but who knows how many less-determined minds have given in to this mentality?

Today I read a particular post in which a user asked a question that betrayed an utter misunderstanding in cross-browser compatibility issues. I confronted him with this in mind and gave him the best advice I could and was marked as offensive because of it. Hah! It's offensive to tell people that their objectively bad ideas are bad. What a world we live in. Stop being offended and start learning from your mistakes. That's what mistakes are for.

I said I find Stack Overflow to be highly entertaining. As long as I avoid questions that can be solved by pasting the exact question text into Google and follow only those questions that require real reasoning to solve, Stack Overflow is a very nice forum indeed. It has a number of users like me who want to teach when possible and learn the rest of the time, and this group is truly a joy to deal with. I post without regard for achievements or points, treating the site as a forum. Helping the world make better software is enough of a reward for me. Gaining more levels as a result just gives me more privileges to help more efficiently.

I was going to delay in talking about this for a week or two, but then someone from Stack Overflow had to pop in and leave a comment about Stack Overflow that has nothing to do with The Right Glue and everything to do with the post mentioned above. Why didn't this "Stackoverflow Reader" guy use the comment functionality offered by that site? Who knows. As punishment for his silliness, I'm going to leave his e-mail address in the comments where my spammers can see it. Enjoy your Cialis, buddy.

Latest comment:

The post in which I explain my hatred of Firefox

By Dean

I had a number of things I wanted to write about that are pretty interesting to me, but I am currently in that state of mind in which I can't write what I want to write and have been for almost a month now.

One theme you may have noticed on The Right Glue is my general dislike of the Mozilla Firefox browser. It's there in the footnote on every page, and a few comments some have made on related subjects.

Firefox is a fine browser. It's got plenty of nice features, it's got a good rendering engine. It eats RAM like a bloodthirsty vampire, but I don't really hold that against it. What I can't stand is its users.

Because they like compliance, even in the face of pragmatism.

Now I'm not going to go very deeply into validation, because, luckily, Jeff Atwood (who may actually be a bloodthirsty vampire) has recently written a post about it. Read that post. I'll wait for you.

The W3C has gone out of its way in many cases to make HTML harder to get right. Something as simple as opening a page in a separate frame using the target attribute simply can't be done in strict HTML! If you want to keep your website's HTML valid, you need to re-implement already basic functionality in JavaScript. This is called reinventing the wheel, and not only is it a terrible idea in general, it's even worse in the specific case of HTML because in order to be compliant, you necessarily have to be less accessible by relying on a wider variety of less-than-omnipresent technologies like JavaScript. In order to be compliant you necessarily have to violate the third most important rule of Web design:

3. Do not require the use of JavaScript, applets, ActiveX controls, Flash or any other technology that your end users may not have. Requiring these things will just label users lacking them as outcasts.

The only thing that I can ask is how can someone possibly think this is a good idea? How can anyone think a browser that adheres to such impractical standards is good software? Compliance for the sake of compliance is foolish if the standard to which you're complying is flawed.

Firefox, to me, represents this general idea of castrating browser functionality in the name of compliance; of overcomplicated standards that serve no purpose other than the feeling of satisfaction of having jumped through hoops to accomplish what is possible to accomplish with a lot less effort. It's probably unfair of me to use Firefox as a scapegoat (scapefox?) in this manner, but Firefox does not have feelings so I don't really care.

Because of Dupe's comment I have experimented with making The Right Glue compliant with HTML 4.01 transitional. There is very little that I need to do to make the site compliant. The only thing I really need to do is add a doctype to the page, which, if you don't know, tells the browser what standard with which the page is trying to comply. In my tests, I have found that setting this doctype causes IE6 to not support JavaScript statements within CSS, which I rely on to overcome IE6's inadequate support of true CSS. What this means is my site stops working appropriately in IE6 if it is compliant.

Firefox users would say this is IE6's problem. I don't share their detachment from reality. Statistics vary, but somewhere between 18.5% (W3C) and 35% (The Counter) of users are using IE6. It may be IE6's fault that it can't handle CSS properly, but it's definitely my problem if a third of my users don't see the site properly.

Ideally, all browsers adhere to the same standard. Ideally, I whip up a design that will work perfectly in modern browsers and degrade gracefully in older browsers without having to expend any extra effort. The Firefox mentality is to waddle around the world with headphones on and eyes closed. Reality is far from ideal.

I don't have control over what browsers my users use. No one does. Compliance isn't what makes websites display properly across browsers — good design is. I will take a working site over a compliant site any day of the week. As soon as standards writers write a Web standard that is practical and widely supported (not by browser makers, but by users), I will conform to it. But not a day sooner.

Latest comments:
This is some kind of footnote. This webpage is awesome and can be viewed in any browser. Even ones that suck ass like Safari and Firefox. Isn't that awesome? This site is best viewed with browsers that aren't maximized on large-resolution displays (> 1024 pixels in width). But then again, if you are running a large resolution and browsing maximized, then you're a terrible person so you don't really deserve to see this site at its finest. Jerk. I mean, seriously. I spend all this time making a nice site and your silly browsing habits ruin its look. That's really cold, man. If you're using IE6, then in order to see the cool avatar effects you need to enable JavaScript. This site conforms 100% with the laws (both known and unknown) governing physical reality. No rights reserved by Dean Whelton (who is awesome) of any of the content, images, design, backend or electrons used in this site. Steal at your convenience. None of it is worth stealing anyway, so there. I have even made an RSS feed for more efficient theft of my intellectual property. Now, don't say I'm not generous. I guess if you want to know more about me, you can visit the about page. I actually made a real about page! It's more like a FAQ, though. You can contact me, too, if you feel like it. Are you really wasting time reading this? Go outside or something.