Well, this isn't exactly news but I didn't check out the progress of some projects for a while and while doing so today I realized that two of my favorite open source projects released new versions lately. DOSBox 0.63[^], which was released two months ago, seems to be a bit faster compared to the previous release. I used Rise of the Triad[^] for a quick test and it now runs smoothly on my Pentium 4 at 2 GHz. The second new release is version 0.7.0 of ScummVM[^]. The last version I used (0.6.1b) already allowed playing for example Sam & Max Hit the Road[^] without any problems and I only encountered some minor issues while playing The Dig[^]. But it's good to see that they keep on fixing bugs and even adding new titles to the list of supported games.
Paint.NET 2.0[^], developed at the Washington State University and supported by Microsoft (if you take a look at Rick Brewster's blog[^] right now you will mostly find posts about Paint.NET), was released last Friday (2004-12-17). It is 'meant to be a free replacement for the MS Paint software that comes with all Windows operating systems'. There are two cool facts about it. First, it is (almost) entirely written in C#. Second, it is open source, released under some kind of shared/open source license[^]. The source code as well as install packages can be found on the project download site[^]. Of course I did not download the install package but the sources and tried to compile it with Visual Studio 2005. And it compiled almost smoothly. However it took some investigations to find out that it requires the Microsoft Windows XP Tablet PC Edition Software Development Kit 1.7[^] (a lot of links still point to the version 1.5 of the SDK). Also I had to make some small code changes (none of them seemed very crucial) to work around some compiler errors. Altogether a very cool program and again a great demonstration what you already can do with the .NET Framework.
I guess I'm not the only one who always thought that the .NET Framework 1.x collections were lacking of some useful features. Implementing the version 2 collections with generics made them more flexible and easier to use. However one might still miss some features.
It is the intention of the Power Collections open/shared source project to furthermore close the gap in the list of features with additional collection classes written in C#. The project is co-sponsored by Microsoft and Wintellect and led by Peter Golde[^]. Developers are welcome to participate as it is still in progress and not even the specification has been finalized yet.
This find is both amusing and alarming. In this detailed report "Follow the Bouncing Malware" Tom Liston from the SANS Institute's[^] Internet Storm Center[^] (ISC) describes the adventures of "Joe Average". "Joe" surfs the net with his new un-patched Windows XP machine unaware of the dangers awaiting him. Including not only the names of the sites involved but also a lot of code snippets makes this an interesting reading. So far there are three parts and Tom promised at least one additional installment with more details about the "helpful" software "Joe" installed unintentionally.
After two years since its online publication (and after being postponed due to "more important titles") the year-long General Protection Fault (GPF)[^] story Surreptitious Machinations[^] is now available for pre-order[^]. Like the previous three titles this one will also be published by Plan Nine Publishing[^]. Since there are already two other complete volumes of GPF available online I hope that the fifth book will be announced soon.
Well, I already knew about this ominous CrashOnCtrlScroll key that allows you to crash Windows by pressing Scroll Lock twice while holding right Ctrl. My best guess was that this "feature" was accidentally left in the final release. Far from it! This function is even documented in the Windows 2000 Scripting Guide[^] (I read about it on another website) including an end user use case at the end of the chapter 'Querying the Event Log for Stop Events[^]'.
A few weeks ago I and some colleagues were wondering if it would be possible to build a record player with an optical pickup. We finally agreed that it should be possible since a sound wave on a record is nothing else than differences in elevation on both sides of the groove representing the two channels of a stereo recording. Theses elevation differences can be measured optically. Nice theory, isn't it? Well, what we didn't know was that a product based on this concept already exists. The Japanese ELP Corporation[^] developed, manufactures and sells what they call the Laser Turntable[^], a record player using a pickup with five lasers. I would definitely like to have one (it's a cool geek toy for archiving rare recordings which are not available on CD) but 10,000 USD for the entry level and 13,000 USD for the high end version[^] (without any accessories of course) is a 'little' bit more than I would be able to spend on it. But that's not all. In September of 2002 Ofer Springer wrote a program called Digital Needle[^] to regain the sound wave on a record from a scanned image of it. While this was highly creative it was also highly experimental so beware when listening to the samples (it's kind of weird ). It sounds as if the resolution was too low and there was as low-pass filter missing. I wonder if this technique will ever be developed to a product considering the resolution the scan of the records must at least have to regain a 20 KHz signal from one of the inner grooves.
I just read an article titled Program Lets People Design 3-D Objects[^] about a company called eMachineShop[^] which lets customers download a free CAD program to design their own parts. When they're done it calculates the costs for that part and if the customer wants to have it he or she can order it online. It's a really clever combination of CAD, manufacturing and the internet to meet the customer's needs.
IronPython[^] is an experimental implementation of the Python Programming Language for MS .NET and Mono. Although I surely can not claim to know Python very well (actually I just ran over the official Python Tutorial a few times) I definitely like the idea of having a .NET implementation. This has something to do with my interest of being easily able to add scripting possibilities to .NET applications. While the .NET Framework generally provides all the basic infrastructure to do so the question is which language to choose as the application's scripting language. It seems that there are situations where you want to provide scripting features to users who are not necessarily programmers. In this case C# appears to be oversized. The first programming language I learned was Basic on a Commodore 64. This is the point where you should think about what the acronym BASIC originally meant: Beginners All-purpose Symbolic Instruction Code. Don't get me wrong. I surely won't suggest a .NET implementation of the Commodore 64 Basic. But then again a Basic dialect like Visual Basic .NET which evolved over many years and consists of even more keywords than C# does not seem appropriate for certain scripting scenarios where you address programming rookies and don't need the full functionality of C# or VB .NET.
Last Visit: 31-Dec-99 18:00 Last Update: 29-Apr-17 6:33