Wednesday, February 25, 2009

What matters in a web browser

I've been installing variety of browsers ever since there were browsers to choose from. I like playing with them, comparing them, and just have them lying around.

Today I've installed Safari 4 beta. What can I say, the Apple dudes delivered what they had promised - a blazingly fast browser, slick UI, and it has the coolness atmosphere that surrounds Apple products. Actually, it feels like the fastest browser I've ever used. Moreover, Hebrew support is great, and many problematic Israeli websites are loaded as perfect as they load on MS's browser - only way faster.
So I played with the cover-flow interface, browsed some heavy websites - and closed it. I don't think I'll get back to it anytime soon (unless for finding some vulnerabilities within). Why?
It seems that since its 0.9 version, I always got back to Firefox after trying different browsers. Chrome was the only browser that stole me for an entire week. Why?

I know the answer. Although it is not the prettiest, not the fastest, nor the best supported browser - it has a HUGE community. And what does this community bring? Free (as in freedom and as in beer) add-ons. Without my ad-block, foxmarks, Firebug, proxy-switcher, screengrab, themes, etc. I'm totally lost. Those add-ons really make the difference! The Internet looks and behaves differently (in a bad manner) without them. So no matter what the other company will bring out the the factory - that browser doesn't stand a chance until it starts supporting FF's add-ons. This reminds a little the hold MS has on the desktop applications - one is so familiar and comfortable with them, that making a switch could be a hard decision.

So what add-ons do you have on your fox?

Sunday, February 15, 2009

Lunix is Soviet

This one is simply hilarious. As much as it's old, it's still funny. Not sure whether the writer was joking or is a complete idiot.
And what king of a parent will you be?

Saturday, February 14, 2009

Giving a hint

Every major DB I know supports some sort of "hinting" mechanism. What is it and why is it needed?

When a DB compiles a SQL query in order to execute it, it also decides about the best way to execute that query: which data to fetch first, which indexes are to be used, how to perform joins, how many rows to retrieve, etc. The quality of these decisions has major impact over the performance of the query.
As part of this process, a component usually known as the optimizer is running. This component is required for the construction of the execution plan, and sometimes it takes "drastic" measures, such as rewriting the query so that WHERE conditions would be executed in a different order.
Over the years RDBMS providers had put a lot of effort in order to achieve the best possible optimizer. In the course of time it started using statistics (based on ranking mechanisms and previous queries). But before that happened, each RDBMS provided an extension to the query syntax (SQL) so the developer could provide some hint to the optimizer about how he thinks the query should be executed. As the years went by, providers started recommending to avoid those hints, as the optimizer usually did a better job.

I hadn't seen a good optimizer hint for some years now, until this week. I was trying to improve some query in MS SQL Server which lasted forever, and involved an external data source. After I was about to give up and rewrite the code, I decided to give it one last chance. Digging in the execution plans I realized MS's optimizer did awful job in executing the query, so I check their hint syntax. My addition to the code was "OPTION (hash join)", and viola, the query completed within few seconds. Impressive improvement.

Improving the query (by better building it) will always be better than adding a hint, but when all else fails, this might be the only solution.

Saturday, February 7, 2009

Personal [Different] Taste

Recently I noticed I tend to disagree with many reviews I read or opinions I hear. Here are some examples:
  • I like playing "Need for speed: Undercover". I think it's a good game, which reminds me "Most Wanted" very much. Every single review I read about this game, and EA's strategy of the entire series, is very negative. I do agree the previous game (ProStreet) was a complete waste of money (yeah, I have an original DVD), but the new one is pure fun.
  • Since I'm talking about games - I hate "Dead Space" and "Fallout 3". These were considered some of the top games of 2008 by most gaming-review sites. What can I say? I think they're horrible.
  • I like KDE 4.2. I noticed that every time Linus' is switching his desktop, I switch the other way around. And not by purpose.
Also, it seems I have quite different opinions than some of my friends when it comes to movies, music, politics, you-name-it.
Good thing that in all of those fields we are not bound to some monopoly corporation, so we can choose what we like according to our personal taste.