Igoro - igoro.com - Igor Ostrovsky Blogging
General Information:
Latest News:
Is two to the power of infinity more than infinity? 22 Apr 2011 | 03:11 am
Do you know whether this inequality is true? It’s a simple question, but with an intriguing and revealing answer. Infinity #1 One concept of infinity that most people would have encountered in a ma...
Why computers represent signed integers using two’s complement 24 Aug 2010 | 08:29 pm
If you had to come up with a way to represent signed integers in 32-bits, how would you do it? One simple solution would be to use one bit to represent the sign, and the remaining 31 bits to represen...
Graphs, trees, and origins of humanity 2 Jul 2010 | 05:44 pm
Imagine that 90,000 years ago, every man alive at the time picked a different last name. Assuming that last names are inherited from father to son, how many different last names do you think there wou...
Fast and slow if-statements: branch prediction in modern processors 16 May 2010 | 09:11 am
Did you know that the performance of an if-statement depends on whether its condition has a predictable pattern? If the condition is always true or always false, the branch prediction logic in the pro...
Use C# dynamic typing to conveniently access internals of an object 2 Apr 2010 | 08:47 pm
Sometimes you need to access private fields and call private methods on an object – for testing, experimentation, or to work around issues in third-party libraries. .NET has long provided a solution ...
How GPU came to be used for general computation 12 Mar 2010 | 10:30 pm
The story of how GPU came to be used for high-performance computation is pretty cool. Hardware heavily optimized for graphics turned out to be useful for another use: certain types of high-performance...
Volatile keyword in C# – memory model explained 23 Feb 2010 | 10:57 pm
The memory model is a fascinating topic – it touches on hardware, concurrency, compiler optimizations, and even math. The memory model defines what state a thread may see when it reads a memory locat...
What really happens when you navigate to a URL 9 Feb 2010 | 09:14 pm
As a software developer, you certainly have a high-level picture of how web apps work and what kinds of technologies are involved: the browser, HTTP, HTML, web server, request handlers, and so on. In...
Gallery of Processor Cache Effects 19 Jan 2010 | 11:28 pm
Most of my readers will understand that cache is a fast but small type of memory that stores recently accessed memory locations. This description is reasonably accurate, but the “boring” details of h...
Video of my PLINQ session at PDC 2009 22 Nov 2009 | 06:25 pm
PDC 2009 was an exciting event, with announcements about Azure, Silverlight 4, and Office 2010 popping up one after another. For me, there was another reason why this year’s PDC was exciting – it was ...