Microsoft DevLabs

On the DevLabs site you read: “Any truly remarkable software innovation that introduces a paradigm shift is based on solid inventive ideas. But it also needs discussion, trial, collaboration, and a critical eye. Explore the projects that we are experimenting with in our labs, and let us know if they inspire you.”

Currently there are four projects there:

  • Popfly, a “fun, easy way to build and share mashups, gadgets, games, Web pages, and applications”
  • Small Basic, a “simple and easy programming language with a friendly environment that provides a cool and fun way of learning programming”
  • Pex, an “intelligent assistant to the programmer”
  • CHESS, a “concurrency testing tool for finding and reproducing concurrency Heisenbugs in your code. CHESS can find assertion violations, deadlocks, livelocks, data-races, and memory-model errors. CHESS works both for managed and for unmanaged code”

API Hooking

Detours is a Microsoft library for instrumenting arbitrary Win32 functions (by Microsoft Research), unfortunately not free. There is a paper Detours: Binary Interception of Win32 Functions by Microsoft guys. In addition, there is API Hooking with MS Detours article on CodeProject.

Then, there is EasyHook“The reinvention of Windows API Hooking” as they say themselves – which allows to hook APIs from managed code and write managed detours. This one is free, and from what is there it looks even more interesting than Microsoft’s Detour. And there is also a related CodeProject article.

Garbage Collection in .NET

Still in 2000, Jeffrey Richter wrote a two-part article for MSDN Magazine titled “Garbage Collection: Automatic Memory Management in the Microsoft .NET Framework” (part 1, part 2). I am not sure here, but I guess that not that much has changed in the principles of garbage collector’s inner workings since then, so this article, despite being oldish, is giving a good idea about what is happening during garbage collections and why.