To start the “Blogs I’ve Read” category, I thought I’d begin with the blog for VirtualDub. This is at the forefront of my mind since I’ve just finished reading the last 7 years of archives with pretty much every post being really interesting.
Since VirtualDub is a video capture and processing tool, the blog itself covers a wide range of topics:
- The optimization of assembly code targeting different chips and architecture features such as MMX, SSE and AVX. Since the video filters are low-level code working on pixel data, the code can be optimized to target the features available on each platform. His knowledge of instruction timing and ability to define the expected cycle count of his loops shows that he has a deep understanding of the hardware he’s coding for.
- DirectShow. I now know too much low-level DirectShow information without having ever really looked at the high level, but if I ever had to look at writing something that uses it, at least I know to be afraid, be very afraid.
- Trying new versions of Visual Studio. Having worked through so many different versions starting with Visual C++ 4.0, he has the same expectations and feedback as many other VS users.
- Developing the VirtualDub user interface while maintaining compatibility across a wide range of Windows versions.
- Handling dodgy plugins such as 3rd party video and audio filters which give me the fear as to the quality of random codecs.
- Then, when you think you’ve read all you can about VirtualDub, he introduces Altirra (introduced here), his 8-bit Atari emulator. And it’s not like a hobby project that can emulate the basics and run simple tests, the work he’s done on this emulator has been heavily based on in-depth research about the hardware and the quality of the emulator shows through in the successful running of a range of titles.
Some of my favourite posts
As an overview of the blog, here’s some of the posts that I really liked:
- An absolutely brilliant way to make sure buggy programs don’t get fixed – A good example of an in-depth investigation into a scary problem with Windows and its impact on application developers.
- How to fix an incorrectly converted build rule in VS2010 – With Visual Studio being a central part of the development workflow for VirtualDub, any issues with an upcoming or recent VS appear on the blog straight away.
- Optimizing a FIR filter routine – A classic routine optimized from the raw C into SSE with a description of the techniques involved and the performance on both Core 2 and Atom – this is the kind of post that I really love.
- Visual Studio 2010 RC: Impressions – More Visual Studio investigation, this time looking at the Release Candidate for VS2010 covering all of the common areas that you’d want to know about.
- JSON >> XML (at least for me) following An XML annoyance – The first post of this pair highlighted one of the major issues with writing your own XML parser with the followup looking at JSON which I’m beginning to like for its simplicity.
- Optimizing for the Intel Atom CPU / Optimizing for the Intel Atom CPU, part 2 – Another great pair of posts about optimization relevant to anyone developing an application that could be used on a netbook.
- Just because it is not your fault does not mean it is not your problem – I really liked this post since it covers a problem that occurs with development when a dependency or even something that isn’t a direct dependency impacts your application and you need to make a fix to help users avoid the problem.
The blog author writes very readable posts and with such a range of topics, each one is unique. As a developer, I agree with his stance on many of the issues that he raises, and I like the way he gets involved with the commenters on the blog.