Second Meeting of the Jerusalem .NET/C++ User Group

April 30, 2012

The second meeting of the Jerusalem .NET C++ User Group will take place on May 29. This time we’ll be talking about advanced C++ topics. If you’re a developer in the Jerusalem area working with C++, this is the user group for you! Slides from the previous meeting’s talks are available online if you’d like to catch up on what you might have missed last time. The agenda for this meeting is as follows: 18:00-18:15 – Networking and refreshments 18:15-19:00 – Portable lock-free use of STL containers (Adi Shavit) 19:00-19:15...
tags: ,
no comments

The Case of The Unquoted Command Line: Process Monitor and MPGO.EXE

April 28, 2012

A few months ago I wrote about MPGO, a new Microsoft tool that ships with .NET 4.5 and enables profile-guided optimization of managed assemblies. Specifically, MPGO optimizes the layout of native images for managed assemblies, which reduces startup times, working set sizes, and page fault costs. Shameless plug: Pro .NET Performance has a large section dedicated to improving startup performance, and I’ve written about this before: Using Prefetch to improve startup performance, Rebasing and compression. Anyway, I was experimenting with MPGO and encountered a strange error when working with some of my assemblies. Specifically: C:\Temp\mpgo test>mpgo...
one comment

Deep Dive into WinRT: MSDN Session

April 23, 2012

Thanks for coming to my session on WinRT internals today at Microsoft Raanana! Preparing for this session has been very interesting for me, especially as I was mucking around with vtable pointers for the Pro .NET Performance book anyway :-) Deep Dive into WinRT In this session we talked about the following: Refreshment of how COM objects work WinRT object layout and relationship to COM The WinRT type system and threading model Asynchronous operations in WinRT ...

Restoring a Computer From Windows Home Server Backup

April 14, 2012

The other day I had the immensely fun experience of restoring my Alienware m15x laptop from backup. It’s the second time I’ve restored a computer from backup since I have my trusty Acer easyStore Windows Home Server system. It just sits quietly in the corner, gathering dust and backing up my documents, work, and memories, claiming no reward but an additional 2TB hard drive every six months. The general restore process is very simple: Burn a copy of the Windows Home Server Computer Restore CD Boot the faulty machine from the...

Honored to be Renominated as Microsoft MVP for 2012

April 4, 2012

On April 1 (yes, it has the potential of being an April Fool’s every time!) I received the renomination letter—I am honored to receive the Microsoft MVP Award in Visual C# for 2012. As I wrote a year ago, 2011 was an exciting year for C#—I had several opportunities to talk about async methods and the parallelism revolution last year, and 2012—the year of Windows 8—promises to be even more interesting for C# as we tackle the development of Metro-style apps. I wouldn’t be writing this post if it weren’t for the help and support...
one comment

What AnyCPU Really Means As Of .NET 4.5 and Visual Studio 11

The 32-bit and 64-bit development story on Windows seemingly never stops causing problems for developers. It’s been a decade since 64-bit processors have started popping up in the Windows consumer environment, but we just can’t get it right. If you forget some of the gory details, here are a couple of reminders: On a 64-bit Windows system, both the 32-bit and 64-bit versions of system DLLs are stored. The 64-bit DLLs are in C:\Windows\System32, and the 32-bit DLLs are in C:\Windows\SysWOW64. When a 32-bit process opens a file in C:\Program Files, it...