Death to “int” (and its variations)

I’ve been cleaning up a bunch of code lately (including warnings from our forthcoming static analysis tool.) I’m seeing a bunch of old code that uses integers when “unsigned int” was obviously the intended meaning. For instance: AddEntriesyToList( ENTRY * pEntry, int cEntries ){…} There’s realistically no way that you’d ever want to pass a…


Part II of “Breathing more life into an “old” PC”

Last week I mentioned ordering a CPU upgrade for my main home machine, taking it from 1.4GHz up to 2.8GHz. I promised to report back on the experience.   The upgrade was on my doorstep when I arrived home from work last night. Before getting started, I watched the 8 minute video on PowerLeap’s site…


The death of 3rd party system tools?

A co-worker recently asked me what I thought about the upcoming hardening of the x64 versions of Windows, which makes it harder to write cool programs like Compuware’s SoftIce, or RegMon & FileMon from SysInternals. The gist is that Windows will attempt to block modification of  the IDT/GDT and the system call tables, except by authorized Microsoft…


Breathing more life into an “old” PC

As part of this weekend’s fun improving the performance of my aging 3-year old machine at home, I found that I could upgrade to modern day CPU performance for not that much $. My main machine at home is a 1.4 GHz Dell Dimension 8100. Apparently these machines were built with pretty good componentry, including…


Are your IDE drives slower than they used to be?

This weekend during an unexpected burst of energy, I tackled the problem of my IDE drive which seemed to have gotten slower recently. A little detective work lead me to the difference between PIO and DMA mode. (Which I previously hadn’t paid any attention to. Why not? Windows takes care of all this hardware stuff,…


Mike Stall on “Why can’t I step through my IL?”

Back when I was first learning .NET, I was always wondering why there wasn’t an IL debugger. It wasn’t until I had really seen the guts of .NET executing that I realized that an IL debugger wouldn’t be particularly useful for real world debugging. The IL is just a model. It doesn’t really execute. Sure,…


Intro to Event Tracing For Windows

It’s been awhile since I’ve had a technically focused blog post, so I’m rectifying that today. Lately I’ve been doing a lot of work with Event Tracing for Windows (henceforth called “ETW” for brevity’s sake.) For the spelunker who wants to see the OS in operation, or for the developer trying to pin down exactly…


She said “Of course I will”

And with a panoramic sunset view of Seattle and the Eastside before us, I slipped the engagement ring on to her finger last night. So now it’s official, Ian. 🙂


Charles Petzold on book publishing and PC Magazine

There’s an interesting interview with Charles Petzold up on the DotNetRocks site (audio stream: Charles covers a variety of topics, but especially interesting to me was his own struggles with book publishers (e.g., lack of promotion, Right of first refusal, etc…) Also interesting was Charles’s comments on the glory days of PC Magazine with people…


Reading another process’s environment

A reader of my Under The Hood columns writes:   I know the PID of a process, I need to get the environment strings of that process. My problem is, the environment string address of each process seems different. If I can get the environment string address of a process, I can use ReadProcessMemory to…