August 7, 2003
@ 08:19 PM

No, I haven’t built the stuff 3219 times. It’s “3” for 2003 and “219” is today’s day of the year. Here’s the compiled one-liner that sits in my system32 directory and tells me …

 

Download: buildday.zip

Categories: CLR | dasBlog

I can’t myself to write the release notes at this hour (and the folks already running V1.0 would be unhappy without them), but dasBlog 1.1.3219.0 is sitting here all wrapped and packed and ready to go. So expect the zip files to show up at some time Friday at GotDotNet and around here. To start, here’s a bit of new documentation for the themes, templates and macros.

The documentation hero for the macros (and especially for digging up all the CSS classes) is Jörg Freiberger.

Jörg also spend numerous hours figuring out how to trick the ASP.NET calendar control into things it just doesn’t want to do in terms of formatting. No matter what you do, it just keeps injecting style attributes for things it seems are right although nobody ever asked for them. So the calendar control got us annoyed enough that we told it to shut up about formatting by creating a derived control and overriding the Render method like this:

        protected override void Render(HtmlTextWriter writer)
        {
            StringWriter sw = new StringWriter();
            HtmlTextWriter hw = new HtmlTextWriter( sw );

           // Render the calendar by calling the base class' method.
            base.Render(hw);

           // strip all the calendar formatting.
            writer.Write(Regex.Replace( sw.ToString(),"\\s*style=\"(.*?)\"",""));
        }

 

Categories: dasBlog

It is brutally hot here. Mid 90s(F) or always more than 33°C every day. No clouds. For at least 5 days already. Forecasts say that the day temperatures won’t drop for another 4-5 days. This is the middle of Europe but it feels more like North Africa now. It’s rare that people have air-conditioning in their homes, since we usually get like 10 days above 30°C in a whole summer. So everyone’s sweating.

This morning I went to the local Microsoft office in Neuss (some 15km from here) for a customer meeting. They don’t have air-conditioning, either.

newtelligence does ;-)

Categories: Other Stuff

August 6, 2003
@ 05:28 PM

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. ;-)

Categories: Other Stuff

August 6, 2003
@ 05:25 PM
Categories: PDC 03

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:

You are HP-UX. You're still strong despite the passage of time.  Though few understand you, those who do love you deeply and appreciate you.
Which OS are You?

Categories: Other Stuff

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 :-D 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.  ;)

Categories: dasBlog

August 6, 2003
@ 09:05 AM

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]

Categories: IT Strategy

August 5, 2003
@ 04:05 PM

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.

Categories: dasBlog

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.

Categories: dasBlog | XSS

(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.

Categories: Other Stuff

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.

 

 

Categories: Technology | ASP.NET

July 31, 2003
@ 08:10 AM

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

Categories: dasBlog

July 30, 2003
@ 06:26 AM

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.

Categories: dasBlog