Being cited
by Sam Ruby is starting to look like a (much less devastating) version of
being Slashdotted. Thanks
for helping test my asynchronous, queued referrals processing. 
I absolutely think it is a silly idea blogging this, or even filling out the questionnaire in the first place, but I have quite a few friends and colleagues of whom I just know that they'll agree so wholeheartedly with this oracle's ruling that I must blog the result:
 Which OS are You?
If you look at the bottom of the webpage of this posting (at least at the time of this posting), you'll see that this is now running on build 1.1.3218. The CSS styles of the templates here haven't been updated fully, so the calendar on the right is a bit ugly and I have disabled all other themes for the moment.
If you compare this (rss.xml at my old Radio weblog) and this (the RSS feed here), you'll notice that they're synchronized now. (Welcome back to my blog to all those folks still subscribed to the Radio feed)
This here was typed as colon-dash-caps-D and is converted to an image link when rendered to the website using a simple content filter. All of you reading this through an aggregator will say "really?!", because all you'll see is colon-dash-caps-D. I don't want all that traffic for the images coming this way. ;)
According to InfoWorld, SCO wants to have $699 per
processor from everyone who runs Linux on a server, as an “introductory”
offer and will ask $1399 after Oct 15 for a single-processor license.
That’s pretty stunning. Even if SCO were right with their allegations
that there is SCO-owned IP in Linux (and I am not in the position to make any
statement about the rightfulness of that claim), $699 per processor is still well
above and beyond what would be their fair share – that pricing scheme
looks more like “this is our OS, including everything that ships with it”
and that seems just plainly wrong.
This reminds me of a similar high-profile case: the Unisys GIF license. They
hold/held the LZW patent and that’s used in GIF. Of course, lots of
developers found out after they’ve implemented and shipped GIF support
and Unisys probably waited for a critical mass to accumulate before they
started enforcing licensing fees for that patent in early 1995. (Side note from
the Unisys site: The
U.S. LZW patent expires June 20, 2003, the counterpart Canadian patent expires
July 7, 2004, the counterpart patents in the United Kingdom, France, Germany
and Italy expire June 18, 2004, and the Japanese counterpart patents expire
June 20, 2004.). While Unisys certainly didn’t make too many friends
with that move, they were initially asking something like ten cents to at most
ten dollars per distributed copy of any software package using the GIF format,
if I remember right (the pricing information seems to have vanished). I would
think that looking at the SCO case, this all of a sudden becomes very fair and
reasonable.
[Still, the web-site fee of $5000 per site if you were/are using unlicensed (as
in: Unisys’ LZW patent licensing) software to create your GIFs, remains outrageous]
Jörg and myself are getting real close to release the new drop of our "summer project", dasBlog, within the next two to three days. It's going to carry a 1.1 version number already, because we've made another set of massive changes, including restructuring the code base and splitting it up into many more files and projects, which should make collaborative work on this much easier (...possible).
Areas that were worked on specifically:
- All controls we render inside the macros will get a CSS class assigned to them and we are removing most of the fixed formatting inside the code, so that the appearance of every little thing shall be customizeable. This will have an impact on existing templates and may break some of the Radio templates, but the required changes should be rather minimal.
- All time expressions are now consistently stored in UTC
- Mail-To-Weblog can now deal with RFC2822 dates
- Nested OPML outlines can be rendered and edited
- "Content filters" is not a new, but now visible feature that allows to run an arbitrary number of search/replace filters (regex or plain) against content before it is rendered. So, if you want to turn semicolon-dash-closing-parenthesis into a smiley when your page is rendered, you can add a filter that will do so.
- dasBlog can post its own RSS feed to any remote storage system supporting the XmlStorageSystem API, including the Radio Userland store.
- Lots of additional configuration options to switch services on and off.
- Several bug fixes.
Once we're done with that, Stephen Forte has promised to add some additional caching magic to the stuff.
My Radio subscription runs for another 11 months and I have some 40MB of webspace there, so why not use it. Also, it seems that it's going to take forever for people to switch their subscriptions from the old RSS feed to the new one. So, I wrote an XML-RPC client for Userland's Radio cloud this weekend and a little command line utility for upstreaming stuff outside of Radio. Of course, the real reason for the client piece is to be able to have my blog engine automatically push changes in the RSS feed up to my old blog location for as long as the Radio subscription runs, so that even the lazy folks get the right stuff. It'll be a switchable option in the next public dasBlog build.
(For a change, an entry in German and on something totally different)

Heute abend ab 18:10 Uhr ist die Bundesliga wieder "zu Hause" bei der ARD Sportschau und beim WDR. So sagt zumindest die Werbung. Für mich weckt die Rückkehr der Sportschau zum WDR "nostalgische Erinnerungen". Und zwar nicht nur aus Zuschauersicht, sondern an die Zeit, als ich beim "Machen" der Sportschau (in "tragender Rolle", nämlich als Kabelhilfe) für rund 6 Jahre, von Mitte 1985 bis Ende 1990 als Schüler und dann als Student dabei war.
Mitte der 80er war Fußball für die Volksseele zwar schon so wichtig wie heute, aber im Fernsehen fand Fußball eben lange nicht in dem Ausmass statt wie heute. In der Sportschau gabs drei oder vier Spiele in Ausschnitten zu sehen, und vielleicht noch die Tore von den anderen (wenn man Glück hatte) und an Kameraperspektiven gab's eben auch nicht so viele. Üblicherweise gab's eigentlich nur drei bis vier Kameras bei einem normalen Spiel. Eine "Führungskamera" für die Totale, dann entweder jeweils eine auf der Tribüne auf Höhe der jeweiligen 16 Meter Linie oder eine weitere Kamera unterhalb der Führungskamera und eine Handkamera für Interviews. Und das Zeug war schwer. Damals war das alles noch gute, alte Analogtechnik und wog ein mehrfaches dessen, was die heutigen Digitalkameras wiegen. Und wir mussten das natürlich alles durch die Gegend wuchten und für jedes Spiel kilometerweise Kabel ziehen. Auch war es damals absolut nicht selbstverständlich, dass der fertig geschnittene Beitrag einfach per Richtfunk (oder über Satellit) übertragen wurde. Wenn, und das galt besonders für die Sonntags-Sportschau, genug Zeit zwischen Aufzeichnungsende und Sendung war, ging das Band per Motorradkurier nach Köln.
Alles das war eine fantastische Zeit -- und der beste Studenten-Nebenjob, den ich mir vorstellen kann. Ich war jede Woche bei mindestens einem Bundesliga Spiel, oder mittwochs bei UEFA Cup, Pokal der Pokalsieger, beim DFB Pokal, der Fußball EM 1988, vielen Playoffs der Eishockey-Bundesliga, mehrmals beim World-Team Cup Tennis, Tischtennis WM 1989, diversen Leichtatlethik Meetings, und so ziemlich bei alle anderen Sportarten die man sich vorstellen kann. Und mit 130,- DM pro Tag und 50% Sonntags- und 100% Feiertagzuschlag war der Spass auch noch richtig gut bezahlt (für die damaligen Verhältnisse).
Einige der damaligen Kabelhilfe-Kollegen sind beim Fernsehen geblieben und teilweise auch vor der Kamera zu sehen. Tom Lehel, zum Beispiel, ist momentan in jeder zweiten Comedyserie am Start und Andreas Sauer ist mit der Band Leo Colonia eine grosse Nummer im Kölner Karneval. Und diverse bekannte Sportredakteure haben just damals beim WDR angefangen, waren als Studenten MAZ Redakteure (d.h. haben während der Ausziechnung Timecodes mitgeschrieben) oder haben auch Kisten geschleppt. Und Herr Guten Abend Allerseits war auch schon damals Redaktionsschef.
A good deal of yesterday and some of this morning I've been fiddling around with nested ASP.NET DataGrids. Binding nested grids is pretty easy and they show all you want, but editing items in a nested grid just doesn't work as easy as editing in a simple Grid. In fact, it doesn't work at all. What happens is that you can put a nested grid into edit mode, but you never seem to be able to catch any Update/Cancel events from the edited item.
I tried to look for a solution by asking Google, but the answers that I found were very unsatisfactory, since there was no explanation on why exactly it doesn't work. So, here's why ... and it's very, very simple: Nested DataGrids lose all of their ViewState on any roundtrip. That seems to be some sort of problem that's actually related to how the entire TemplateControl infrastructure works, but that's what it is.
Since that's the case, the EditItemIndex isn't preserved across the roundtrip and the DataGrid doesn't know how to dispatch the Update event. Now, how do I work around it? Again, pretty simple: You need to store the EditItemIndex (and SelectedItemIndex, etc.) of the nested data-grid in the Page's ViewState whenever they change (Edit event, Cancel event, etc.), keyed by the UniqueID of the DataGrid and a matching suffix. When you reload the sub-grid on a roundtrip, recover the value(s) from the ViewState of the page and DataBind().
I've put the workaround into my current working copy for dasBlog (the OPML editor gets a hierarchical editor now) and it works great. Next build that gets released, you can look at it.
There’s a bit too much advertising in the dasBlog themes. I didn’t remove some of the links that were meant to be only on our themes here at the newtelligence site. The download below is a drop-in replacement for the themes than are in the current build (1.0.3210.0)
Download: themes_1_0_3210_0.zip
After Stephen Forte, who heroically tries to get dasBlog to run on the 1.0 Framework, came back to me with “it’s very slow”, I spent a little time profiling and investigating and it turns out that showing the comment count for every entry is a big problem because of the internal file structure of the underlying BlogX store (it puts comments into an extra file). For the next build, there is going to be a config switch to turn rendering the comment counters on and they will be off by default. We’re talking about a 200%-300% perf gain for the respective execution path on my machine here, so this is a significant improvement. What I also switched off for good (unless anybody complains, in which case it may become switchable) is the ability to include ASP.NET controls straight into the templates, because there is a macro that allows you to pull in web user controls and this should do the job well enough, because the template by themselves allow no additional control over the controls you could inject.
It apparently took Tom Mertens about 5.43 seconds (ok, but not much longer) to get his dasBlog installation working. My site logged his Weblog comment at 18:17 and now at 18:40 he did already switch.
I wish I knew how the GotDotNet workspaces work and more why they don’t
work so often. I get to the workspaces console and when I click to get into the
workspace, nothing works. And it’s not the first time. Or is it me?
So, (t)here it is. And even a day early. I uploaded newtelligence dasBlog 1.0.3210.0
There’s a GotDotNet workspace where you can get the installers (one for a Website and one for the source) or get all source code using the GDN source control “applet” or the VS.NET plug-in.
The files are also available at http://www.dasblog.net/ in the Download section, but GotDotNet is a better choice for bandwidth (for you and for us). If you want to build the source code, you need Visual Studio .NET 2003.
Make sure you read the instructions of the web-install and read the docs that are already there and specifically the docs on the installation steps.
BlogX users should have it very easy to upgrade. Use the web-installer to create a new site on your local machine and drop your existing siteConfig and content directories into the new installation. The siteConfig only needs one new entry in that case: You need to add a <BinariesDir>content/binary/</BinariesDir> tag. The installer should create the necessary subdirectory already. Once the site runs (the setup steps are exactly identical, otherwise and therefore it should) and you’re happy with the templates and all, you can copy the whole stuff over to your existing site and you’re set.
Radio Users will have to fiddle around a bit and poke around in the web.config (see the UrlMapper config section) and look at a previous post to help their hyperlinks to follow them to a new site. Between then and now I made an update that will not only redirect the hyperlinks but also the referrers and I’ll post something about that on the www.dasblog.net site these days. It shouldn’t be too hard to figure it out looking at the UrlMapper config if you are Regex savvy.
However, starting with the content and setting up a replacement for Radio is very easy if you told Radio to make “XML backups” of you data. The command line tool (DasBlogRadioImport.exe) that is included with the source setup and about the only set of files that made it over alive from BlogX, allows you take all the content with you:
dasblogradioimport /from:"c:\program files\radio userland\backups\weblogArchive\posts" /to:c:\temp\radionew
The target directory, which must exist before you run this, will contain a complete content directory that you can simply drop into your new site.
I am not sure about switching from other tools, but since you have a MovebleType/Blogger/MetaWeblog API endpoint sitting at /yoursite/blogger.aspx, some tool may be able to make sense out of that for import/export. I have successfully tested w.bloggar, Zempt and blogBuddy with dasBlog. However, nothing beats Outlook for blogging.
|