Sharovatov’s Weblog

Another interesting week :)

Posted in personal by sharovatov on 24 June 2009

First of all, I started attending Muay Thai group here in Moscow. Three days a week, 2.5 hours each training. Found that 6 months boxing practice that I had several years ago gave me decent double jab, which is great. And it was also a surprise that I was able to survive the first warm-up – obviously, regular jogging and weights lifting did their job :)

I also took a two-week vacation to have proper rest and take time on sightseeing – still haven’t visited anything in Moscow which is a shame. Hope to spend this time productively and also finish all my hobby projects.

During the last weeks I noticed how many people in Twitter and around the world were interested in Iran elections. Once I spent enough time studying colour revolutions theory, which is a clever (and well-practiced) way to divide and rule principle that’s been working for ages. There’s enough information on the internet about this (you can start reading here or here). I really hope that all those people with green avatars in Twitter care to read a little bit about what the background is. The whole situation reminds me of how world went crazy about Tibet in 2008, but nobody cares about Tibet now :) And I’m pretty sure that there will be some protests against 2014 Winter Olympics in Sochi. Well, we’ll see.

Another interesting discussion I noticed on Twitter is about Outlook 2010 using Word engine to render and compose emails. shows us an interesting comparison screenshot of the same webpage displayed in Outlook 2000 and Outlook 2010. Yes, it’s a webpage, not an email. Would you spend hours on creating such email? I doubt. The only use case that I can see for such multimedia-intense email is for newsletters. So yes, Outlook 2010 will use the Word engine just as Outlook 2007 does – to create and edit emails. I’d love to be able to limit my emails styling to HTML4.1 and CSS 1. I don’t want javascript, flash, silverlight or anything else working in my email client. I simply want to read emails. Plain HTML plus some basic CSS would perfectly do for nearly any type of conversation. But of course, that’s my personal attitude.

There’s a couple links on the topic:

  • has a good FAQ and explains why Microsoft took the decision to use Word engine in Outlook 2007
  • gives a good review of HTML support  in different email clients and provides guidelines for creating good HTML email that will be displayed similarly everywhere

I also started exploring place where I live – found a river with ducks and ducklings and obviously fish (as there were two fishermen sitting fishing).

Here’re some photoes:

04062009384 04062009390 04062009403 04062009411


Opera revolution fail

Posted in no category by sharovatov on 16 June 2009

Opera announced “Opera Unite” concept – they integrated a web-server right into Opera and made Opera Desktop Gadgets run on it.

All the services Opera Unite offers are web gadgets, so they are built in html+javascript with some additional API provided by the browser.

To get any of the services, you must register at Opera. When you register, you give your computer a name, e.g. “home” and then you are provided with a URL where yourlogin is what you chose as a login when you were registering.

File sharing service is basically a web server directory listing exposed to the internet. This is my understanding how it works:

  1. You point Opera Unite to a directory
  2. Opera internal web server starts listening 8840 port locally
  3. Opera opens a persistent connection to ( IP address in my case)
  4. So when anyone opens up, server requests the list of files from your machine using a persistent connection that you opened and sends the response back to user.
  5. when you close Opera, web server is shut down, connection is dropped and nobody can download anything.

So sharing can work ONLY when your computer is working and Opera is running.

So none of the services can work when computer is turned off or Opera is not running.

When you want your sharing/chat/fridge services to be working, you will need to keep your Opera running. And if several users start using it, your computer will slow down significantly. And if you by any chance put a link to an image hosted in your Opera Unite on a popular site… Your computer will either stop responding or eat 100% resources.

That’s what John Resig, the author of beautiful jQuery says:

I just tried to visit six Opera Unite pages and only one resolved. The future of the web is two 9s: 0.99% uptime!

Useful service? I doubt.

Photo sharing service is just crap at the moment. My Opera Unite serving 1 client with a Photo Sharing page with thumbnails eats 60-70% of CPU and up to 200 Megabytes of memory. Full-blown web servers like IIS7 or Apache2 would serve this page and static files in a milliseconds without any noticeable resources eating. Thumbnails are created in really poor quality.

In Web Server service CGI is not supported, in-memory modules are not supported. PHP is not supported. The only language you can use is javascript. HTTPS is not supported.

Opera says that the communication between users is done directly. Truth is that it’s done through Let me repeat it, all the traffic goes through Are you ready to give all your information to Opera? Do you trust them so much? Do you care about your privacy? Do you think they will care about users after what they did to Windows 7 users in Europe?

Opera says this is a revolution – I can only see a bad (or alpha, not even beta) implementation of a rather poor technology. When I go out, I don’t leave my laptop working and Opera running, so the sharing won’t work. And I don’t want my browser to take 100% CPU and 400 Mb RAM when two users are watching static pages with static thumbnails. And it’s not p2p as all the traffic goes through Opera servers. There’re plenty of good services that do their work and don’t pretend to do a revolution where there’s clearly nothing revolutionary.

This makes me laugh:

Our computers are only dumb terminals connected to other computers (meaning servers) owned by other people — such as large corporations — who we depend upon to host our words, thoughts, and images. We depend on them to do it well and with our best interests at heart. We place our trust in these third parties, and we hope for the best, but as long as our own computers are not first class citizens on the Web, we are merely tenants, and hosting companies are the landlords of the Internet.

P.S. Opera engineers said that in the final version p2p file sharing will be implemented – well, let’s see.

Share :

Opera to reinvent the web?

Posted in browsers by sharovatov on 15 June 2009

Opera promises to reinvent the web tomorrow. I mean, really, reinvent the web? Invent TCP/IP, HTTP, DNS, HTML/CSS/JS, CGI, all other stuff that web consists of? I doubt.

Different sources speculate that it’s going to be something cloud-related. Maybe it will be a p2p-based traffic sharing with some clever algorithm to determine where to download the data from? But then I wouldn’t like anybody to be able to sniff my data. Maybe they will install a CDN to make useless Opera Turbo giving at least some performance benefit to users. Don’t know, we’ll see very soon.

But because of the last unfair actions that were taken by Opera against IE, I (from moral prospective) really hope that all the expenses they took for Opera 10 PR won’t significantly increase their market share. Competition should be fair, Firefox was able to get the same market share as IE in Germany without making users life harder. I really hope that lobbying expenses were higher than the income.

Tagged with: , ,

Useful JS tips – getBoundingClientRect()

Posted in javascript by sharovatov on 12 June 2009

What do you use to get element’s offset? Looping through its parents and summing offsetLeft/offsetTop numbers? I bet you had problems with it. Well, I did, especially when additional positioning context was generated by an element with position!=static.

10 years ago in IE5.0 Microsoft invented a better way – getBoundingClientRect() method. It’s been popularised by PPK, specified in cssom-view spec, copied by Firefox 3,  Opera 9, Chrome 2, Safari; used in jQuery.

element.getBoundingClientRect() basically returns the object containing this element’s coordinates according to the window element. So you don’t have to do a loop, just call this method once and get the results. The only thing it doesn’t count for is scrolling offset, which can be calculated easily.

Extremely useful, thanks Microsoft IETeam!

Share :

Tagged with: ,

Windows 7 will be shipped without IE8 in Europe?

Posted in browsers, IE8, windows 7 by sharovatov on 11 June 2009

As CNET states, Windows 7 will be shipped to Europe without IE8 because European antitrust regulators told them so. This clearly shows how rotten EU antitrust committee is and how easy it is for a well settled lobby to force the whole EU to accept absolutely stupid and nonsense act.

Who will gain any profit from this?

Users? No, they will have to find a way to get any browser on their new computer. And what if it’s their first computer? How are they supposed to download anything from the internet? Yes it’s a five minutes job for an IT specialist, but go teach your grandmother how to use ftp.exe to download anything ;)

Hardware vendors? No, they were always able to install any browser on the computers they sell and make it the default one.

Other browser vendors? To a degree. Anyway Microsoft will provide hardware resellers with an IE8 pack – so they can install IE8 on all the computers they build.

Is there any sense at all in this decision? I can’t see it.

I just don’t get it, really. If I’m buying a car, I won’t argue that the tyres on this new car are from Pirelli (or any other vendor). I will just change them if I don’t really like Pirelli, or choose another car which doesn’t have Pirelly. I’m not prohibited to change them. I’m just given the default one.

And now compare this situation with Apple who clearly prohibits installing Opera on its iPhone. Because it would compete (and, obviously, win the competition) with their Safari browser. Why doesn’t EU antitrust committee look at this? Why don’t Opera take any action here?

Share :

Tagged with: , , , ,

Intel mini ITX D945GCLF2D motherboard

Posted in no category by sharovatov on 10 June 2009

I always wanted to have a second computer where I could install Windows Web Server 2008 (or Win7) with IIS, SQL Express 2008 and run, develop and test my hobby projects locally. Well, you know what it’s like to have a second computer – you can do whatever you want on it and never be afraid that you do anything wrong with your work PC :)

My work PC is quite noisy and I just can’t find time to determine which one of 4 coolers is causing the trouble and replace it. So I wanted to  build a computer that would be really quiet (or silent at all) so it wouldn’t add any noise and that I could leave it working at night if required. Then I thought that I didn’t need this computer to be really powerful – I wasn’t going to encode video on it :) And I could save a fortune on buying something that wasn’t a cutting-edge most powerful Core 2 Duo Quad Extreme Mega Turbo Something with 64 gigs of RAM.

I’ve been reading a lot about nvidia ION platform recently and thought it would be the best solution for the task – extremely small and nearly silent platform with great specs: dual-core Atom 330 CPU, up to 4 gigs of RAM, good Nvidia graphics card. But then first motherboard with NVIDIA ION and Atom 330 was announced – ZOTAC IONITX-A-U, which is great but according to different sources would cost $300, which is way too much for such a device.

So I had a look at Intel’s motherboard – D945GCLF2D. Yes it has Intel GMA950 video chipset, but as this machine was considered to be used without a monitor, I didn’t care which video card it would have. It also doesn’t have a WI-FI, but at the moment I’ll just plug it in the network switch and if required will add a wi-fi card later. And the price was great – I was able to get the motherboard and a 2Gb memory card at $125 total. I already had a HDD but had to buy a power supply – and here it is, a computer for 160 dollars. 2 Gb RAM, integrated dual-core Atom 330 CPU, 80 Gb HDD and 2 Gb USB flash card for Ready Boost – a great local web and database server, NAS and download box.

The only noise I can hear from it is a small noise of power supply cooler – so I plan to measure what power consumption this system has and get a fanless power supply fitting this motherboard needs. And also I’m planning to build my own case for it – something that could be screwed to the wall near the network switch.

And I’m also sure that such a computer would be ideal for most office needs – it’s capable of doing any office work, it’s really cheap ($300 with any of the great mini ITX cases on the market) and it’s small so it won’t take precious office space.

Awesome, just awesome.

Thanks, Intel!

Share :

Tagged with: , ,

Firefox Build Your Own Browser – a poor copy of IEAK?

Posted in browsers, IE8 by sharovatov on 9 June 2009

Mozilla team recently announced that version 3.5 of Firefox browser will come with a bunch of features that will provide companies and individuals to build their own versions of Firefox.

According to PCWORLD, Mike Beltzner, director of Firefox at Mozilla Corp. said:

The Build Your Own Browser program is a good fit for enterprises that want to create a customized browser that can be easily installed across multiple corporate desktops

I couldn’t find exact details what’s going to be available for customizers, but different sources say that it’s a Personas project combined with CCK. So you can setup your company logo, bookmarks, home page, search engines and do other cosmetic changes to the browser. It’s obvious that Mozilla wants to gain some market share in corporations where IE is 100%. But if “Build Your Own Browser” campaign has CCK as a core, than it’s just a usual marketing hype and nothing else. It can’t even be compared to IEAK

There’re a few reasons, Mike, why IE is so wide-spread in corporations. First reason is that it supports proper customisation through IEAK, second – if IEAK is not enough, IE can be fully configured through Group Policy, third – it supports ActiveX which is a must-have for building real intranet applications. Passport scanners, barcode readers, label printers, CCTV – all this hardware automation is done through ActiveX.

So until Firefox becomes a real platform for building intranet web-applications and gains a proper customisation and integration with AD, it’s not going to be on the corporate market.

For reference, read this blog post.

Share :

Tagged with: , , ,

Skype blocking 80 and 443 ports

Posted in web-development by sharovatov on 8 June 2009

When trying to start an IIS7 website, you can get the following message: “The process cannot access the file because it is being used by another process. (Exception from HRESULT: 0x80070020)”:


It’s saying it can’t access the file, but actually IIS can’t bind the ports you’ve configured in Bindings configuration. But which port?

Usually I use the following procedure to find out which application occupies the port:

  1. run netstat –ano –p tcp to get the list of opened ports, find the port that’s been taken and see which PID the port is bound to
  2. run tasklist /FI "PID eq XXX" where XXX is the found PID

So in my case the 80 and 443 ports were taken by Skype. Whenever you start Skype, it tries to bind 80 and 443 ports, and so if you start your web server later, it won’t be able to work as ports are occupied. This Skype behaviour can be turned off by deselecting “Use port 80 and 443 as alternatives for incoming connections” here:


Hope this saves somebody some time :)

Share :

Tagged with: , , ,

HTML5 video tag and Internet Explorer

Posted in browsers, web-development by sharovatov on 5 June 2009

It’s interesting to see how popular <video> and <audio> tags are getting now. Every browser tries to implement it as soon as it can and shout about it as loud as possible. And now people are even starting blaming IE for being old and not supporting inline video and audio.

The whole situation reminds me of AJAX where original concept was invented by Microsoft (actual ActiveX was shipped with IE5 in 1999), then it was standardised by W3C (in a different way), then implemented by other browsers, and then people started accusing IE for not supporting this new W3C standard.

The same thing is now happening with inline video/audio playback concept, which has been introduced in IE2 in 1995, almost 15 years ago. Yes, 15 years ago, when W3C has been just founded and was still asking MIT/CSAIL to join. And now this functionality is being spec’ed in HTML5 as <video> and <audio> tags. Opera, Firefox, Safari and Google Chrome start supporting <video> and <audio> and are making a loud marketing message of it.

The original concept that was introduced in IE2 (and supported in following versions) was adding a DYNSRC attribute to IMG element:

<img src="cover.gif" dynsrc="clock.avi" controls>

When IE saw dynsrc attribute, it tried loading the movie and playing it. “Controls” attribute made IE show simple playback controls.

This is how it looked like in IE3:


However, in future versions the support for DYNSRC was limited to make developers to switch to other ways (<object>/<embed>/SMIL video). In IE5 no controls were shown, in IE7 DYNSRC ceased at all.

World changes, and now the functionality that nobody’s been using for a decade seems really new and interesting. It’s great that WHATWG is spending time on defining clear standard on how this should work and it’s really cool that Chrome, Firefox, Opera and Safari already support this draft. Of course, Silverlight supports greater level of RIA, but giving that IE Team is now really focused on following public standards, I hope that in IE9 we’ll have native support for <video>/<audio> as we had native support for XMLHttpRequest in IE7.

But my point is – credit for inline video playback functionality invention should be definitely given to IE2.

Share :

Tagged with: , , ,

Opera 10 Beta, BSOD

Posted in browsers, windows 7 by sharovatov on 4 June 2009

Just downloaded and installed Opera 10 Beta on my MSI Wind U100 laptop. It made quite a good impression on me – small footprint and quick download, fast load time. Much faster than Firefox. Displaying big pages with images, animated GIFs, YouTube flash movies – working really fast in situations where Google Chrome nearly dies (or eats CPU as if it’s encoding video).

But then I tried opening and – voila – Blue Screen Of Death. I haven’t seen BSOD for 10 years – last time I’ve seen it in Windows 98 when I ran con\con :). I don’t know how Opera 10 managed to kill my Windows 7 RC (build 7100), but here’s two memory dumps that Windows 7 prepared: 1 and 2 (I tried twice). No antivirus is installed, UAC is enabled, nothing really specific about the laptop, just plain system.

However, it works fine on my work PC. Just don’t know what to think. Will wait for the final release.

Update: I’d like to thank Sam Zhang from Microsoft IIS Media Team for looking at my crash damp – the problem was in my network card driver. I updated the drivers and everything’s working fine now.

Tagged with: ,