Andy Pennell's Blog

See me blather about software development, Gadgets, Technology, Fatherhood, plus anything else that gets me going.

Browse by Tags

Tagged Content List
  • Blog Post: The Best Microsoft Keyboard. Ever. The Natural Keyboard Pro.

    Keyboards are a very personal thing. For those of us whose job requires their use basically all day, every day, they are the piece of hardware that we have to be comfortable with. A good keyboard will stay with you for years, decades in fact, but PCs will be upgraded and so will your monitors. Microsoft...
  • Blog Post: Finding Your Own IP Address On Windows Phone Mango

    For reasons never adequately explained there is still no API to obtain the IP address of the phone from a WP app. However if you want the IP address on the local wifi network, help is at hand, via this sample code. The way this works is that the phone does a multicast of its own invention, then listens...
  • Blog Post: Cheap Video Card for Windows Phone XNA Development

    With the release of the RTM version of the Windows Phone 7 developer tools, some folks are running into the video card requirements that block them from running XNA applications in the emulator. I hit this problem on my home machine too, and the solution was this video card for $20 after rebate: http...
  • Blog Post: Two Fixes You Must Have for Visual Studio 2008 SP1

    The SP1 release of VS08 regressed some functionality compared to the original release, in a couple of critical areas. As a result it is highly likely you'll need the following two patches for it. I know many of our team who hit these issues, cursed, came to me (because I am the "VS guy" on the team)...
  • Blog Post: How Do You Debug A Movie?

    How do you debug a movie? Before I get too old and forget, here is the story of one bug that I had to find when playing King Kong in the Xbox HD DVD player. It concludes with yet another reason I am so glad we’re not doing a Blu-ray player. The HD DVD team originally wrote the player software for...
  • Blog Post: Book Review: Essential C# 3.0

    I haven’t posted a book review here before, but that’s because no-one has sent me a pre-release draft manuscript to review before! So here it is, a review of Essential C# 3.0 by Mark Michaelis. To skip to the chase, I like this book a lot. My personal C# level is Intermediate: although I was on the...
  • Blog Post: Tricks and Tips for using the VMR9

    A few months ago I did some work involving the VMR9, and I hit several brick walls. Many of these brick walls I hit about six months previously when working on a PC application for HD DVD playback (no, there were no plans to ship it, even then), but I hadn’t taken enough notes of the solutions back then...
  • Blog Post: Using the Media Center Remote from Windows

    To save you the pain that I had recently, of trying to hook up simple support for the MCE remote control in your app, here is the important info that I found incredibly hard to locate via MSDN search: A C# article called "Using Alternate Input Devices in Your Smart Client Applications" (easily translatable...
  • Blog Post: My First Program (circa 1980)

    I recently discovered my first real program(*): from 1980, it was my attempt at Space Invaders for the RML 380Z. This was the government-subsidized computer for schools, my school ( Chatham House Grammar School ) was lucky enough to have one. One, yes, for the whole school. The Research Machines 380Z...
  • Blog Post: Xbox 360 HD DVD drive now in black

    We just got some goodies on our team: Xbox 360 HD DVD drives in black! These limited-edition drives were made especially for those of us who helped work on the product, and come along with a black remote control. All I need now is an Xbox 360 at home to plug it into and I'll be set! (It's no use...
  • Blog Post: Detecting over-Releasing on COM objects

    I am in Refcount Hell right now, trying to fix a new chunk of our codebase for COM refcounting issues. Debugging missing AddRefs consumes most of my time, and I might write about that one day, but yesterday I managed to over-Release an object and of course I crashed. Finding over-Releases is trivial...
  • Blog Post: Why Do We Always Change Notepad?

    Notepad is a given. Its on every Windows machine, going back to Win16. When you need to edit something in a hurry, on any machine, then it is the obvious tool of choice. And yet with every Windows release, someone decides to change it. Not in a big way, but for changes sake. To keep them in a job or...
  • Blog Post: Authoring iHD apps for HD DVD

    My team has just created a new forum for programmers and content creators who wish to make great HD DVD apps using iHD. Look for some interesting downloads there soon.
  • Blog Post: Correction to DLGITEMTEMPLATEEX Structure

    This wasted several hours for me this morning. The MSDN docs for DLGITEMTEMPLATEEX are wrong: there is an extra WORD member after the id member, call it reserved . Note that this struct is not in any windows header: you are expected to cut & paste it into your code. (Always a good idea...) ...
  • Blog Post: Autoexp.dat not working in Visual Studio 2005?

    As this was reported twice in the space of a week internally, I figured that external users may be hitting this too. The internal emails were along the lines of "I added my custom types to autoexp.dat and they don't work". In both cases this was because they were added at the end of the file, but if...
  • Blog Post: Displaying DirectX Errors in the Debugger

    Debugging DirectX calls that fail is a pain as the debugger cannot show the "nice" HRESULT codes as it does for COM errors (such as E_NOTIMPL). However you can tell the debugger about the custom error codes and add them to the [hresult] section of autoexp.dat. I went through the pain of hand calculating...
  • Blog Post: Property Grids Suck

    I couldn't put it better myself than Avery does in his VirtualBlog - Property Grids Suck . Not only do they suck, but the use of the word Properties in what feels like half the common menu items in VS 2005 gets to me even more. There's even a great feature in the C++ project system that appears to be...
  • Blog Post: A Better Way to Search MSDN

    I have previously ranted about the Search capabilities of MSDN, so I decided to try and do something about it. I have created a Smart Search for MSDN page, which modifies a search engine query to greatly improve the hit rate. Well, at least it works for me: I tried all of the bad examples from my original...
  • Blog Post: What does "pdb is obsolete" really mean?

    If your Visual Studio debugger says this to you, it either means Your PDB really is obsolete Your debugger is obsolete 1. It gets expensive in terms of testing and (sometimes) development to read every single old PDB format, so with each release the C++ team determine what is the oldest PDB...
  • Blog Post: What am I working on? iHD, that's what

    So what have I been working on that I haven't been able to blog about? iHD, that's what! Its the interactivity layer for the next generation DVD format, and I'm really excited by HD-DVD, with its greatly improved picture quality, capacity, and of course interactivity. Now that Microsoft has officially...
  • Blog Post: 10 Years at Microsoft

    I started at Microsoft the day after Labour Day, 1995 (which I soon learned was spelled Labor Day). This was about a week after the Windows 95 launch , so things were still pretty crazy on campus. It took years for the football (er, soccer) fields to recover from that, and in recent years the turf was...
  • Blog Post: Why is MSDN Search so painful?

    Since leaving Visual Studio, I have been using MSDN Online as my Help system. (I don't use integrated Visual Studio Help for reasons I'll spare you). As a Win32 programmer, I find MSDN Search a huge PITA. Its not that it can't find things, but the order it presents the results seem to be the exact opposite...
  • Blog Post: Failures on IDirect3DDevice9::ColorFill

    I am only a few months into DirectX programming, but this one just burned me so I thought I would share it: IDirect3DDevice9::ColorFill will return D3DERR_INVALIDCALL if the rectangle falls outside the surface at all. If you are expecting GDI-type functionality (as I was) where it would just clip...
  • Blog Post: Where is the Windows BMP Format defined?

    You'd think this would be simple: on MSDN surely. Even Google has trouble finding any microsoft.com site that defines the bmp file format. Here's how I found it (eventually): I started with a printed version of the GFF book , which is ancient, but pretty good. It talks about the ugly history of BMP...
  • Blog Post: Does anyone use dbgclr? Or even know what it is?

    My third blog entry in a row which is a question, and its becease we really want your input on these things. Do you use dbgclr? If you dont even know what it is, then the answer is clearly no. For those folks, dbgclr is a GUI managed debugger that ships with the .NET Framework SDK (and hence with Visual...
Page 1 of 2 (42 items) 12