I’ve been working my way through the Old New Thing blog by Raymond Chen for the last few months. The blog has been around for 9 years with a mechanism that posts once per day automatically*, increasing to twice some days more recently! At one point he works out how far ahead he is with his writing and it turned out to be almost a year! I’ve tried reading several MSDN blogs before, but Raymond Chen’s blog is the most readable and entertaining. (Well, Mark Russinovich is a close second place, but he used to be sysinternals which was acquired by Microsoft).
About the Author
Raymond Chen comes across as a very friendly and helpful individual. He’s very knowledgeable of Windows, appearing to have touched a lot of the code or knowing the person who wrote the original – it appears he has access to the source control logs to help track back those who have implemented some of the features he posts about. He’s a natural problem solver, applying common sense and his depth of knowledge while trying minimize the use of any psychic powers. It’s very common that he wants to know the ‘why’ of your question and make sure that you know it too, since a lot of the questions he gets are either misunderstanding the problem or trying to use the wrong solution. From time to time you also get an insight into other things he enjoys or knows deeply about such as knitting, germanic languages (Swedish, Danish, German), cycling, going to watch symphonies and eating pudding after.
- The most time intensive posts are the link-dense clearance posts which can take a while to read through.
- Raymond Chen often helpfully solves problems by highlighting the error message the programmer didn’t read, the piece of information that was missing the support request, or just psychically predicting the solution to the problem at the root of the original question.
- Other times he seems to pull magical insights out of his hat when inspecting crash reports gathered from Windows Error Reporting. In general the error reports and the philosophy about fixing those errors make for a very interesting read.
- Many of the posts referring to API usage use the source code to an example application which is reused between posts to provide a common basis. In most cases the code is extended to demonstrate the implementation of different features, showing the wrong and right way of doing things and sometimes even leaving additional questions as puzzles.
- A lot of the posts review existing documentation or APIs and adding further detail and clarifying some common misunderstandings.
- Although I don’t think he’d call himself a Common Language Runtime (CLR) expert, once a year he does a CLR week of posts that cover several CLR topics using common sense to dig deeper into each topic and referring to posts by the actual experts.
- Some of the posts are sourced from a suggestion box that appears twice a year.
- The less technical posts typically delve into Raymond’s pastimes. There’s quite a few on languages, some entertaining posts about reviewing reports from seventh grade students (12 to 13), some posts on cycling adventures and each year there’s a write-up of the upcoming symphony subscription season.
Some of my favourite posts
- A useful suggestion: To test the quality of a backup system, try extracting a file from the backup each week – amongst this list of links.
- There’s several good posts about the use of batch files (such as this one). In each one he pre-empts the general dislike of the batch file syntax with his agreement that it’s not great but it’s in very common use. Every time I think I need a batch file, I do wonder if I should look at something like Windows Script Host.
- A good description of how to investigate power down issues describing the powercfg tool that has been released and how to use it.
- One of many posts about Microspeak – the [mis-]use of words to create terms used by management and frequently misunderstood (or not understood at all) by the rest of the world.
- A worthwhile example of a CLR week post, How do I get the reference count of a CLR object? talks about how the CLR GC works, how reference counting isn’t a feature of it and discusses the balance between frequent smaller pieces of work and infrequent larger pieces of work – pennies vs dollars.
- The Seattle to Portland bike ride series was a really interesting set of posts. Even though they were non-technical, they definitely make a large part of my favourites list.
- Why are there two values for NoDriveTypeAutoRun which disable Autoplay on drives of unknown type? A great example of Raymond trying to be helpful and providing additional information based on his intuition, with bonus points for attempting to preempt the derailment of the comments followed by the subsequent closing of the comments.
- How do I create a topmost window that is never covered by other topmost windows? is my favourite post of the entire blog. A recurring theme that I didn’t mention earlier is the ongoing quest by application developers to be the biggest and best on top of everything else. The repeated appearance of questions about how to permanently keep their application to the front grows until this post where Raymond really shows off his skills by describing the actual options available to force your window to the front. This then continues in a game of one-upmanship with himself – more like an arms race or a game of walls and ladders. I agree with one of his colleagues, Raymond Chen is not a guy to have this kind of war with!
A word of warning
Having read the blog from start to finish, I can see an issue that I found referenced on other blogs. As a successful blogger working for a large company which polarizes the opinion of those who interact with it, Raymond Chen is made a victim of his own success:
- Some of his posts are taken as gospel, used as citations for Wikipedia content and reposted and reposted until they get a high enough page rank to be found side-by-side with the real API documentation.
- The comments following the posts split into several groups: the everyday respectful replies to the content of the post; the anti-Microsoft league vs. the pro-Microsoft league; the nitpickers who imply extra detail into every single sentence he writes.
This means that after a while, he picks up on this and new sections appear in each post, such as Nitpickers Corner and Pre-emptive Snarky Comment. Although this can detract from the message of each post, I’d still recommend you start reading the Old New Thing blog now.
* For reference, I found the best way to read the blog was to read an entire page and then refresh each afternoon (UK time) so that the new posts are added to the top of the read page.