Are Software Vendors Ever Going to Embrace UAC?

September 30, 2009

I find it really sad that three years after Windows Vista, there’s still active software out there (distributed by leading industry vendors) that doesn’t comply with UAC guidelines and tells users to log in as administrators or to disable UAC. Here’s Adobe Updater telling me that there’s a new version of Adobe Updater available. (Why I would need a piece of software constantly running on my system and trying to see if I want to update the software that is trying to update my software is another question, left to yet another rant.) Right,...

How Are Methods Compiled Just-In-Time and Only Then?

September 27, 2009

We all know that the first time a .NET method is called, the just-in-time (JIT) compiler is invoked to compile the method’s IL representation to the native code for the particular platform it’s running on (x86, x64 or ia64). Did you ever ask yourself how this happens? The naive way to think about it is the following: Every time a method is called, the generated native code checks a flag that indicates whether the method has already been compiled (jitted). If it has been, the code jumps directly to the compiled method; if it hasn’t been, the code...

.NET Performance: Tales from the Field

September 14, 2009

Today I had the pleasure of presenting at the IDCC (Israeli Developers Community Conference). This unique conference was organized by the community, for the community and the sessions were selected by members of the community. I’m also proud to say that my company, Sela Group, has sponsored the conference. Overall the day has been great with lots of interesting talks. My session, .NET Performance: Tales from the Field, was one of the only sessions I ever delivered that didn’t have any code at all. I’m not usually proud of not showing code, but I deliberately wanted to focus...
one comment

C++ Wrapper for Windows 7 Taskbar Tabbed Thumbnails

September 7, 2009

A few weeks ago we took a detailed look at the intrinsic details of providing Windows 7 taskbar tab thumbnails and live previews in a Win32 application. As part of that post I mentioned a C++ wrapper called TabWindow which takes care of most of the nasty details and leaves only the work of creating the tab controls and rendering them to the application developer. Here’s the public API of the TabWindow class and its corresponding TabWindowEventsSink callback interface (slightly edited to fit): class TabWindow { ...
tags: ,

Exploitable Crash Analyzer

September 6, 2009

The Microsoft Security Science Team released a debugger extension that performs automated crash dump analysis and assesses the security risk associated with the crash. It’s extremely simple to use—fire up WinDbg, open the crash dump (or debug the application until it crashes), load the debugger extension and execute the !exploitable command to receive an immediate risk assessment. I immediately wanted to try this thing out, so here’s what I did. I wrote a simple console application that reads user input with gets into a 4-character buffer: int main(int argc, char* argv) ...
no comments

Creating a Custom Windows 7 Troubleshooting Pack

September 5, 2009

Windows 7 offers a built-in troubleshooting platform that consolidates the typical user’s support and troubleshooting needs into a single consistent user interface with dozens of specific troubleshooters for common problems. If you haven’t seen the Troubleshooting Platform in action yet, go ahead and type “troubleshooting” into your Windows 7 start menu and open the Troubleshooting control panel applet. You can try some of the troubleshooters now. I’ll wait here. One of the easiest ones to repro and use is the “Check for performance issues” troubleshooter. Go ahead and change your power plan to the...

Parallel Programming in Visual Studio 2010: MSDN Event Deck and Demos

A couple of days ago I delivered a session on Parallel Programming in Visual Studio 2010 at the Microsoft offices in Raanana. The deck and code will appear on the official website (of Israel MSDN Events) shortly, but for now you can download them from my SkyDrive: Deck Demo code This session complements my earlier session on Concurrent Programming fundamentals, in which I provided a theoretical overview of some of the architectural and implementation issues in modern concurrent applications. In this session, I focused on code and demos—I...
no comments