Archive 20.8.2005 - 16.9.2005

And suddenly you feel young again

Here's the translated Markdown body:

Here's the translated Markdown body:

Kate Bush plans a comeback. Okay, there probably won't be a second "Babooshka," but still.

Yep, it works.

And onwards:

Only then did I realize: I couldn't care less. It's been a while now - I couldn't care less what Patalong or the other idiots write there: I know how the game works with them, I've experienced how they steal, influence, and trick, I've overheard that they don't have the guts, I've followed it long enough and written about it for a year. It doesn't matter anymore. SPOn doesn't matter anymore, at least not to me.

SPOn has been out of my feed reader for a long time, only appearing indirectly through other blogs and sometimes through Google News searches. Current information about the day's events is provided by Tagesschau and Netzzeitung. And all the many blogs that I read and that give me the necessary pointers on where I should read next ...

DjangoScgi - Django Projects - Trac

Django with Apache and SCGI and Django with Apache and FCGI are two reworked documentations on how to get Django running with both FCGI and SCGI under Apache. I use the same parts as with my previous howtos, only that now SCGI is supported, too.

My gallery is currently running the Apache+SCGI setup, it's quite nice. The configuration in Apache is much nicer and cleaner than with the FCGI setup.

Since 2007 the links in this page didn't work any more, so I removed them.

Gas price calculations must be disclosed

E.ON must make gas prices transparent:

The gas supplier E.ON Hanse must, according to a preliminary assessment by the Hamburg Regional Court, disclose its price calculation. The company must prove that the three price increases since last October, totaling 25 percent, were justified, the court stated. The simple reference to the linkage of the gas price to the increased oil price is not sufficient.

Ok, no reason to cheer yet, but maybe it helps to control the rather strange gas price development.

Security by complete Stupidity

Now it's clear, how to get Paris Hilton's phone number:

The hackers called a T-Mobile store and pretended to be employees of the company headquarters. They said there were network problems and had the non-public internet address of the T-Mobile customer database given to them as well as the necessary login and password information.

Ouch. Ouch. Ouch.

Google Blog Search

Google now also has a Google Blog Search - but why does someone who enters the race last have to be so stupid (arrogant?) to deliver this blog search only as HTML and not also alternatively as its own RSS, so that you can do something with the search results? I mean, a performant alternative to Technorati or Feedster would be quite nice, they are simply down too often. But what's the point if I have to do all the searches myself and manually?

Correction: there are XML links for the search results.

Does twice stupid hold better?

As if Kirchhoff alone weren't threatening enough, now he also wants to ride tandem with Merz - the only thing that comes to mind is the Mad Hatter and the March Hare...

LĂĽgen-Linssen and the Finances

Well, this is how Linssen envisions the austerity measures - with a bunch of new positions, including speechwriters. Because we certainly need those urgently in NRW, so that the black-yellow embarrassment can be talked away.

Because it's not about the election promises at all - it's only about gaining power and holding onto it, and then embezzling as much as possible as quickly as possible.

Brain Fart

Bayern's Brainfart Producer No. 1 (yes, he even beats Scatman Eddy) demands internet filters for bomb-making instructions:

Bayern's Interior Minister GĂĽnther Beckstein (CSU) has urged the business community to find solutions for what he considers a very serious security problem: bomb-making instructions on the internet.

The much bigger security problem: crazy and incompetent interior ministers. Unfortunately, you can't just filter them out of existence. Ok, you can't do that with bomb-making instructions either - they're in books after all, which you'd then have to burn as well. A solution that might also be suitable for politician ejection ...

The Dreamers of the BfA

From my pension information:

You can assume that the calculated old-age pension of X.XXX,XX EUR will actually be higher due to future pension adjustments. However, we cannot predict the development either. Therefore, we have calculated two possible variants for you without taking inflation into account. If the annual adjustment rate is 1.5 percent, this would result in a monthly pension of Y.YYY EUR from the age of 65. With an annual adjustment rate of 2.5 percent, this would result in a monthly pension of approximately Z.ZZZ EUR.

Ehm. Sorry, but if you really dream of a 1.5 percent or 2.5 percent pension adjustment per year, then you really cannot predict the development at all ...

Funny: The iTunes 5 Announcement From the Perspective of an Anthropomorphized Brushed Metal User Interface Theme

Common Scheme

Common Scheme is an implementation of a common module standard for various Scheme implementations, including a package installer that can fetch its stuff from the net. This comes with a number of initial modules that are distributed via it. Could become something like CPAN for Scheme.

Similar approaches have been made before, but unfortunately only for individual Schemes (e.g. MZScheme has something like that). A Scheme-wide solution could make things a lot easier in the long run - and get Scheme out of the academic corner. The language deserves it.

And the best part: Gambit-C and Chicken are among the supported Schemes

Unfortunately, MZScheme is missing from the list of supported Schemes - it would be pretty cool to develop your programs with DrScheme and then simply run them through Chicken to get them quickly ...

I want one!

First signs of life from Open Genera on PowerMac - that would be really something if Open Genera didn't just run on weird OpenVMS boxes, but also on a PowerMac - I'd actually buy a desktop computer for that

Beware the Monster Chick!

That dinosaurs were feathered - they were only tarred during the asteroid impact (ok, sorry, bad joke) - has been under discussion for a long time, especially since there are appropriate findings. But this was new to me:

“The way these creatures are depicted can no longer be considered scientifically accurate,” he said. “All the evidence is that they looked more like birds than reptiles. Tyrannosaurs might have resembled giant chicks.”

Chicks? More like chickens, right? Unless the chicks in the writer's hometown are overly impressed by feathers.

Quality Journalism

It was still correct in the WDR morning magazine, but the Tagesschau is not too stupid to repeat the silly joke again:

We should thank the Strasbourg deputies, we have escaped again on this sunny September day: The EU directive "for protection against optical radiation at the workplace" has been overturned and thus remains, hopefully forever, disappeared in the darkness of the archive cabinets.

Dear journalists: the regulation was primarily about artificial optical stress, not about the sun. It was in no way about covering anyone who carries beer mugs - it was about employers being obliged to actively point out to employees the strain caused by UV radiation and to inform them about it. The hint here: >Bare upper bodies on the construction site, deep décolletés in the beer garden, lifeguards without covering.

is therefore complete nonsense.

One may wonder if such a regulation makes sense - but this silly fuss about something that was not the aim of the regulation is actually only embarrassing and ridiculous. More embarrassing and ridiculous than any EU regulation could ever be ...

First Fallout from Black-Yellow

Black-Yellow on the ideological crusade against wind energy:

The Federal Ministry for the Environment sees the initiative of the state government as a "frontal challenge" to wind energy. "This means that no more wind turbines may be built in NRW," a ministry spokesman told wdr.de on Tuesday. If the example of North Rhine-Westphalia were to be followed, Germany's climate protection targets would no longer be achievable. The CDU and FDP are fighting "for ideological reasons" against wind energy.

Well, of course, the Union has to diligently crawl up the energy monopolists' asses, so the fluttering of the wind rotors is a nuisance ...

All Just Stolen

CDU admits: Merkel copied from Reagan:

Yes, the closing statement by Angela Merkel, the Union's candidate for chancellor, in the TV duel with Chancellor Gerhard Schröder was based on a speech by former US President Ronald Reagan.

Well, well, she can't even come up with her own praise and boasting. Should someone like that become chancellor?

Django Gallery Status

Again news from my gallery project - it's making good progress, even if some of my latest stuff isn't directly visible. I did a lot of reworking in the code and a lot of admin interface changes. Things in the source that might be interesting for other djangonistas:

  • I still have a fully filesystem based gallery - but I added a database stored cache. So now when contents is pulled from the filesystem, the code directly checks with it's database cache and updates that accordingly. This led to a heavy rework of the code so that now actually all stuff is driven by model objects - the cache entries are just part of the django model. Makes code much easier and allows the next two changes.
  • I added an automatic sitemap for galleries. First versions traversed the filesystem, but now it just uses the database cache to draw a folder hierarchy with thumbnails.
  • I added RSS support. The main gallery selection references a RSS feed over all galleries and the folder and image views within a gallery reference a RSS feed only for images within that gallery. This makes use of the RSS framework of Django.
  • the view that showed gallery folders and images was reworked to make much more use of django-like stuff: instead of lazy closures that are passed in to the template, I now use custom templates that help to reduce the code of the view drastically (ok, the code is moved to the taglib, but that's much better decoupling than before).

The result: the gallery is much faster, I have RSS up and running and I have automatic sitemaps. The code itself is much easier as it is more model-driven - the former clash between picturefolder model stuff on the one side and FSObject instances on the other side ist gone - and cache maintenance is automatic. And the XMLRPC integration is much faster, too. All in all some very useful internal changes.

Other changes are in the management interface where you now not only have the AJAX-stuff to change object names and hidden state, but can do that from a filemanager, too. That filemanager will be extended for simple management functions like moving, deleting etc., too. It already is able to create new folders.

Sometimes the Debianistas Spin

From the response to a bug report by me about a completely wrong version of mod_perl 2:

I'm afraid you will be out of luck here, if I understand the issues correctly. The official release of mod_perl 2.0 never made it to Sarge, the 1.999.21-1 packages in Sarge is a pre-release. The problem was that shortly before mod perl2 went stable, the upstream developers decided to rename lots of things in the API, and Sarge shipped the old API. Thus, mod perl 2.0 as shipped with Sarge won't run in the rest of the world, and vice-versa. Also, the documentation will be confusing. [...] So, well, this isn't a good situation, but it is something we have to live with.

What? They must have lost their minds. Once again, for clarity: the mod_perl 2 version in Debian Sarge—the current stable Debian—is not compatible with the old mod_perl 1 version or the real mod_perl 2 version because it is a 1.99something with a quite different API. Applications based on it are not portable from the old version and not portable to the new version. Anyone who wants to work with Debian Sarge, Apache2, and mod_perl must first get a backport because the version included is simply completely wrong.

This is absurd. Sure, mod_perl 2 wasn't ready for release on time, but the version currently in Sarge is simply garbage. Instead of removing it, an intermediate version is included, making life difficult for anyone who wants to port mod_perl applications to Apache 2—and doubly so, because with the next release, they'll have to port again.

And then the knockout punch last night:

The only valid complaint in this bug report is the fact that we don't include pre-2.0 API docs in sarge. Debian makes absolutely no guarantees that the version of a package shipped in a stable release will match whatever the current API is on its upstream website.

Summary: we don't understand anything and insist on behaving like complete idiots. Instead of at least removing the junk release—which is also classified as "don't use" by upstream—the missing documentation is now listed as a wishlist bug.

Night of Museums in MĂĽnster

As every year, the long night of museums in MĂĽnster took place again. However, something must have happened compared to last year. Last year, the interest was indeed great, but it could still be described as quite bearable. In the museums, one could move through the rooms - albeit with more visitors than usual. Only the Picasso Museum was already overcrowded last year and was only allowed to enter in groups.

This time, that was unthinkable - the State Museum of Art and Culture is not exactly small. Nevertheless, one could no longer get into some rooms because of the sheer number of people - who then, with guided tours, turned into real visitor traffic jams, making entire parts of the museum inaccessible.

Absolutely crazy the whole thing. Real hordes of people moved through the city and blew the collective attack on the museums. Somehow slightly surreal the whole thing

Parser for Python-like configuration files

Philip J. Eby hacks again. This time, a parser for configuration languages whose syntax is based on Python. Particularly interesting: with the parser, you can beautifully build abstract languages that use Python for code in parts - you can convert Python blocks contained in it from the token form back into cleanly formatted and indented Python code. The parser, of course, knows all the edge cases of source formatting in Python and can handle them as well.

This is interesting because with Python, unfortunately, you don't have a macro language and therefore cannot directly map your own syntax extensions and languages with domain-specific syntax and semantics to Python - but you can build a translator for such DSLs via this parser and then convert them back into Python. Add a bit of import magic and you would have something like poor-mans-macros for Python ...

Priorities

I actually wanted to refrain from commenting on New Orleans - after all, one doesn't know what determines thinking more, the grief over the unnecessary victims or the anger at the bungling activities of the government there, but when I read something like Rogers Cadenhead: Go to the Back of the Bus Line I really feel sick. Because this is no longer just bungling, this is pure racism (and before I'm accused of anti-Americanism and other things again: look at the skin color of the majority of those who, for some reason, could not be evacuated from New Orleans).

It's simply disgusting. And now the religious right is coming along and blaming gays and abortion clinics for the hurricane.

And the President? He makes a detour to Biloxi and has the relief workers clear the exact spot he visits beforehand - and after the visit the relief workers disappear again. By the way, it was in the Tagesschau - the reporter herself could not quite believe what was going on ...

ID is utter nonsense

Intelligent Design is not science:

It stems from laziness and arrogance: "I'm a smart guy, and I can't understand how all this could have evolved. Therefore, it couldn't have evolved through evolution."

A very good (because honestly annoyed) article in Die Zeit about the nonsense of creationists who always want to force their brain farts into schools. A topic that should have been filed away since Darwin - and unfortunately is still stirred up by religious nutjobs.

It would be about time for the big churches to take a clear stance on the issue and declare the nutjobs for what they are - but they can't bring themselves to do that. After all, you can make a lot of money with simple answers to complex problems. And who cares about reality ...

MochiKit Tutorial Part 1

The first part of the MochiKit Tutorial is online. Very interesting reading - some of the points are quite thought-provoking. And MochiKit has already proven itself to me in real-world use - and yes, I almost exclusively use JSON in the process.

And they still run

Our little friends on Mars are still on their way. Spirit has now climbed a mountain and is enjoying the view of the landscape.

Alongside Cassini-Huygens, the Mars story with the Mars Explorer and the two sympathetic remote-controlled rovers is one of the most exciting space projects for me. Much more exciting than sending outdated Space Shuttles on boring routine missions with extended repair work ...

I would like a few more of the Mars kind.

Campaign contribution?

Achne, the exhibition is Schmarotzer in Bonn - and the Bundestag is now in Berlin ...

geocaching Status

4 caches found, 2 located but not retrieved due to muggles, 1 not found (but at least a tick). Not bad for a start ...

GPS Receiver Information, Software, and Hardware Reviews of Garmin, Lowrance, Magellan and other GPS Receivers - exactly what it says: tons of information and links about GPS.

Working with Garmin Receivers - A User Manual - exactly what the title says. A rather interesting book about various Garmin receivers and topics around Garmin GPS devices.

GEMA and the Internet

Again, it's a privately run site that has been caught this time for uploading game trailers and now has to pay GEMA fees for the background music.

And what about GEMA and the music industry? They continue to do their job and in doing so, they also trample over virtual corpses. Doesn't matter, it's just the internet. It's just virtually already convicted and indebted youth before entering professional life. And anyway, where would we end up if everyone just uploaded random videos online for fun...

But it's not just that - in my opinion, it goes far beyond that. Not only are people criminalized for trivial matters on absurd grounds, but ultimately, GEMA and the music industry (and don't even get me started on the artists - they're at the very end of the sausage-making process and the 5 euros they would get for the game trailer site could really make a difference) are making double and triple profits from exploitation rights - even if they are only marginally affected, as in the case of game trailers (for whose background music, by the way, the game manufacturer has usually already paid - if it is original game music).

Where is the right to quote within reasonable limits? There is such a right for written works - why doesn't something like this exist for music?

Maneuvering in Court

Just to summarize Pfahl's story once more. This was the accusation:

The former CSU politician and state secretary in the Kohl government is said to have received 3.8 million marks, or approximately two million euros in bribes from Schreiber for a tank deal with Saudi Arabia in 1991 and not declared it for tax purposes.

And this is the deal:

Pfahls and his defense reached an agreement with the court: For an admission of guilt at the beginning of the trial, in which the 62-year-old Pfahls admitted the payments from the arms lobbyist Karlheinz Schreiber, the defendant was promised a maximum sentence of two years and three months and the possibility of early release after serving half of the sentence.

Who else besides me has the impression that the higher the amounts involved, the more trivial the punishment? All are equal before the law? Forget it.

Although I seriously wonder why I expected anything different after Kohl got away with breaking his oath of office without major problems - and people accuse me of being a cynic - reality regularly surpasses me by far ...

Public Sector Non-Performance

Imagine an agency of the state government tasked with surveying the entire country. A sensible idea, after all, one must know where there is space and where there isn't, where rivers, houses, roads, railways, and plots of land are, and all the other things that are around.

Imagine further that this agency is naturally funded by tax money - sensible, since it is a service to society. The survey technicians working there are paid from the public purse and do what they do best - survey the area.

Imagine further that these data are also used for maps for private individuals. Commendable - even if the maps are significantly more expensive at almost 8 euros than other maps, they are based on much more precise data and are beautifully detailed at 1:25,000 - ideal as hiking maps.

Imagine further that this agency also operates an online service where you can zoom in on all maps - down to the scale of 1:1,000. Very nice, to take a closer look at the area in detail. Unfortunately, the window is very small and thus the overview is not really very good. In return, you can mix in aerial images.

Imagine further that this agency also provides the map data in digital form - with software only for Windows. That's bad. That's rarely stupid - Java has been around for 15 years, should also be known in such offices and agencies. Moreover, the DVD with its almost 50 euros is not exactly cheap (or rather, the 1:50,000 is not - the 1:25,000 are two DVDs, no idea about the price - probably double). And did I mention that they were so stupid to make it only for Windows?

Now imagine that the data on the Windows DVD are indeed based on a standard format (GeoTIFF - basically map material as TIFF with additional geo-data for the precise determination of the position of the graphic tiles). But on the Windows DVD, these data are encrypted - to prevent any user of a non-publicly-officially-approved operating system from accessing them. That's shit.

Now imagine that upon inquiry, this office informs you that of course you can also get the data in the standard format - for a measly 3 euros per square kilometer of map coverage. That is an audacity. If you imagine all that together, then you have the Landesvermessungsamt Nordrhein-Westfalen.

What do I pay my taxes for again? So that I can be screwed twice?

Music Label Heads Still Completely Clueless

They're no longer satisfied with their scams:

Too many of their own online music portals had failed and Apple's concept of direct binding to the iPod promised success. Meanwhile, iTunes has sold more than half a billion titles and the labels want a larger share of the pie. Currently, they receive only about 70 US cents from the 99 US cents per song.

It never occurs to these idiots to consider that their own trash shops failed, among other things, due to the absurd costs and even more absurd rights restrictions, and that the success of the iTunes Music Store lies precisely in its characteristics such as price and possibilities.

Sorry, but an industry led by such mentally substandard idiots deserves nothing less than to be mercilessly wiped out. Of course, it's a shame about the jobs and a shame for some musicians. But only when this music industry moloch has been organized into insignificance by its managers can music actually make a fresh start - and then perhaps become reasonable.

Montgolfiade in MĂĽnster

Montgolfiade in MĂĽnster

Montgolfiade in MĂĽnster

There were some of these today when I looked out the window. But it wasn't just that - after I had looked out for a bit, there were whole swarms of them to be seen. It looked pretty cool.

The pictures aren't particularly good, they were quick shots without much planning - even though balloons aren't really fast, when you see them in a herd like that, you realize that they do change position quite quickly.

And yes, there really were a few bottles of Potts, a cola bottle, and an ice cream cone flying around in the sky ...

Montgolfiade in MĂĽnster

Montgolfiade in MĂĽnster

Montgolfiade in MĂĽnster

News from the Gallery project

News from my Django Gallery project: it's coming along nicely. If you want sample code for AJAX with Django or XML-RPC with Django - look into it's source. I implemented parts of the blogger API, metaWeblog API and MoveableType API - just enough so that Photon can post pictures to my gallery. AJAX is used for logged in users to change the title of pictures and folders by just clicking the title and for activating the toolbox on the backside of pictures. Additionally the gallery includes the usual PIL stuff like thumbnailing - I am especially proud of the flipped corner look for folder thumbnails Other stuff worth looking into might be the usage of lazy evaluation to push stuff into the template without precalculating it - it's only calculated when the template actually uses it. And interesting might be the abstraction of the filesystem based content - only the base path is stored in the database model, the rest of the gallery is in the filesystem (and can so be easily managed with FTP, SSH or directly on the unix shell).

Additionally you might look into it for handling of authentication - user registration isn't yet done, but will follow some day. As will comments and RSS - but I have to write that, first. And I am starting to write documentation - docstrings in the code and documentation pages in the wiki.

iTAN method not secure either

The iTANs (indicated TANs - as recently introduced by the Postbank) are also not the be-all and end-all against phishing attacks. The classic attack would simply be to redirect the user to their own site during phishing and then process the transaction with the bank in parallel with the user's inputs - but of course in a different form than shown to the user. Instead of simply requesting a TAN, the bank server is first contacted and the TAN required from there is then requested from the user. With this TAN, a booking can then be made problem-free while the user spends time on the supposed security update - or whatever the phishing attack pretended to be.

The RedTeam has compiled a scenario and spoken to the banks:

According to a survey by the RedTeam, the problem described was largely understood by the banks, but not taken very seriously. They wanted to continue to adhere to the presentation of secure iTANs. One bank argued that the attack would have to be very quick and take place within seven minutes. Another institution wanted to distance itself from its statements only after the first case of damage to a customer had occurred.

The same arrogant attitude that banks have always taken against abuse - instead of addressing the problems themselves or actively describing security issues and thus taking customer maturity seriously - is being dismissed and lied about. And for such nonsense, we then have to pay booking fees.

JavaScript + CSS Box Model Puzzle

So, I have this HTML table. All the TDs are centered with their content using text-align: center. In these TDs, I have two DIVs displayed on top of each other. The top one contains an IMG, and the bottom one just contains some text. Both contents are also centered. Now, using JavaScript DOM functions, I swap the top DIV with the IMG inside it with another DIV that contains two DIVs, which in turn contain text. The texts in the inner DIVs of the new DIV are centered. However, the DIV itself, which contains the inner DIVs, is no longer centered relative to the encompassing TD. The problem is reproducible with Safari and Camino - somehow the "align content center" property is lost for the newly added elements. I've tried all possible CSS attributes and experimented with everything (e.g., checking if the old DIV with the IMG inside or the IMG itself has a value for left), but for some reason, it just won't work.

The background for all this: when you click on an icon, an IMG should be completely replaced with a DIV of the same size, containing some switches with which properties of the IMG can be changed. Basically, something similar to the widgets in Dashboard - configuration on the "back" of an image.

At the moment, I'm only taking over the height of the image, so the vertical alignment is perfect. However, the horizontal alignment remains dynamic. If I have two cells on top of each other and both switch to configuration, the table changes in width. This causes ugly jerking. But I don't want to statically expand the TDs, otherwise the layout would no longer dynamically adjust to the browser width.

Oh, and all this has to work with Safari, it's finally my main browser.

Update: in the comments, there are links to test pages with which you can see the effect.

Karlsruhe clears the way for new elections

Am I the only one, or does anyone else feel like Karlsruhe wanted to avoid the discussion about the legitimacy of the new elections? The justifications read as if a blank check has now been issued for the Chancellor and the President - if the two agree, the Bundestag is gone in a flash. An allegedly bad prognosis and the consent to it are enough ...

Why do we even have rules for the dissolution of the Bundestag in the Basic Law if the Constitutional Court apparently doesn't care much anymore?

JavaScript and the escape() Function

Note to self: escape() in JavaScript is only suitable for latin-1 - a utf-8 string with special characters sends these as latin-1 characters over the line. Pretty stupid when you're tinkering with a form via Ajax and then sending a value to a function in the backend that actually expects utf-8. encodeURIComponent is the answer, not escape.

MochiKit - First Experiences

I had already briefly mentioned MochiKit – A lightweight Javascript library. I used it at viele-bunte-bilder.de (offline since 2007) (so that the owner of a gallery could change the image names and folder names). Pretty brilliant small library for JavaScript. Makes working with JavaScript much more pleasant.

Armstrong EPO-doped in first Tour victory?

Apparently there is evidence that Armstrong doped during his first Tour de France victory:

In six urine samples taken from Armstrong during the 1999 Tour de France, doping researchers found EPO in tests conducted for scientific purposes five years later. Dr. Jacques de Ceaurriz, the director of the laboratory that conducted these tests, confirmed on Tuesday a corresponding report in the Tuesday edition of the sports newspaper L'Equipe.

A pretty big deal, all of this. And it doesn't look like this time it's just unfounded allegations.

Is Aldag quitting?

Oh man: Rolf Aldag ends his 15-year career as a professional cyclist at the end of the season. It's not that simple. I liked the rumor version - where he leaves with Zabel to Domina Milka - better. Okay, I wish him a good retirement and maybe we'll get to see him commentating on bike races more often, because he can definitely do it more competently than the sleeping pills of the ARD and ZDF sports editorial teams, but somehow I will miss him as a rider.

Canon EOS 5D, full-frame 12.8 megapixel

Well, the rumors were spot on regarding the Canon EOS 5D - unfortunately also regarding the price. A few hundred euros less would have been nicer. The technical specifications still sound great even the second time around. Now I just need to somehow convince my bank account to take on the right sign and change color.

Poor Jörg Jaksche - again

Oh man, another breakdown on the stage in the final climb and then someone snatching the stage victory from him again, even though he fought back after the breakdown. Somehow, it just isn't working out with a stage victory for him. Really a shame, because he's impressively fighting at these extremely steep mountain finishes.

Also impressive: Jan Ullrich lost 30 seconds to Levi Leipheimer. That's already a significantly better cushion for Leipheimer for the time trial. In the Tour, it was 2:50 over 55 kilometers - in this 33-kilometer race at the Deutschland Tour, this could potentially save Leipheimer's overall victory, which he was able to extend to a 1:29 lead today.

Now it will be shown in the time trial how strong Leipheimer is - he can actually do it, especially when he's in good form. And that seems to be the case at the moment. On the other hand, Jan Ullrich is an absolutely outstanding time trialist, so everything is definitely still up in the air.

PostgresPy is a collection of various Python modules around Postgres. Server-side and client-side.

DjangoGallery - sample app with sample installation

Mal wieder englisch, da auch fĂĽr #django interessant I have uploaded the source and made available the repository and a trac instance for my django projects. The first one that's there is the DjangoGallery - that's what I am using at viele-bunte-bilder.de. I have written a first take at an installation instruction that shows how to get the gallery running on your own site - you could even integrate it into your own project (although you will have to do some minor source changes - mostly replacing the projectname "gallery" by whatever your project is called).

The application isn't fully done, yet. There are many plans on how to extend it, as it will be my main motiviation to remove all other gallery software I am running (I already replaced PHP Gallery and now I am targeting my old mod_perl stuff and last one will be attacking my Wordpress based gallery), so be warned that it will change over time.

If you find bugs, feel free to file tickets. You can file enhancement wishes, too - but since the main target of this project will be to replace my own other gallery projects, it's doubtfull that I will do much work besides what is needed to reach that goal. At least for now - there's no limit to what can be done to the code after I phased out all PHP and Perl code

Since 2007 these links are non-functional, so I removed them.

Kibot is an IRC bot written in Python. With a simple plugin interface, you can let it loose as an all-round bot on a channel.

Competence, Incompetence, Incontinence?

No idea what it is, but I find it cute to appoint someone to a competence team whose ideas are not in line with the party's own program. I mean, decent social democrats usually wait with the dismantling of their experts until these at least had the chance to pretend to understand their job, but what the Union's Kauder is doing here can only be described as an accelerant

Post 5000

Wow. This is seriously the 5000th post in the database.

Amazed face