Skip to main content

Source: Martian Headsets

You're about to see the mother of all flamewars on internet groups where web developers hang out.

This self-fulfilling prophecy has been brought to you by Google Adsense: funding Slashdot trolls since 2003.

With the web, there's a bit of a problem: no way to test a web page against the standard, because there's no reference implementation that guarantees that if it works, all the browsers work. This just doesn't exist.

I demand documented standards with open reference implementations. That's why I only develop with Microsoft technologies.

So you have to "test" in your own head, purely as a thought experiment, against a bunch of standards documents which you probably never read and couldn't completely understand even if you did.

No one has ever written tools to encapsulate the world's collective understanding of standards; you must start from scratch like everybody else. Freedom 0 buys you nothing unless you can audit the source code yourself. "Faith" in science is no more well-founded than "faith" in religion unless you can personally reproduce the experiments.

Those documents are super confusing.

Hi, I'm Web Developer Barbie. Pull my string and I say, "Standards are tough! Let's go shopping!"

The precise problem here is that you're pretending that there's one standard, but since nobody has a way to test against the standard, it's not a real standard.

I have never heard of test suites.

98% of the world will install IE8

I am high as a kite.

Secretly? Here's what I think is going to happen.

Wait... you mean you can... see what I'm typing?

[Microsoft] will say, "look guys, we're really sorry, we really wanted IE8 standards mode to be the default, but we can't ship a browser that doesn't work."

Microsoft has always had the best interests of the web at heart. Microsoft has never encouraged web developers to use Microsoft-specific technologies. Microsoft has never shipped a browser that rendered pages differently than its predecessor and then let it stagnate for six years while the rest of the world moved on.

Or maybe they won't... in which case, IE is going to lose a lot of market share.

I know IE is going to continue to lose a lot of market share, and I'm publishing this now so I can blame you dirty fucking hippies for it later.

(as always, with apologies to John Gruber)

Update: this comment about Microsoft's (lack of) participation in HTML 5 may help you understand why I hold apologists like Joel in such low regard. Or it may not, but I don't know how to explain it any better than I already have.


Fixing HTML is awesome, and it makes me think of zefrank. No, it's awesome because it makes me think of zefrank. God, I miss zefrank. During the zefrank era, I was working on Firefox. At least in my corner of the Mozilla developer community, when someone came into IRC and said the magic words "zefrank is up," no work of any kind got done for the next 3 minutes.

Let's watch the monkey dance
Make fun of the South of France

Good times.

Anyway, Fixing HTML's awesomeness is like the awesomeness of a 5-year old when they come up to you on Sunday morning and announce, out of the blue, that they have a foolproof plan to end all wars ever. "Just be nice to each other!" they say, immediately before tripping over the toy Woody doll -- which you bought at a yard sale and has ironically followed exactly the same trajectory as the make-believe toy Woody doll in the movie that invented the toy Woody doll -- and spilling their Cheerios all over the dog. And you want to just pat them on the head and say "Well, it's a little more complicated than that," but you can't say that to a 5-year old because it'll destroy their wonderfully naive child-mind and eat away at their soul and discourage them from sharing the actually good ideas they get when they grow up. So you give them a hug and say, "You have a good heart" or some other platitude that makes them feel better about themselves without acknowledging that they are, in fact, only 5, and then get on to the important business of mopping the dog.

I found these balls, they're made of brass
This little bathtub smells like ass
Look! A see-through wall of glass!

The difference, of course, is that Crockford should understand that things are a little more complicated than that, but the ideas that he thinks are good enough to announce to the world are no better than the ideas a 5-year old has before breakfast. "No more iframes! No more document.write!" he declares, blissfully unaware that his employer's home page uses both. "Strict entity parsing!" he demands... in a page with unescaped ampersands. "UTF-8 is the One True Encoding!" he proclaims boldly... in a page that declares itself as ISO-8859-1. "No more javascript: URLs! In fact, let's replace Javascript altogether! And I'll be back to talk about CSS!" It just goes on and on, the awesomeness gradually swelling until it all folds back on itself like a Möbius strip of self-parody. It's the Bolero of trolls. Everything he claims is secure isn't, and everything he claims would increase security wouldn't. Everything he wants to add to HTML would make it worse, and everything he wants to remove would also make it worse. Please, please tell me he's shooting the moon to make the worst proposal ever. It just doesn't make sense any other way, at least not from anyone older than 5.

I bet this bike goes really fast!
Oh, and Joel, kiss my ass!

Did I mention that I miss zefrank? He could fix my HTML any day.

(Are the new viewers gone yet?)


What follows are instructions for building and installing MySQL 5 on Ubuntu. These instructions should work perfectly on both Feisty (7.04) and Gutsy (7.10).

If you're a pro at this type of thing already, if you're impatient, or just feeling lucky, just shut the fuck up and read through to the end. It's not that complicated, and nobody cares about your l33t skillz anyway.

Why you don't want to build MySQL yourself

  1. You don't have to. Experts have already built and optimized an installer that integrates with the rest of your system. And by "experts," I mean "people way fucking smarter than you." And by "integrates with the rest of your system," I mean it puts configuration files in the right place, it starts up the service the right way, and most importantly, it integrates with your system's upgrade manager so you'll get security updates automatically.
  2. It totally sucks having one-off standalone installations of software. Why? Because when some fucker finds a security hole in the version you compiled yourself, it'll be up to you to recompile and reconfigure your software. Yourself. Oh, and the fucker won't tell you that you need to do it. You'll have to go out onto the wild, wooly interweb and subscribe to BugTraq or SecurityFocus or some dumb-ass developer mailing list. Does that sound like fun? Huh, does it punk?
  3.">Watching shit scroll by for hours does not make you a UNIX expert overnight.


None. That's right, none. Your Ubuntu "desktop" is fully capable of installing and running hundreds of different "server" programs. You don't need to buy a special "server" version for $1000. Other things you don't need: a compiler or a bunch of developer tools. And you sure as fuck don't need to sign up for some confusing "developer program" that forces you to surrender your rights and your personal information.


We're not going to be typing archaic commands into a window like they do in the movies. Sorry to disappoint you. That shit's reserved for impressing boy toys and dumb blondes. Have you ever been fucking a blonde up the ass and then, like, pushed her face into your monitor filled with a maximized terminal window and shouted "SUDO MAKE ME A SANDWICH, BITCH!" That's hawt. But I digress...

Setting the path

Do not skip this step! Most everything else will fail if you do.

No, I'm just kidding. There's nothing to this step either.

Download, extract, etc.

Run Synaptic Package Manager. Click Search and type mysql server. Select the mysql-server-5.0 package. A dialog will pop up saying that installing the MySQL Server package requires installing a bunch of other packages too. See how it did that? It's called dependency management, and it's built into all modern Linux distributions. Computers are smart like that. Click Apply and Ubuntu will download, extract, and install everything for you. Along the way it will ask you to enter a password for the MySQL "root" user. You should do that. Blank passwords are bad, mmkay?

Auto-starting MySQL

Nothing to do here. Ubuntu set this part up for you too, because, you know, it's a server thingie, and server thingies are supposed to start automatically. Computers are smart like that.

Starting and stopping MySQL manually

From your System menu, run Services and check or uncheck Database server (mysql). Sorry, still no terminal required.

A note about security

The package installer automatically set up MySQL so that it can only be accessed from your local machine, which is almost certainly what you want. Don't go fucking around with strange configuration files. They won't respect you in the morning.

Updating MySQL in the event of a security hole

Your installation of MySQL Server is automatically integrated with Ubuntu's update manager. If there is a security problem with MySQL Server, Ubuntu will notify you with a cute little bubble alert as soon as a fix is available. Don't be a dumbass; always install security updates promptly. The updater will take care of stopping and restarting your MySQL service and all that shit. Just clicky clicky and go back to watching "Ow My Balls."

Uninstalling MySQL

Run Synaptic Package Manager, click Status, then Installed, uncheck the mysql-server-5.0 package, and click Apply.

My sincerest apologies... Dan Benjamin, who is a very nice chap and doesn't deserve this sort of snark. But Jesus H. Christ, it must suck giant wet donkey balls to be stuck on an archaic OS where you need to be dropping into the terminal and tweaking configuration files and compiling shit all the time. I hope the translucent menu bar is worth it. But please, please stay up to date with MySQL security patches; I wasn't kidding about that, it's really fucking important.


Airlines suck.


Update: so here's what happened. We all got on the plane. We taxied to the runway. The captain announced that there was a problem and we were going back to the gate to get it looked at. We taxied back to the gate. The maintenance crew came to look at the problem. The maintenance crew told the captain, who told us, that the problem was that the light that indicated that there could be a problem with the plane was not functioning properly. That's right -- they couldn't tell if there was a problem with the plane because the "hey there's a problem with the plane" light wasn't working. More of an epistemological problem than a metaphysical one, but the result was the same: we all got off the plane and waited for them to find another plane. They found another plane. We all got on the other plane and waited for them to transfer all the baggage from the first plane.

By this time it was 2 AM and we were two hours late. We arrived in Dallas ten minutes too late for me to catch my connection. Luckily there was another flight two hours later, and I did finally arrive home on the same day that I was originally scheduled. It could have been much worse.

Feel free to relate similar stories in the comments.


Almost two years ago, I wrote:

And don't even get me started on the user-agent-sniffing JavaScript-laden URLs that only work in Safari and iPhoto. (Did you know they work in iPhoto? If you paste that URL directly into iPhoto, it fetches the page and the server returns a 302 redirect to the real feed. No HTML, no JavaScript. But only if the user-agent is iPhoto/6.0. So not kidding.) I don't attribute it to malice; I don't think Apple is trying to "break to web" or anything so grandiose. It simply never occurred to them to do this any other way. They view the web as an annoyingly inadequate infrastructure on which to build their latest proprietary network, in much the same way that old-school web designers view HTML as an annoyingly inadequate page layout language. Learning how the web works and going with its natural flow? It simply never occurred to them.

Last week, in a stroke of breathtaking arrogance, Apple redefined "web apps" to mean sites designed for a single hardware platform:

Web apps don’t just extend the functionality of iPhone and iPod touch, they do it in style. Since web apps are websites designed specifically for the 3.5-inch screen, you’ll find the viewing experience amazing.

(Yes, yes, I realize the whole gallery of web apps is just a smokescreen designed to fake you out and test your faith and hide the fact that they're going to open up their platform to native development ANY MINUTE NOW. Because HOW COULD THEY NOT, and so on and so forth. I believe the phrase you're looking for is "Oh, good grief.")

I swear to God, I'm so tired of being right all the time. It was fun for a while, but now it's just depressing.