Thursday, July 10, 2008

Firefox Is For Cunts

Case study: after some browsing I casually tossed my keyboard aside in such a way that the F1 key got pressed continuously by a cable. By the time I noticed what was going on, Firefox was trying to open 50+ help tabs. Which of course slowed it to a crawl.

I killed Firefox only to try to edit the profile.js file. gEdit promptly froze on me as well. And examining the file with OpenOffice made me give up in disgust. So I tried to reopen Firefox hoping it would not try to open all of those tabs, or let me close them as fast as they were opening. And of course, it froze my computer.

So I try to reboot my computer but control-alt-delete doesn't work and I have to do a hard reboot. And when I get back into my computer it demands to know whether I want to restart the last session of Firefox (hell no) or start it with a clean slate (fuck no). So I hit ESCape which somehow doesn't cancel but defaults to clean slate. Okay no panic, last time I did that I was able to kill Firefox and get back my previous session. So I proceed to do this and I find out that profile.js has been completely wiped clean. Not a trace of the original dozen tabs I had open exists anywhere. They aren't in history, they are nowhere.

Now Firefox and Unix weenies will dismiss it all as a bunch of "accidents" or even worse claim it was my fault - it's always the user's fault as far as incompetent programmers are concerned. But there's at least two dozen principles of systems design that have been fucked up the ass in this case.

And what's tying it all together? Massive arrogance. Massive overweening I-know-what's-best-for-you-even-though-I-hold-you-in-utter-contempt arrogance. This "accident" could not have happened except that at every single step of the way, the programmer decided that he knew what was "best" for the user and decided to inflict it on them.

Even Internet Explorer, which is barely useable, didn't have that much arrogance. Whenever IE crashes, which is often, it's feasible to recreate your list of open windows by going through your history. But not Firefox because the history doesn't keep anything as simple as the pages that have been opened (programmer model) or the pages that are open at that moment in time (user model). Instead, the programmer decided to be "smart" and keep only the pages that have been opened by user action. So now those tabs which were initially opened by me an unknown number of weeks ago are nowhere in history.

And it's like this all the way down the line. Why did Firefox freeze my computer? Because Unix system programmers are morons incapable of comprehending the user model of scheduling (the main interface window has absolute priority and applications inherit resources from open windows) and also were incapable to sticking to the batch programming model which Unix's incompetent designers built into it initially. They had to get "smart" and fuck it up.

This travesty is the direct result of programmers' addiction with adding "features" over the users' dead bodies. Features which proceed to interfere with basic functionality in ways that make it unreliable or non-existent. Because programmers are mindless robots incapable of comprehending good versus evil. Like the mad engineers working on atomic weapons, warplanes, biological weapons and anti-children mines, they only care about getting a shiny new device. Not something constructive for the world.