Interesting compilation from Burning Heart

This might just be
this year’s most interesting compilation:

On the bonus-CD you will find such cool projects as: C.Aarmé with the
help of At The Gates and Entombed members on a new C.Aarmé track, Nine with vocalist(s)
from Haunted doing ”United Forces” by S.O.D., Division Of Laura Lee and Ebbot from
Soundtrack Of Our Lives punking up Minor Threat, Millencolin doing an Asta Kask cover
with Miezko from Nasum on guest-vocals, and Turbonegro featuring Brody Dalle from
The Distillers on vocals covering Agent Orange.

Not out until August, though.

Bad advocacy of all kinds

Rory is trying to calm
himself down
after having been trolled by
the open source adocate Chris Anthony. I don’t really see what could have infuriated
Rory so much, but then I regularly read slashdot where
stuff like that is routinely modded at least +3 Insigthful… at least Chris didn’t
use the ”M$” abbreviation.

But incoherent ramblings filled with half-truths like Chris’s are not good Open
source advocacy
. Which saddens me, because I have a soft spot for free/open source software
(FOSS), and in many ways I think it’s doing a better job than proprietary software
ever can. I use a lot of it, and have been known to fix bugs and implement
new features in various FOSS projects. In particular, I like that I can collaborate
with a bunch of programmers from wildly varying backgrounds, some of which are really really smart.

I would love to make my living developing FOSS, but very few people are smart and
lucky enough to be able to do that, and I’m not one of them. However, those that are,
are typically far more humble and openminded than what you usually see on slashdot.

But bad open source advocates are typically teenagers or in their early twenties,
they don’t speak for anyone but themselves, have no influence to speak of, and
are usually shown the holes in their argumentation, at least when they venture outside
of the group-think circles. Most of them grow smarter and humbler with age. I can
forgive them, for they don’t know what they’re doing.

But I also have a soft spot for proprietary software. It has paid my bills for the
last eight years, and in many ways I think it’s doing a better job than FOSS ever
can. It therefore saddens me when grown men with power spread similarly bad proprietary
software advocay, like saying ”Linux
is a cancer that attaches itself […] to everything it touches
” or ”The
GPL violates the U.S. Constitution
”. I have to wonder why these men, who really
should know better, so seldom are shown the holes in their argumentation. Sure,
their ramblings filled with half-truths are endlessly rebutted on slashdot and groklaw,
but it really should be the Chicaco Sun-Times reporter that publically calls
Ballmer on the FUD he’s trying to pull.

Abstract UserControls and VS.Net designer wierdness

I’m writing a bunch of user controls that each acts as a ”page” in a wizard-style
application. The setup, teardown and state management in each user control class are
similar. I’d like to have an abstract base class (let’s call it AbstractPageBase),
that inherits from System.Windows.Forms.UserControl and rovides a implementation
of the setup and teardown stuff, with calls to abstract methods (eg GetPageStateFromDatabase)
that the derived classes override to plug in their custom initialization code.

And it works fine. The stuff compiles and works as expected. The problem is when I
want to look at a derived component (let’s call it MyDerivedPage) using the VS.Net
form designer. I get an error message stating that the designer must create an instance
of PageBase, but fails since it’s abstract.

If I make PageBase non-abstract (changing all the abstract methods to virtual), the
designer can show derived controls. But that’s annoying, since I’m not guaranteed
to override all the methods I need to override. Furthermore, I cannot understand why
the designer needs to create an instance of the base class of the control I want to
edit. Why doesn’t it create an instance of the actual control instead?

Update: Jacob Grass explains why
this is, and how to work around it.

New toy: CassiniEx

A while ago, Microsoft released a small webserver called Cassini,
aimed at only hosting ASP.NET, for the developer who didn’t want to/could install
IIS, under their ”Shared
” license. Michael J. Carter took the code and added
a bunch of features
that makes it a realistic alternative to IIS in some scenarios.
In particular, it supports multiple virtual hosts, something that I’ve had
problems with
, using IIS 5.0 under W2K, so I’m going to take a look at it and
see if it works as a replacement.

It’s interesting to note that good things do
come out of the shared source releases that Microsoft has done so far, even though
the license has been throughly
in the more zealous parts of the open-source world. In particular, this
states ” All versions of `shared source’ deny
you the right to redistribute the code or share it with third parties”
. However,
Michael is redistributing the source for CassiniEx, so either he’s in trouble or OSI
is wrong.

Update: Now I’ve downloaded the original Cassini source code and viewed the
, and I cannot find anything that denies anyone from redistributing the
source or derivatives of it. In fact, point 3 states:

[We simply require that you agree]: That if you distribute the Software
in source code form you do so only under this license (i.e. you must include a complete
copy of this license with your distribution), and if you distribute the Software solely
in object form you only do so under a license that complies with this license.

Doesn’t seem more restrictive than the GPL to me. Could someone fill me in with what
I’m missing?