September 8, 2009
It’s been almost three years since the last release of ALAC, the open source Apple Lossless Audio Codec decoder. Today I’ve just released version 0.2.0 of the ALAC decoder. The update primarily includes added support for decoding 24-bit ALAC files, as well as minor cleanups, portability improvements and so on. Head over to the ALAC web page for more details and to download the new version.
April 12, 2009
Today I’ve released a major update to Snapper, a powerful screen capture utility for Windows. This update includes a brand new feature, Snapper Live. Snapper Live allows you to instantly upload your screenshots to a free web host, facilitating the sharing of your screen captures. With a single click, your screen captures can be uploaded to the web and shared with your friends or colleagues.
The update also includes some other minor changes and bug fixes. Snapper also remains free for all uses. So download it now!
August 13, 2008
Snapper 1.0 has finally arrived. Snapper is a neat little screen capturing application for Windows, allowing you more flexibility in how screenshots are taken and what happens to them once they are taken. Read on to find out more about Snapper, or just download it now. Also of significance, of course, is that Snapper is free!
(more…)
June 25, 2008
Well, you learn something new every day. Although explicit interface implementations are fairly common when you are implementing two interfaces with conflicting (ie, the same) member signatures, they can also be used to “hide” a interface member.
While working with the RegistryKey class today, I noticed that even though it implements IDisposable, it does not publicly expose Dispose(). Read on to find out why.
(more…)
June 19, 2008
An interesting, although generally basic, problem with Windows Forms is how to implement the singleton pattern on the forms. What do I mean? Well, consider this…
You’re writing a Windows Forms application and you have a bunch of Forms, such as a Preference window, an About window and so on. You’d like these forms to be modeless, yet you don’t want the user to be able to create more than one of them.
It’s a common problem, but there’s no built in way to handle it. Moreover, I’ve yet to see an elegant solution to it. The method explained below, which is as elegant as it’s going to get, creates a pseudo-factory class to manage the problem for you. Read on to find out more.
(more…)