Send Feedback
RSS Feed
"I suppose you could call that a personality. Each machine has its own, unique personality which probably could be defined as the intuitive sum total of everything you know and feel about it. This personality constantly changes, usually for the worse, but sometimes surprisingly for the better, and it is this personality that is the real object of motorcycle maintenance. The new ones start out as good-looking strangers and, depending on how they are treated, degenerate rapidly into bad-acting grouches or even cripples, or else turn into healthy, good-natured, long-lasting friends. This one, despite the murderous treatment it got at the hands of those alleged mechanics, seems to have recovered and has been requiring fewer and fewer repairs as time goes on.

There it is! Ellendale! "

– "Zen and the Art of Motorcycle Maintenance" by Robert M. Pirsig
Blog Entries
Silverlight 3: Better Look, Poor Performance
14.07.2009
The new Silverlight release allows developers to render relatively sharp picture. See the screenshot from the controls demo done by vectorlight.net:

Its a big step forward, of course.

But the performance of almost every runtime aspect of Silverlight applications is very poor.

It is pathetic to see a demo of a Silverlight controls toolkit from some famous UI component vendor, which contains a "professional data grid" with 10 rows, because Silverlight just cant perform in acceptable way with more rows in the grid.

Microsoft still has a lot to do about Silverlight.

Last updated: 14.07.2009 8:50:44
Path.Combine() for C++
21.06.2009
This C++ routine may be useful if you need to concatenate two file system path strings in a safe way (just like .NET Path.Combine() does).

  1. wstring PathCombine(const wstring& p1, const wstring& p2)  
  2. {  
  3.     if(p1.length() == 0)  
  4.         return p2;  
  5.   
  6.     if(p2.length() == 0)  
  7.         return p1;  
  8.       
  9.     const wchar_t sep(L'\\');  
  10.   
  11.     if (p1[p1.length() - 1] != sep)  
  12.         return p1 + sep + p2;  
  13.     else  
  14.         return p1 + p2;  
  15. }  
Last updated: 22.06.2009 8:54:50
View All Entries