50 million PCs are running Sciter or HTMLayout code.

Quite conservative estimation of number of PCs and Mac’s running either Sciter or HTMLayout code is 50 million worldwide so far. Thanks to Sciter/HTMLayout customers and their great applications. UPDATE: I’ve been told that at least one of companies from the list has 90 million registered users. So the total number is way above 100…

History of one web UI component

10 or so years ago I was asked to design Word Processor WYSIWYG editing component. The editor should handle editing of paged documents. It has notion of pages where document text is replaced. The text can wrap around absolutely positioned (page box related) blocks – images, text boxes, etc. To be short – something like…

Comments in source code considered harmful

In the file ResourceFontFileLoader.h (offical Windows SDK samples) you can see variable declared as: static IDWriteFontFileLoader* instance_; As you see it is a raw pointer here. And in the file ResourceFontFileLoader.cpp it is initialized with this: // Smart pointer to singleton instance of the font file loader. IDWriteFontFileLoader* ResourceFontFileLoader::instance_( new(std::nothrow) ResourceFontFileLoader() ); Note the comment….

V.I.Lenin with Mao balancing on his head and myself.

Full name of this sculpture is “Miss Mao Trying to Poise Herself at the Top of Lenin’s Head”. It is installed here in Richmond, BC, Canada. Standing near it was thinking a lot. The idea has something in it. I grew up with these names everywhere in USSR. And it is history now. Sic transit…

UI programming you said?

Usually business applications are split in three tiers: user interface layer (UI), business logic layer (BLL) and data access layer (DAL). That split is also known as Model-view-controller architectural pattern. Ideally each layer should be isolated from the rest. For many good reasons. In any case each layer operates using its own vocabulary (namespace if…

Lemma #346 about taxes.

Comparing taxes in US and Canada I came up with the following: Either you need higher taxes or you need to allow retail trade of guns.

CSSS! and computational complexity of selectors.

Lets say we have following markup: <ul> <li>First</li> <li>Second (with <a href=#>hyperlink</a>)</li> <li>Third</li> <li>Fourth (with <a href=#>hyperlink</a> too)</li> </ul> and the styling task: all <li> that have <a> elements inside have yellow background. If we would have hypothetic selector :with-child(selector) then we could write this as: li:with-child(a:link) { background:yellow; } Problem with this selector lies…