Monday, October 4. 2004
Sprache wird von denen geformt, die sie verwenden. Sprache kann und soll nicht kuenstlich beeinflusst werden, da sie sich dadurch dem natuerlichen Gebrauch derer, die sie auch tatsaechlich verwenden, immer weiter entfernt. Sprache wird beeinflusst, von kulturellen Veraenderungen, von anderen Sprachen, von einer sich veraendernden Art und Weise der Menschen zu denken. Man kann mit ihr spielen, sie formen, sie gebrauchen, sie missbrauchen, mit ihr ausdruecken.
Die deutsche Sprache war immer schon von anderen Sprachen gepraegt, und wurde von denen gepraegt, die sie auch verwendet haben. Sie hat viele Jahrhunderte ueberstanden, mit etlichen Veraenderungen, Dialektbildungen, immer wieder sich wandelndem Vokabular.
Gerade das Spiel mit ihr fasziniert, auf immer neue, kreative Art und Weise, neue Facetten der deutschen Sprache zu entdecken. Den Dialekten und Mundarten zu lauschen, sie versuchen zu erkennen, zu verstehen, zu imitieren, das ist es, was die deutsche Sprache so spannend macht. Ueber die zahlreich vorhanden Redundanzen nachdenken, die reiche Anzahl an Synonymen, die es so interessant machen, die deutsche Sprache zu verwenden, kleinste Unterschiede auszudruecken, die in anderen Sprachen nur muehselig beschreibbar sind.
Bin ich der einzige, der diese Begeisterung fuer seine Muttersprache zeigt? Warum gibt es soviele, die Reinheit fordern? Eine Reinheit, die nie gegeben war, da immer andere Einfluesse vorhanden waren. Eine kuenstliche Reinheit, die etwas Vorhandenes, langwierig in einem evolutionsartigen Prozess Geschaffenes und Geformtes, versucht zu entfremden, und dabei selbst entfremdet von denen, die sie eigentlich verwenden. Warum soll kein Wort, so praktisch, kurz, praegnant und allgemeinverstaendlich es auch heute sein mag, ein deutsches Wort werden, wenn es einer anderen Sprache entstammt? Ist der Wunsch, die Sprache so zu halten, wie sie vorher war, einfach nur Konservatismus, oder ist es Xenophobie, Angst vor dem Fremden, das immer mehr Einfluss
auf uns nimmt? Zeigt diese Angst nicht nur eine Angst vor einer sich veraendernden Sprache, sondern auch eine Angst vor einem Bildungssystem, das sich veraendert hat, weltoffener geworden, Weltoffenheit unterrichtet, und dessen Schueler mit der Idee einer grossen, verbundenen Welt infiziert wurden, in der jeder Punkt der Erde leicht zu erreichen ist, und an dem man sich meist ohne grosse Probleme verstaendigen kann, weil diese Internationalisierung nicht nur ein lokales Phaenomen geblieben ist, sondern auch wirklich international geworden ist?
Ich bin nicht imstande, diese Frage zu beantworten. Ich weiss nur soviel: Sprache wird von denen geformt, die sie verwenden, und nicht von denen, die sie studieren, oder gar am lautesten schreien.
As you can see, synflood.at is online again! Downtimes are a bad thing...
Wednesday, September 29. 2004
The articles themselves are mediocre, but the comments are hilarious ( the article is about a Spaceballs sequel):
Today I uploaded klumpat, a simple logging framework for the C programming language, and especially for dietlibc applications.
The idea is that you have a set of specialized loggers, e.g. for the console, files, syslog or logging to other loggers, which you create with a specialized function, and then log to them with a unified logging function. Every logger has a loglevel, which specifies the threshold from which loglevel on messages shall be logged. One special feature is the so-called meta logger: it's a logger to dispatch a log message to 0 to n other loggers, e.g. a debug logfile (with loglevel DEBUG), an error logfile (with loglevel ERROR) and a console logger (with loglevel NOTICE). The API itself is trivial, as the following example shows:
klumpat flogger = kl_new_file("file",DEBUG,"testlog.txt");
klumpat clogger = kl_new_console("console",ERROR);
klumpat * logger = kl_new_meta("meta",DEBUG);
kl_add_logger(logger,flogger);
kl_add_logger(logger,clogger);
kl_log(logger,DEBUG,"this is a debug message");
kl_log(logger,NOTICE,"this is a notice");
kl_log(logger,ERROR,"this is an error message");
kl_delete(logger);
Another nice thing is that messages in different loglevels are getting colored differently when being printed to the console. That makes the visual perception of e.g. error messages much easier.
Why the name "klumpat"? Well, "klumpat" means (roughly translated) "crap". It was just a random name that came to my mind when I started implementing the whole thing.
Monday, September 27. 2004
Do you know that when you have to sneeze so hard that you think your [[carotid artery]] is about to explode and that you have to die a horrible death? Well, I can tell you, I know that, I experience that right now, and it's horrible. Generally, having a cold and/or the flu or getting this typical "oh-it's-getting-cold-outside"-autumn-sickness is horrible.
Sunday, September 26. 2004
Just for the records: I noticed a salt generation weakness in htpasswd when using it in MD5 mode and reported it to the Apache developers.
Update: nobody replied to my email, so I went to the Apache website where found out that you now need to submit patches via their BTS. gna Well, I did that too.
Saturday, September 25. 2004
Do you remember then time when you learned calculating subnets and all that stuff and that the teacher told you that /31 prefixes won't work because "besides net address and broadcast address, there wouldn't be any other free addresses" (unless you haven't heard about [[CIDR]] and still learnt about the classes which are obsolete for more than 10 years). Oh, well, the stuff about /31 prefix isn't quite valid anymore, as I discovered today. For almost 4 years, RFC 3021 is available, which describes a way to do IPv4 point-to-point links. As far as I found out, it is meant to be used for transfer nets, where /30 nets have been used before. This absolutely makes sense, as you won't need more than 2 nodes in a transfer net, anyway, so identifying the net and the broadcast address is quite useless.
Yesterday, I shortly discussed a CAPTCHA system for WordPress to stop comment spammers. I also criticized that the CAPTCHA generator is not quite advanced. Well, instead of just talking I decided to improve it, and I think the result is not too bad. You can find the source for the createCodeImage routine here. It adds a gradient background and horizontal and vertical lines plus semitransparent rectangles that should pretty much mess up any OCR program's edge detection.
Not quite an error message, but the Liwest Infochannel is still hilarious. Yesterday we had a simple division by zero, today we get a window of Asus PC Probe:
Friday, September 24. 2004
I solved the blog spam problem with the following trick: I simply added a [[CAPTCHA]] to the comment dialog. This was inspired by Kristian Koehntopp's Serendipity advocacy, and fortunately, there's a CAPTCHA system available for WordPress. You can find it here. It took some hacking to get it running, but now it works like a charm, and keeps comment spammers off my site.
Of course, the CAPTCHA system is not really one of the most advances ones (there could be definitely more distortions than just a fancy font and a low constrast between font and background), it is IMHO definitely enough to make it too difficult for spammers to break the CAPTCHA in order to post the spam. On the other side: probably the spammers would really break the CAPTCHA and thus solve an [[AI-complete]] problem? Then we would move on to the next, better CAPTCHA system, and probably the spammers would break it again, and so on, and the comment spammers would drive on AI research.
Today I published my very first own Wikipedia article about Zeroconf. It is a lot more complete than the english counterpart. The article itself is based on a text that I wrote about Zeroconf on Linux with the plan to publish it in some computer magazine, but abandoned this project due to lack of time. So I simply ripped out the Linux-specific stuff from the text, put it on Wikipedia, and linked a number of words in the article to other Wikipedia articles.
Michael Prokop mentions a recent increase of blog spam. Yes, I also noticed that increase, and it sucks. Fortunately, most spams keep stuck in the anti-spam filter of WordPress, but some rush through.
I just saw this on the Liwest Infochannel:
What do I have to read in today's "Der Standard", Paris? You're not searching for a "good-looking idiot", but for a "kind-hearted man" and that the look "doesn't matter. Hey, Paris, I'm yours! I'm not necessarily good-looking, I'm definitely not an idiot, I'm kind-hearted (kind of), and I'm a man (at least the last time I checked). So I perfectly fit. Paris, I'm yours!
Thursday, September 23. 2004
Removing memory leaks on Symbian OS is really a hairy thing. Just in case you have to do programming on Symbian OS, if you get a panic with the reason code "ALLOC 0x<32bit-hex>", use either the technique described on this page. If you don't have MS Visual Studio (like me, I'm stuck with Metroworks CodeWarrior), use the following code snippet:
TBuf<255> buf;
buf.Format(_L("CFileDescription address: %x"),(TUint)this);
LOG_DEBUG(buf);
Replace the LOG_DEBUG with your own logging facility, and put the code snippet into every object's constructor. If you encounter a panic as described above, find the hex value in your logfile, and you know what type of object it is that is not properly freed and thus causes the panic.
|