Dooh
Dooh


The churches in the dioceses of Hildesheim, Osnabrück and Münster are changing the calculation of church tax - and specifically, in marriages where one of the partners is not in the church, the joint income will now be used to calculate the church tax of the other partner. Robber baron thinking, which hopefully moves as many people as possible to turn their backs on this absurd association ...
Especially in view of such rather arbitrary changes, I see the state's collection of church tax even more critically. Because the state is making itself here the accomplice of the arbitrariness of the churches over their members.
Well, as Ralf reports in the Netzbuch under the nice title Wordpress, the Weblog Prostitute, Matt Mullenweg - the main developer of WordPress - has once again come up with a grand idea for making money. Naturally, once again at the expense of the PageRank he has built up through the many backlinks from WordPress blogs. And of course, once again without any major discussion or at least open communication within the community. This time it's about advertising placements through some ad space marketer at absurdly high prices.
When it comes to securing advertising partners, even public broadcasters are diligent and quick:
The NDR had initiated legal steps against the order on the same day and immediately achieved a temporary suspension of enforcement. Thus, the NDR was able to continue showing the Microsoft logo in its broadcasts on election night. This is now possible again for the time being after the temporary suspension has been lifted.
Oh yes, how wonderful, the NDR really put in a lot of effort so that it can continue to slap the Microsoft logo on inappropriate broadcasts - such as election coverage. Because that's important, you have to fight for that, that must be preserved. Product placement? Oh come on, it's all just talk. Probably politics is already sponsored by Microsoft and our federal chancellor will then wear a Microsoft logo on her coat.
... in Berlin, I mean: as easy as Berlusconi changing the electoral law - because maybe then it will actually be enough for the CDU to have its own majority, without hiding behind factional squabbles and other hypocrisies. Oh well, Adenauer's heirs have mainly inherited his stupidity and corruption, with election successes it's rather bleak. It's enough to just lie to yourself about the world with your pathetic 29 percent.
Got a question for those who feel the need to accuse my blog of being destructive: could you idiots please tell me why I should be constructive when dealing with the nonsense that politicians, media, and the economy are peddling? If someone takes a dump in your front yard, you probably take it quite constructively as rose fertilizer, right? Dreamers.
... just hearing that gives me goosebumps. This absolute inability of economic interest groups to imagine motivation without a business model is sad.
IE7 and the demise of CSS hacks is about the IE CSS hacks that have been loved over time and are urgently needed for IE6 to make CSS layouts at least presentable on the IEs. With IE7, a lot will change - and some of them will no longer work.
Urgent recommendation: Switch to conditional comments and move the CSS corrections to a separate stylesheet that can then be loaded for the IE. Unfortunately, with this you can only add CSS elements for the IE, not hide non-existent elements from the IE - possibly you can do something with overwriting elements.
In the IE Blog is a list of hacks that will be problematic with IE 7.
... say Merkel and other CDU bigwigs. Why are they then making Stoiber the Minister of Economic Affairs? Or is that now a different title for the court jester? They can, in my opinion, gladly dispose of the threatened horror cabinet to Madame Tissot right away.
According to Bruce Schneier, Blizzard Entertainment uses spyware to check compliance with their EULA - and it's one that looks at much more than just the data from their own program, but also additional data from other applications ...
Concerning because it doesn't just read the data from its own program - but even then it would still be concerning if it were limited to Blizzard Entertainment's software. Or did any of the users of the software agree to this monitoring? To the loading of code onto their own computer? To searching system lists for information? To sending this information over the Internet?
It is also questionable how such practices can be in compliance with data protection regulations, for example in Germany.
Tailor is a Python script that can exchange changesets between different versioning systems. In principle, you can also mirror repositories in other versioning systems with it.
Even a warmonger is being revered now, just because she turned 80. It doesn't matter that she started a war. Who cares what the media says - paying tribute is in fashion. Corrupt and perjured former chancellors are just as welcome as warmongers and other riffraff. Oh well, I'm probably just being terribly destructive right now, because breaking one's oath of office and sneaking around the law and starting wars, that's just so constructive.
I love Trac as a project tool - and I'm quite satisfied with Subversion for version control (or, more recently, with SVK as a version control tool based on Subversion). But darcs has also excited me because it's so beautifully bureaucratic - and now there's also Trac on Darcs - a patched version that works with darcs instead of Subversion. I think I'll take a closer look at that ...
The same patch also allows a Bazaar-NG backend for Trac - which is particularly interesting because both Trac and Bazaar-NG are written in Python. I think I should take a look at that part as well.
And just now I was pointed out in IRC that SCons is also Python - a pretty nice replacement for the already quite old Make.
This all sounds almost like Developer Nirvana.
If you ever need to help a colleague without SQL experience with Oracle, like I did: Oracle/SQL Tutorial. Quite nicely done.
SVK is a distributed version control system with a special feature: it can mirror trees of other version control systems (including SVN) and then define working copies on them. You can mirror a Subversion repository of a project, create your own local branch, work in it, and version the changes locally. When your own branch is ready, you can make a commit against the original repository, or simply pull a diff and send it to the developer. Very nice thing, especially because of the good integration with Subversion.
For vim: snippetsEmu emulates the snippet function of TextMate, but with vim macros.
Shocking: vi Steuerung für Word - built as Word macros. Somehow sick. I think I need to install this ...
How to convert accent characters to their base characters in Python. Pretty basic approach, but sufficient for many purposes. For proper solutions, there's PyICU ...
No idea if I've had this before, but Caching Tutorial for Web Authors and Webmasters looks like a useful description of HTTP caching directives, with explanations for application programmers.
I worked a bit more on the i18n stuff in django today and finally switched my gallery to the i18n branch. You can now see the strings on that site with either english or german settings. Other languages get english output (so if you are in Germany and still see english strings - check the language settings in your browser, wether German is defined with higher priority than English).
The code works quite nice and I think I will give it a week or so to settle and than start to put finishing touches to it - like adding much more translation hooks to the django source.
Here's the translated Markdown body:
Expressed differently: we have the canal empty:
However, according to WDR information, the barrier in Lüdinghausen might be about to break. Therefore, as a precaution, a state of emergency was declared for the lower reaches of the Lippe up to Ahsen.
It's strange to imagine that the canal now has a full closure at two points ...
Getting Nix Done - Yay!
Because software patents have such high innovative power, Blackberry will probably disappear from the US market, because:
As part of that litigation, NTP, whose only assets are wireless e-mail related patents, had been granted an injunction banning the sale of BlackBerry devices in the United States and forcing Research in Motion to stop providing e-mail services to all American customers except government account holders.
Exactly. A company that has nothing but a few patents (which are also quite banal, as one has almost come to expect with US patents) has obtained a sales ban against another company whose product is physically available for purchase through the courts. Extremely innovative. And certainly something we need in Europe as well.
Oh, great, now the creationists are already in Thuringia. Well, no wonder, if you belong to a party that also demands a reference to God in the European Constitution...
And no, "Intelligent Design" is not a scientific theory that could be discussed as an alternative to the theory of evolution - ID is complete nonsense, religiously motivated hostility towards science. Barely disguised creationism, nothing more. Therefore, the demand for a scientific discussion of this alleged "theory" is simply nonsense.
Shit - this is annoying. Especially because of the satellite's purpose:
This was the first mission in the "Earth Opportunity Missions" program of the European Space Agency (ESA), which aims to solve scientific problems using relatively small and cost-effective satellites. The satellite was the first to have a novel radar altimeter that can distinguish individual ice floes with very high spatial resolution and measure their thickness.
Hopefully the project will be restarted ...
I also find the Russian share interesting because of the swords-to-plowshares mentality involved: the rocket was a converted intercontinental ballistic missile ...
The WDR has a very good text about Cardinal von Galen online: Clemens August von Galen - a resistance fighter?.
The "Lion of Münster" roared well, if he did roar. He never questioned war and dictatorship as such, unless it concerned church affairs. He never found a word about the persecution of the Jews. While he feared the ideological "destruction of Christianity," the actual destruction of Judaism went unnoticed.
The article is really worth reading because it deals with the critical points about von Galen - it was about the church, the freedoms of the church. Not about democracy or freedom for all. His resistance also did not arise from him alone; he had people who urged him on. And he was a nationalist - beyond the borders, perhaps with the evil Bolsheviks, one could kill without hesitation.
The only part of his resistance that was probably really motivated by personal disgust and feeling, and not to be regarded as an attempt to protect the church, was his clear stance against euthanasia. Therefore, he was still a bit more of a resistor than most church leaders. At least that part of him can be acknowledged.

However, the way the Catholic Church now celebrates Cardinal von Galen is embarrassing. As a great symbol of resistance, he really cannot serve - if what he achieved is the best the Catholic Church can show from the Nazi regime, then they should better remain silent in shame. This is in no way proof of the incompatibility of the cross and the swastika. Rather, it is proof that the Catholic Church was at most concerned about its own power, but had little interest in preventing this abominable regime.
In October, enjoy cake in the cozy garden cafe and later sit outside in the restaurant for a beautiful dinner - I could get used to this.
Couldn't be better: winning Paris-Tours is certainly a pretty nice achievement. He is certainly not just old iron. And contrary to the comment in the Tagesschau, he has not been decommissioned - he has decommissioned T-Mobile. And he has recommended himself well for his Domina-Milka team once again.
Subway's new Ajax framework has an interesting approach: using inspect, Python source is retrieved from a method and then translated to JavaScript. Of course, only a subset of Python is supported, but the idea is quite interesting - Python syntax for JavaScript.
Of course, the semantic differences between Python's and JavaScript's interpreter execution will bite you sooner or later, but for simpler things (and many Ajax things are actually quite banal code on the JavaScript side), you can build without JavaScript source.
The whole thing would of course be much more elegant if Python had a reasonable macro language integrated - or if you could build macros in Python in the way you can in Common Lisp. This would make the definition of the subset and the creation of JavaScript from it much more elegant. Perhaps Philip J. Eby's work on configuration languages could help - it is essentially the approach of a macro facility for Python.
Personally, I would rather pursue an approach in Python where JavaScript is generated through Python code execution (i.e., not parsing and compiling) - because many Ajax functionalities are quite standardized processes. The DOM tree is usually manipulated according to fixed specifications, with data delivered via JSON. Most of this could be well standardized. However, I don't have any concrete code ready yet, so far Ajax for me is still direct JavaScript code - although with the help of MochiKit.
Let's see what else is happening in the Ajax-Python land. CrackAjax is at least another approach that might inspire others to build on this a bit better.
Right now, people are once again wildly discussing hit counts and similar nonsense. Usually, I don't care about these (my server has an absurdly high free allowance that I can never use, and the server load is also low - so why should I care how much comes in?), but with the various announcements of hit counts, page views, and visits, I always have to smile a little.
Just as a small analysis of the whole story. First, the most important part: where do these numbers come from? Basically, there are two possibilities. One relies on the fact that pages contain a small element (e.g., an image - sometimes invisible - or a piece of JavaScript or an iframe - all commonly referred to as a web bug (web bug)) that is counted. The other method goes to the log files of the web server and evaluates them. There is a third one, where the individual visitor is identified via a cookie - but this is rather rarely used, except for some rather unpopular advertising systems.
Basically, there are only a few real numbers that such a system can really provide (with the exception of individualization via cookies): on the one hand, hits, on the other hand, megabytes and transfer. Quite remotely useful, there is also the number of different hosts (IP addresses) that have accessed the site.
But these numbers have a problem: they are purely technical. And thus strongly dependent on technology. Hits go up if you have many external elements. Bytes go up if you have many long pages (or large images or ...). IP addresses go down if many visitors are behind proxies. And they go up if you have many ISDN users - because of the dynamic dial-up addresses. Changes in the numbers are therefore due to both changes in visitors and changes in the pages.
All these numbers are as meaningful as the coffee grounds in the morning cup. That's why people derive other numbers from these - at least technically defined - numbers, which are supposed to say something. Here, the visits (visits to the website), the page impressions (accesses to real page addresses), and the visitors (different visitors) are to be mentioned.
Let's take the simplest number, which at least has a rudimentary connection to the real world: page impressions. There are different ways to get there. You can put the aforementioned web bugs on the pages that are to be counted. Thus, the number is about as reliable as the counting system. Unfortunately, the counting systems are absolutely not, but more on that in a moment. The alternative - going through the web server log files - is a bit better. Here, you simply count how many hits with the MIME type text/html (or whatever is used for your own pages) are delivered. You can also count .html - but many pages no longer have this in the addresses, the MIME type is more reliable.
Significance? Well, rather doubtful. Many users are forced through their providers via proxies - but a proxy has the property of helping to avoid hits. If a visitor has retrieved the page, it may (depending on the proxy configuration) be delivered to other visitors from the cache, not fetched from the server. This affects, for example, the entire AOL - the numbers are clearly distorted there. The more A-list-bloggerish the blogger really is, the more distorted the numbers often are (since cache hits can be more frequent than with less visited blogs).
In addition, browsers also do such things - cache pages. Or visitors do something else - reload pages. Proxies repeat some loading process automatically because the first one may not have gone through completely due to timeout - all of these are distortions of the numbers. Nevertheless, page impressions are still at least halfway usable. Unless you use web bugs.
Because web bugs have a general problem: they are not main pages. But embedded objects. Here, browsers often behave even more stubbornly - what is in the cache is displayed from the cache. Why fetch the little picture again? Of course, you can prevent this with suitable headers - nevertheless, it often goes wrong. JavaScript-based techniques completely bypass users without JavaScript (and believe me, there are significantly more of them than is commonly admitted). In the end, web bugs have the same problems as the actual pages, only a few additional, own problems. Why are they still used? Because it is the only way to have your statistics counted on a system other than your own. So indispensable for global length comparisons.
Well, let's leave page impressions and thus the area of rationality. Let's come to visits, and thus closely related to visitors. Visitors are mysterious beings on the web - you only see the accesses, but who it is and whether you know them, that is not visible. All the more important for marketing purposes, because everything that is nonsense and cannot be verified can be wonderfully exploited for marketing.
Visitors are only recognizable to a web browser via the IP of the access, plus the headers that the browser sends. Unfortunately, this is much more than one would like to admit - but (except for the cookie setters with individual user tracking) not enough for unique identification. Because users share IPs - every proxy will be counted as one IP. Users may use something like tor - and thus the IP is often different than the last time. Users share a computer in an Internet café - and thus it is actually not users, but computers that are assigned. There are headers that are set by caches with which assignments can be made - but if the users behind the cache all use only private IP addresses (the 10.x.x.x or 172.x.x.x or 192.168.x.x addresses that you know from relevant literature), this does not help either.
Visitors can still be assigned a bit if the period is short - but over days? Sorry, but in the age of dynamic IP addresses, that doesn't help at all. The visitors of today and those of tomorrow can be the same or different - no idea. Nevertheless, it is proudly announced how many visitors one had in a month. Of course, this no longer has any meaning. Even daily numbers are already strongly changed by dynamic dial-ups (not everyone uses a flat rate and has the same address for 24 hours).
But to add to the madness, not only the visitors are counted (allegedly), but also their visits. Yes, that's really exciting. Because what is a visit? Ok, recognizing a visitor again over a short period of time (with all the problems that proxies and the like bring about, of course) works quite well - and you also know exactly when a visit begins. Namely, with the first access. But when does it end? Because there is no such thing as ending a web visit (a logout). You just go away. Don't come back so quickly (if at all).
Yes, that's when it gets really creative. Do you just take the time intervals of the hits? Or - because visitors always read the content - do you calculate the time interval from when a hit is a new visit from the size of the last retrieved page document? How do you filter out regular refreshes? How do you deal with the above visitor counting problems?
Not at all. You just suck. On the fingers. Then a number comes out. Usually based on a time interval between hits - long pause, new visit. That's just counted. And it's added to a sum. Regardless of the fact that a visit may have been interrupted by a phone call - and therefore two visits were one visit, just with a pause. Regardless of the fact that users share computers or IP addresses - and thus a visit in reality was 10 interwoven visits.
Oh, yes, I know that some software uses the referrer headers of the browser to assign paths through the system and thus build clearer visits. Which of course no longer works smoothly if the user goes back with the back button or enters an address again without a referrer being produced. Or uses a personal firewall that partially filters referrers.
What is really cute is that all these numbers are thrown on the market without clear statements being made. Of course, sometimes it is said which service the numbers were determined via - but what does that say? Can the numbers be faked there? Does the operator count correctly (at blogcounter.de you can certainly fake the numbers in the simplest way) and does he count sensibly at all? Oh well, just take numbers.
The argument is often brought up that although the numbers cannot be compared directly as absolute numbers across counter boundaries, you can compare numbers from the same counter - companies are founded on this, which make money by renting out this coffee ground technology to others and thus realizing the great cross-border rankings. Until someone notices how the counters can be manipulated in a trivial way ...
It gets really cute when the numbers are brought into line with the time axis and things like average dwell time are derived from this and then, in combination with the page size, it is determined how many pages were read and how many were just clicked (based on the usual reading speed, such a thing is actually "evaluated" by some software).
So let's summarize: there is a limited framework of information that you can build on. These are hits (i.e., retrievals from the server), hosts (i.e., retrieving IP addresses), and amounts transferred (summing the bytes from the retrievals). In addition, there are auxiliary information such as e.g. referrers and possibly cookies. All numbers can be manipulated and falsified - and many are actually falsified by common Internet technologies (the most common case being caching proxies).
These rather unreliable numbers are chased through - partly non-public - algorithms and then mumbo jumbo is generated, which is used to show what a cool frood you are and where the towel hangs.
And I'm supposed to participate in such nonsense?
PS: According to the awstats evaluation, the author of this posting had 20,172 visitors, 39,213 visits, 112,034 page views in 224,402 accesses, and pushed 3.9 gigabytes over the line last month - which, as noted above, is completely irrelevant and meaningless, except that he might look for more sensible hobbies.

It was bound to happen eventually. Everyone was so proud that we are now Pope. Well, now comes the new Vatican directive against homosexuals in the priesthood - and thus the next round in the persecution of homosexuals:
Homosexuals must have lived chastely for at least the past three years if they wish to obtain priestly ordination. Those who publicly acknowledge being homosexual, attend gay meetings or lobby groups, or feel an "even if only spiritual, insurmountable attraction towards same-sex culture" may not become priests.
I am always amazed at how deceitful an institution can be that constantly proclaims expressions like humanity and kindness as its own. Well, the Catholic Church, of course - never mentally emerged from the era of witch burnings ...
... why doesn't it support feed autodiscovery then?
Here is the translated Markdown body:
Then Nessus becomes closed source - Golem.de:
The biggest change for Nessus 3, however, is the license. While Nessus has been developed and offered as open source under the GPL so far, version 3 will no longer be published under the GPL. Although the software will continue to be offered for free, even for Windows, the source code will no longer be published.
And a security scanner for which the source is not available is simply nonsense and snake oil. Because tools in the security field urgently need the peer review that is absolutely common for open source software in this area.
Pragmatic Ajax is a book (currently in beta - you can pre-order and get the betas as PDF) about Ajax and all the surrounding stuff. The Pragmatic Bookshelf books are usually quite pragmatic (aha) and pleasant to read, so it might be worth it.
If I understand Dave Winer's ramblings correctly, he has sold weblogs.com and other infrastructure to Verisign (yes, confirmation from Verisign).
Which makes weblogs.com completely dead and uninteresting to me, because everything Verisign touches turns to shit. Not to mention I don't trust the company as far as I can spit - they have their dirty fingers in too many internet topics (and are all too concerned about expanding their already absurd monopoly in some areas).
Well, today you ping via Ping-O-Matic anyway - this way pings also go out much broader, also to more sensible services. Apart from that, weblogs.com was already pretty unusable because it simply lacked the necessary performance. Which is no wonder if you choose the wrong software base for such services (nothing against Frontier, but it's simply unusable for this).
WSGI and WSGI Middleware is Easy describes how to work with WSGI middleware and what it actually is.
That they want to introduce software patents through the back door is not new - but still concerning. But if you look at such excesses of their ideas about the possibilities of reacting to copyright and patent infringements:
If the controversial enforcement directive is approved by the European Parliament and the Council, the police would, according to FIPR, "have more powers against copyright infringers than against terrorists". Thus, law enforcement authorities would in future be able to freeze the accounts of parents whose children might have illegally downloaded music on the Internet, in coordination with lawyers.
Freeze the accounts of parents because their children have downloaded music? Hello, are you still there? What kind of idiots are actually assigned to the EU Commission?
... which has been circulating through the blogs for a few days, gets its fair share here. It starts harmlessly in the comments with the usual considerations about personal data and where does the email address come from, what are the personalized links for in the "anonymous" survey - so quite normal and healthy behavior from the people.
Then at some point the providers (the Knallgrauen) jump in. And then something comes up that leaves me speechless:
And now a few personal words: I find the excitement here a bit puzzling. We (twoday.net) have always been very careful with data in the past and have always tried to be careful and act in the best interest of the users with such topics. Every day, personal rights are handled much more carelessly elsewhere and no one cares. Here, however, everyone can say how they imagine research, including beautiful publication dreams, which are unfortunately far removed from any reality.
Sorry, but what? So the concerns about the passing on of email addresses for a purpose to which the owner of the address has not explicitly consented are responded to with the flimsy argument "we are always soooo good and the others are soooo bad, and anyway, you are all dreamers"? It's quite astonishing how much arrogance can fit into a small paragraph ...
This casts a not very positive light on the relationship of the Knallgrauen to the protection of the personal data of the users. And no, a survey is nothing that is necessary for the operation - no matter how flimsy the justification with which it is pulled out by the hair.
And it was not just a slip of the tongue, as another comment from the Knallgrau direction further down proves:
in other discussions I can personally not understand the excitement about some things. Data protection is important, but not all boys are bad. So I am probably not to be counted among the cautious species, maybe I have just been lucky so far.
Yeah, yeah, data protection is always taken too seriously. Sorry, Knallgrau, but data protection is always taken too lightly, which is why such idiots like you just brush it aside. It's much more important to carry out a survey that has been planned for months (from which the visitor has nothing, but only the evaluator and the recipient of the result - just by the way) and not to cancel it because of such trivialities, as you write in the same comment:
the interesting thing about communication is that there is always too little of it. The sensitive environment (due to previous surveys) was clear to us, the survey has been planned and prepared for months (very thoroughly prepared) and we did not want to cancel the project for such reasons.
Exactly. Screw data protection concerns, they are just "such reasons" and nothing important, like, for example, another insignificant survey about the blogosphere (in which the visitor is asked about their income to improve the provider's services - ah yes) ...
RobotFlow is based on FlowDesigner - something like Open Source LabView - and is a graphical robot programming platform, comparable to RoboLab. Unfortunately, there is still no LegOS backend (or at least one for the Lego Mindstorms bytecode) for RobotFlow.
Cycling makes you impotent, but driving makes you stupid: drivers in a traffic jam have repeatedly turned around on the highway on the Autobahn:
For the second time in a few days, drivers in NRW have turned around on the highway. Although Interior Minister Ingo Wolf (FDP) had announced an increased release of the emergency lanes, this may only be ordered by the police.
Of course, for drivers in NRW, this immediately means the green light for a brainless move. The only question is when the turnaround idiots will meet the idiots who consider an emergency lane as a race track to the front of the traffic jam ...
OpenMCL 1.0 is out - after quite a long time finally a decent version jump
Python Paste Power is a very interesting article about Python Paste, the metaframework by Ian Bicking. It makes the application and distribution of web applications in Python much easier (at least if the framework with which one wants to build the application has Paste support).
The IRC logger is working fine, but I wasn't happy with the dependence on muh - so I wrote my own little logger bot in python, based on irclib. Does work fine and does only what I want it to do - logging. I allways feel a bit queasy when IRC bots have command structures and stuff like that and I actually don't need any of those ...
So now the project is mostly complete - just use the django admin to add channels to your database, point the logger bot to some IRC host and see how it joins channels and starts logging.
Oh, there are still things to do - for example the bot needs to rescan the list of channels so it notices newly added channels and leaves deleted channels (and maybe I should add channel activation/deactivation so I can switch off channels for some time without losing the archives), but for now it just logs #django and for that it's good enough.
What I hate are such great blanket headlines like the one at Heise today: Computers can lead to worse grades in school. Of course, poor teaching can also lead to worse grades. Newspapers can also lead to worse grades ...
It gets particularly embarrassing when you read the reasoning:
A computer in the child's room leads in most cases to worse grades in school. This is the conclusion of a study (PDF file) published on Tuesday by the Munich ifo Institute, which specifically evaluated the international data of the PISA studies again. The reason for this: the computer is very often used for computer games instead of being used for learning.
Aha. So let's conclude: playing instead of learning can lead to worse grades. Oh. Oh really. Grandiose insight - and why does the title say something completely different? Maybe the authors played a bit too much and learned too little?
From the Süddeutsche Zeitung: Cycling causes impotence:
„There is no longer any question that cycling can cause erectile dysfunction“, comments reproductive medicine specialist Steven Schrader. „The only question now is what we can do about it.“
So if I call the next cyclist who wants to run me over on the pedestrian crossing an impotent bastard, that is by no means an insult, but a pure statement of fact!
(and no, I hardly ever use my computer for gaming, in case anyone feels the need to point that out)
This time it's Writeboard for collaborative text editing over the web. Maybe something like SubEthaEdit for the very poor. From the FAQ:
Is this some sort of wiki?
No way. Not at all. Nope. Wikis are icky. Writeboard is about writing and editing solo or with others. It's all about the words. Wikis are about way more than that which is why they are generally pretty confusing to most folks.
Yes, of course, wikis are icky. And hard to understand. Logical. Might apply to someone who thinks to-do list programs are more brilliant than sliced white bread. Sorry, but it's just getting ridiculous what's coming out of that place. Banal programs don't get smarter just because you wrap them in candy colors ...
When will Google finally realize that searching for links to a blog is pretty stupid if it returns links from the blog to itself in the results? I know that I link to myself - I don't need Google for that. Neither the web search nor the blog search. And of course, you can't just use -site or -domain or something like that. Rarely stupid. It already annoyed me with the normal Google web search, and it's also annoying in the blog search. A search for link: is a search for external links, so please filter the results to exclude the site itself ...
Yeeeehaaaa! The source code of the MIT CADR Lisp Machines - the precursor of most high-end Lisp machines - has been released under a BSD license!
This should hopefully give the CADR Lisp Emulator a further boost. In recent times, things have been a bit quiet around the emulator.
If Symbolics could finally bring themselves to port their OpenGenera platform to OS X, I would be even happier.
And a few more news about the emulator - there is the first support for ChaosNet, including a file server for Linux. And the Lispmachine-Board mentioned in the link would be pretty cool ...
There now is a IRC logger for #django on freenode.net. Ever since the loglibrary broke down, I thought about rolling my own. So I started to build the stuff needed for an IRC logger. The interface itself is written with django, of course
As allways, the source is available in my trac instance. It's currently only running in #django, but it can easily be extended to other channels. And it stores log lines in a database, so I will be able to add searching and stuff like that. It already has a calendar view on the logs.
The logging itself is done with muh - a nice IRC proxy that allows logging to named pipes. Then there is a script fetch.py that pulls the lines from the named pipe and stores them in the database. The last part is the django-based viewer for those logs.
Update: the logging is now done with a dedicated IRC logger written in python. It's in the source tree as loggerbot.py.
I could make use of generic views in Django, only that I needed to parameterize them. I did that with a wrapper function that moves stuff from the keywords of a view function to the extra_lookup args and extra context keywords of generic views. You can see the code in the repository.
The rest is just standard Django stuff: generic templates (that make use of the cool regroup tag) and some custom tags for the calendar and the user colorization. A bit of model hackery and that's it, actually. Nice and simple. Took only a few hours to bang together, and that includes playing with muh and named pipes ...