Microsoft Virtual PC 2004 RTM

Development, Software Comments

Microsoft released Virtual PC 2004 to manufacturing.

However, it's not available for MSDN yet, but:

Microsoft Virtual PC 2004 will be made available later this year through Microsoft's existing retail and volume licensing channels. It also will be included in Microsoft's MSDN® subscriptions, and volume discounts are available through Microsoft's Open, Select and Enterprise Agreement volume licensing programs.

C# 2.0 generics

Development Comments

I'm playing around with C# 2.0 templates a.k.a. generics. I was really missing them in the past, but finally, they're there.

However, the specification for C# 2.0 says in §20.1.1: A type parameter cannot be used directly to declare a base class or interface. Why such a restriction? In some cases you may be able to write your own base class, but often you're not. If I want to extend several existing classes with some additional functionality, I can't. Of course I could derive from each class and add my desired members, but if it's functionality I want to add to a few classes, it's quite impractical.

I've written an example. This generic would write to the console, whenever the base control is clicked:

public class ClickedControl : T where T : System.Windows.Forms.Control
{
    public ClickedControl()
    {
        base.Click += new base_Click;
    }

    private void base_Click(object sender, EventArgs e)
    {
        Console.WriteLine(base.Text + " was clicked");
    }
}

In your code you could just write

ClickedControl<System.Windows.Forms.Button> myButton;

Don't try that home. Well, you may try it, but won't compile. Unfortunately.

SharpReader 0.9.3 published

Software Comments

Luke Hutteman has released a new version of SharpReader:

SharpReader 0.9.3 is now available for download at sharpreader.net.

Changes since the last version are:

  • .NET 1.1 only. Go to windowsupdate.microsoft.com to upgrade if you currently only have .NET 1.0 installed
  • Added support for HTTP Authentication (either through a username:pwd@url, or through a popup authentication dialog)
  • FeedValidator.org url change
  • Multi-select enabled in headline-view
  • Handle feed:// protocol. Links to a feed:rss-url will automatically open in SharpReader. For example feed:www.hutteman.com/weblog/rss.xml would open my rss-feed in SharpReader.
  • Updated to use log4j 1.2.0 beta 8 - this build no longer has the Win98/WinME bug
  • Improved performance of opening new browser windows for users with IE as their default browser.
  • Support for the <wfw:commentrss> element.
    • Comments are retrieved on demand and are cached across sessions.
    • If both <wfw:commentrss> and <slash:comments> tags are present, SharpReader changes the comment-count displayed when you delete comments, and also displays the number of unread items.
    • For items no longer in the rss-feed, a "+" is displayed after the comment-count to indicate more comments could have been added since the item disappeared from the feed.
  • Fixed bug that sometimes caused an InvalidOperationException (Collection was modified) to occur.
  • Save subscriptions right away when new feed is added.
  • Load subscriptions.xml even if there was a problem loading settings.xml (previously you would lose all your subscriptions if this happened).
  • Added feed-property to specify whether to automatically open the links belonging to an item. Property can be set to "always", "never", or "only if no description is present".
  • "Copy IE Proxy Settings on SharpReader startup" option on the proxy-tab.
  • Bypass proxy for local URLs
  • Systray popup when new items arrive (can be disabled on a per-feed or per-category basis through the properties pane)
  • Memory consumption has been reduced by approximately 25%. Startup performance has also been improved.

Yes, the memory consumption is better now, but still high. However, what I really like is the that the option to open links always, never, and only if no description is present is per feed. Some feeds do contain only a few lines of the entire posting, so for these I set the option to always. I really like that.

And finally it provides toasts...

Though I like the UI of FeedDemon much more, I think I'm going back to SharpReader. Maybe Luke will publish the source code some time Blushing

Process Explorer 8.02 released

Development, Software Comments

SysInternals have released Process Explorer 8.02 a few days ago.

Another major Process Explorer update on the heels of v7.0 brings a slew of enhancements in addition to a more menu options: only non-zero CPU usage is displayed (you'll wonder why Task Manager doesn't do this), replace Task Manager with a new option, see interrupt and DPC time, view context switch counts, look inside .NET processes, configure highlight colors, view CPU usage in a color-coded tray icon, and much more.

[Thanks to Roy Osherove for the SysInternals feed via his SiteFeeder]