Google is useless

December 15th, 2007

It seems an update for Google’s core, the search engine, is long overdue. Apart from tons of spam in it, Google also tries to be smarter than me, providing me with more useless search results. Ever tried searching for ubuntu islsm? islsm is a wireless driver. Apparently, Google doesn’t believe me I’m capable of writing my search terms correctly, so it silently corrects my search term to ubuntu islam. Yahoo is at least honest:

We have included ubuntu islam results - Show only ubuntu islsm

But, sadly, the best one in team is Live Search, which barely asks me, whether I’ve meant “ubuntu islam”.

That used to be Google’s default behaviour. It seems these glory times are over.

“Natural” Sorting

December 13th, 2007

Life could be so easy, according to CodingHorror.

Perhaps a more human-friendly natural sort option should be built into mainstream programming languages, too.

Just like that. So simple. Windows Vista Explorer does it right. Or does it? Maybe, if you are only considering English language and are only concerned about numbers. In any other case, we are talking about full-blown AI here. What about “The Beatles”? Should it sort under “B” or under “T”? How about Chinese language? How about lexicographical order in telephone books? What about diacritics in other languages? What about ordering “5 feet” and “2 meters”?

I could go on forever. “Natural” sorting is only about perception. It’s personal. It’s different for every person. It’s context-sensitive. Actually, the word “natural” is a problem too: something natural for a German is not natural for a Japanese. It’s not something we can decide either. Do we really want our computers or, even worse, our programming language to decide for us? Don’t think so.

If you ask me for a solution: maybe we should stick to putting context next to our data. If we know it’s a date, sort it like a date. If it’s a file name, sort it “naturally”, i.e. in the context of a file system. And if you really need to, implement a “natural”, context- and number-sensitive algorithm just for this file names list. Don’t bother including it into every single language in the world, since everyone needs something else, you’ll risk turning your language into PHP. If you really want to, make a class and implement sorting on it. Or maybe write a lot of mixins for different kinds of numbers-aware sorting — bad luck if your favourite language doesn’t support mixins.

There are a lot of alternatives. I agree that ASCII-collating is the easiest one, which should be avoided. But keep in mind that there is no such thing as a “natural sorting order”.

Update: Yes, Jeff and also most of the commenters on his article are mainly talking about sorting file names. Like I stated above, sensible sorting is only possible within a context and with file names there is no context since we don’t know anything about the naming principle. File names is a principle that should be abandoned in the near future, we should be using meta-data instead. File sorting problem would become non-existent then.

I feel like a prophet

December 8th, 2007

Today I’ve remembered something I posted on MozillaZine a long time ago and was eager to find it. It wasn’t that difficult, I still have an account there. Here it is.

Today that post is five years old. Holy crap. That much time I’ve been true to Mozilla. Sometime in year 2000, I’ve been using Mozilla M16 and told people it’ll be the next-gen browser. It became true with the release of Firefox 1.0. In that five-year-old post, I’ve said it’d be nice to have a common runtime and applications running on top of it. GRE has been a reality then, Firefox and Thunderbird were already born, but nobody really cared about GRE. Which is called XULRunner today and guess what they are basing future versions of Mozilla’s flagship products on.

I feel proud of myself.

We are in charge AKA Windows™ sucks at window management

December 6th, 2007

Focus stealing sucks. Yeah, like it’s something new. Free Software advocates have been praising something like this for ages, especially the sloppy-focus camp. Nevertheless, Jeff Atwood considers it important enough to write about, and, frankly, I must admit he’s right doing so, since maybe someone from his large audience will hear him and make Windows™ a better place someday. But the problems he describes are just symptoms for much bigger trouble you get into. And, sadly, these problems creep into other OS’ as well — the difference is that in most cases we can stop it, since these other OS’ are, well, free as in freedom.

(the idea is not new and not mine either, I just can’t find an appropriate link right now)

The main problem is that the OS is in charge of your work on your computer. No problem with that? Wrong. You are in charge of your work, the OS only has to enable the computer to help you. You are the one who is working, you are the one who decides what’s to be done and what not. Or so it should be. We are living in times when it’s perfectly acceptable not to know anything about your system so that all OS developers are trying to assume a total “dummy” is trying to do something with the computer and thus it just HAS to interfere and be “helpful”. Have you ever experienced a stove telling you something like “It seems you’re trying to boil some eggs, it might be better to grill them so I’ve turned on appropriate circuits”? This is however something we are experiencing with computers and particularly with Microsoft OS’. We are getting thousands of nag-screens, like “Would you like to register right now?”, “Updates are available, install now?” or “It seems you are writing a suicide note, need help with that or should I just call an ambulance?” It seems it is not enough for Microsoft.

That one particular dialog Jeff is talking about has been nagging me for ages, even when I’m logged in remotely onto a server 700 km away and editing some stuff in a configuration file, it still steals the focus and asks me (translated from UI-speech into human): “You’ve told me you’d reboot later, maybe now?” It’s just rude. My computer is forgetting who’s in charge. I am. I decide when my computer is to be rebooted, I consider staying unpatched for five more minutes (or days for that matter, it shouldn’t bother my computer), I decide when this “later” is. Don’t bug me.

Don’t bug me. Don’t treat me like an idiot. I’m not. This is why rm -rf / (Disclaimer: do not try this at home, it will damage your Unix system. You will be responsible — that’s kind of my point ;-)) starts working without any reminder — if I said so, I might actually know what I am doing. If I do not — well, that’s the reason we have driving licenses for the cars (I actually liked the idea of European Computer Driving License until I’ve seen the examination papers). The only difference is that computers won’t kill. Yet. That’s the reason users should read manuals or have some training. They are responsible for doing their job and doing it right.

Too bad we’re living in the wrong world for this.

It’s not like OS can’t help me do my work right. It should assist me, that was the whole point of pseudo-intelligent electronics. But it should respect me and consider that my current task is by definition more important than anything else. Even if it’s a warning about surging power in my laptop or an earthquake coming in about 30 seconds, it should notify me about this without interrupting my flow. Make it blink in the taskbar for that matter. Make it send me a mail if it’s less important. But do not jump into my face, telling me “Internet Explorer 7 JavaScript minor security update is available, download?” Even if I know what all these words mean, I don’t care at the moment. If I did, I’d probably have that patch already. It’s easy, right? It is really about assuming some kind of intelligence in the user. Hint him decently at the possibilities, he’ll be thankful. By the way, this is what Windows XP does with these notification bubbles, it works better than any dialog.

Back to this particular problem: focus stealing is nasty, no problem with that so far. But a particular application developer shouldn’t care about stealing or not stealing focus. This is treating symptoms instead of the illness. Windows just doesn’t have a decent window manager, like any decent Unix system has. What could be easier than putting all new windows in the background by default? Alas, Windows doesn’t do that. It’s just selecting some “sane” defaults. “Sane” as in “enough for beginners” and as in “what they don’t know, they won’t miss”. Poor souls like myself, who are stuck with better windowing at home and Windows at work, are screwed.

Arithmetics a là Microsoft: lies, damn lies… you know the drill

December 5th, 2007

Microsoft has apparently proudly declared, Vista has been pirated only half as much as XP. Huh? Twice as many pirated copies of XP vs. Vista, considering XP has definitely sold multiple times more copies than Vista has to date, means that Vista’s pirated-to-legal-ratio is much higher than that of XP. Do they consider their fan-boys and enemies that stupid? Let’s just hope they meant percentages or ratios…

Can Google master what other gigantic corporations couldn’t?

December 3rd, 2007

I’ve held my breath today, as I’ve read that some study at TU Graz has demanded for Google to be split up. It turns out, it’s all about Google “throwing privacy on the waste heap” and thus endangering the mankind, yadda yadda. This is however not something I’d have in mind when it comes to splitting up Google Inc.

It’s a rather known fact, that Google is the best place to work. The benefits are the best known in the industry and thus only the best engineers work there. However, in the recent months the situation has changed a bit. Google is still good, but apparently it lacks its startup atmosphere it used to have, otherwise it would be difficult to explain many Googlers leaving for Facebook. Google is big now, big enough to get trouble keeping up the innovation pace it once defined. Therefore, Google’s next challenge would be an economical one, not technical: they will have to decide how to split themselves up into small pieces each attractive enough for bright minds looking for a startup to join and still be a gigantic corporation with all the benefits and power. As far as I’m aware, no corporation has ever managed to do that. As you are getting big, every additional management layer adds marketing and development constraints, you can’t follow startups’ “when it’s done” principle anymore. Is it possible to expand without adding too many management layers ontop of your development teams? This is the question Google will have to answer sooner than later.

Firefox + Google Reader = Annoying

November 24th, 2007

Just like many others I am a heavy RSS user and my preferred way of reading RSS is Google Reader, since I can use it almost anywhere don’t have to worry about missing something. However, there is one thing that bugged me for a long time, which I’ve actually fixed a minute ago and I just want to save it here for future reference.

The problem is that Firefox has a limitation on the number of pop-up windows/tabs produced by a single webpage. Apparently the extreme convienient “v” shortcut in Google Reader is considered a potentially unwished pop-up and so the counter gets incremented. Since I’m reading a lot of Reddit lately, I tend to scroll through the list of new articles opening the ones I’m interested in to a background tab with “v”. After some time, I suddenly get a message from Google Reader about my browser having prevented pop-ups from appearing. A simple search for “pop” in about:config revealed a limitation named dom.popup_maximum, which is by default set to 20. Setting it to -1 solved my problems and let me read a lot more stuff I shouldn’t really be interested in on a Saturday night…

,

Too late, Mozilla… We hardly ever knew you…

November 19th, 2007

According to Berliner Zeitung Mozilla considers themselves an obvious partner for Google’s Android platform and the Open Handset Alliance. Well, I think what we are seeing now is an agony of the lizard; sadly, the dinosaurs are dying out.

Actually, anyone in the IT world should have seen it coming. Mozilla struggles with Firefox 3, has been losing against Opera and most importantly against Webkit standard-wise for a couple of years already and has now lost the mobile battle with the emerging of Webkit on iPhone and Android. While Mozilla is busy polishing Gecko 1.9, which is still due in several months, Webkit implements new web standards in a matter of weeks, and Epiphany, the Gecko-based browser for the Gnome desktop, is possibly changing engines to Webkit for the next Gnome release. Rats are leaving a sinking ship.

Nobody wants to hack on Firefox anymore, except for Mozilla’s payed hackers. Thunderbird and Sunbird are not seeing any manpower at all, stagnating for ages. Songbird is a piece of crap at the moment. Ever wondered why Blake Ross doesn’t work for Mozilla? A bit more shocking: Nobody actually wants to surf with Firefox anymore. It became as bloated as Mozilla Suite once was, it is slow, crashing, tilting for a couple of seconds for no reason, and the only compelling reason to stay with Firefox so far have been its extensions. But frankly: the best extensions are easily ported to other browsers or aren’t needed at all, since they are already implemented there. Working in the same environment on all platforms might have been a reason several years ago, now it’s more important to have system-wide software integration. That’s why many people preferred Camino or Epiphany to Firefox on their respective platforms. No, I don’t actually care about Windows, maybe someone will create an integrated Webkit-based browser for Windows.

XUL is also dead. With about 99% certainty. WHATWG is developing (X)HTML5, which will include most of XUL’s features in a long shot. Web applications are built with universal toolkits nowadays, XUL has never been one, it has always been Gecko-centric. The probability of implementing XUL in Webkit is roundabout zero. So what’s left to Firefox? Actually nothing. Mozilla has missed the opportunity to develop a great rendering engine by setting it free from all the Mozilla framework. They are years late on separating the engine and applications (XULRunner). They have a load of cross-platform infrastructure libraries, which should have emerged to separate open source projects years ago. They haven’t. Now, Mozilla is trying to fix loose ends in an over-due project, barely fixing crashes and memory leaks and integrating things to the mainline, which are better left to extensions.

Mozilla has lost its open source spirit long ago. We’ve missed that tipping point, because we were eagerly waiting for Firefox to kill IE. It’s now time to wake up and save what’s there to be saved. And to join the next web revolution, which will be lead by Webkit.

, ,

For God’s sake: there is more to the world than just USA

November 2nd, 2007

Raganwald links to an article about e-mail address validation (which is actually “checking”, rather than validating, since validating would include asking the mail server in question) using regular expressions. This website seems to be a first-stop location for every programmer wishing to check e-mail addresses entered by his visitors or finding them in a blob of text. So far nothing wrong with it, the expression even includes support for +-addressing which some prominent sites nowadays like FON fail to support.

There is just one small thing: there is more to the world than just USA and just English language and ASCII for that matter. info@müller.info is valid. info@例子.测试 is too already and such addresses will someday be commonplace. The definitive rule of the thumb for e-mail validation should be

Before you validate an e-mail address, make sure you convert it to {en:Punycode} beforehand!

WordPress Loves AJAX