Die liebe Eule hat eine Schatzkiste gefunden und fragt nach Kinderbucherinnerungen.
Hmm, Kinderbücher… Gar nicht so einfach, ich glaube, eine Menge habe ich schon wieder vergessen. Aber mal sehen: aus Vorlesezeiten hätten wir da zum Beispiel die Schatzinsel und Dahls Danny oder die Fasanenjagd, etwas weiter hinten auf der Beliebtheitsskala (aber immer noch schön) gab es James und der Riesenpfirsich (auch von Dahl) und Robinson Crusoe. Oh, und gerade wieder eingefallen: Das Rote U — ein Buch, das in meiner Heimatstadt spielt, so daß man die Schauplätze schön verfolgen kann.
Unter den ersten Selbstgelesenen fällt mir Wipp und Murkel ein, eine Geschichte von zwei Mäusen — in Schreibschrift gedruckt :-)
Später habe ich dann Robbi, Tobbi und das Fliewatüüt in der Stadtbücherei entdeckt (übrigens von Boy Lornsen, den wir ja schon aus dem Video kennen). Außerdem natürlich das Gebubbel-Buch (kennt das wirklich keiner?), irgendwann dann Die drei Fragezeichen, und noch etwas später habe ich angefangen, regalmeterweise Mark Brandis zu verschlingen.

Tja, spätestens an dem Punkt ist dann wohl der Übergang vom Kinder- zum Jugendbuch erreicht, und deshalb beende ich den Beitrag jetzt auch.

Kein Kommentar

von kirjoittaessani


Das Jahr neigt sich schon wieder dem Ende zu, und das heißt, daß es wieder einen Adventskalender gibt, Juhu! Die ersten beiden Türchen[1] waren schon sehr lecker, und ich bin gespannt, was da noch so kommt.

Habe ich eigentlich schon einmal gesagt, wie toll ich so einen Kalender finde? Egal, das kann man gar nicht oft genug sagen.

  1. Im oberen Fach das große gestreifte ganz vorne, und das kleine daneben, das sich so vorwitzig vor das silberne schiebt.
Kein Kommentar

von kirjoittaessani


Derzeit sitze ich zu Hause auf dem Sofa — nach dem zweiten Fahrradunfall innerhalb von gut einem Monat. Hmpf.

Zum Trost habe ich noch ein Panorama gebastelt aus Novemberbildern: einen Blick vom Geismarer Holze in Richtung Süden auf Diemarden, Reinhausen und die Berge rund um den Bocksbühl.

6 Kommentare

von kirjoittaessani


Heute ist the day. Anders kann ich es gar nicht ausdrücken: Seit dem Nachmittag läuft die Heizung — nach fast einer Woche mit morgens fünfzehn Grad in der Küche ist das ein Traum. Und: Heute zum ersten Mal sei Jahrzehnten wieder an einem Gasherd gestanden. Das ist so toll: kaum dreht man den Hahn auf, ist der Topf heiß; und noch besser: kaum dreht man ihn zu, ist der Topf kalt.

Ja, und zum Abschluß gab es dann noch Einhandkuchen.

2 Kommentare

von kirjoittaessani


Nanu, mag sich der geneigte Leser denken, wo sind denn da die Eulen? Aber es sind ja gar keine Bilder von Eulen, sondern für die Eule. Weil man Versprechen ja auch halten muß. Und überhaupt. Ja, und weil ihr auch etwas davon haben sollt, hab ich sie einfach mal hierhin gepackt.

 

1 Kommentar

von kirjoittaessani


And I did this by my Lord’s command, who, I thank him, did of himself think of doing it to do me a kindness, for he writ a letter himself to him, thanking him for his kindness to me.

Na, dann ist ja alles klar …

Kein Kommentar

von kirjoittaessani


Eh man sich’s versieht, ist ein ganzer Monat ohne Eintrag vergangen — jetzt bin ich aber wieder da. In der Zwischenzeit habe ich Markus Heitz’ Zwerge hinter mich gebracht.

Der Klappentext legt die Latte hoch, indem er den Vergleich zu Tolkien zieht. In der Tat erinnert das Geborgene Land stark an Mittelerde, mit all seinen Zwergen und Elben, Menschen und Orks, und natürlich den Zauberern. Nun wird dem Herrn der Ringe oft vorgeworfen, Schwarzweißmalerei zu betreiben: hier die Guten (Elben und blonde Menschen), dort die Bösen (Orks, dunkelhäutige Menschen, und alles, was häßlich ist). In der Beziehung läßt sich auch Herr Heitz nicht lumpen: die Widersacher sind abstoßend, krank und (meistens) dumm.

Djerun erlegte eine ausgezehrte Hirschkuh, deren Fleisch sie nach kurzem Rösten über dem Feuer hungrig verschlangen. Den schimmeligen Beigeschmack versuchten sie zu ignorieren.

Leider ist da auch schon fast Schluß mit den Parallelen: Tolkiens Werk stützt sich auf eine umfangreiche Mythologie, Historie und mehrere ausgearbeitete Sprachen. Die Zwerge wirken dagegen einfach nur oberflächlich. Ein paar diakritische Zeichen, die man über die Namen der Charaktere streut, sollen wohl für den fremdländischen Touch sorgen, wirken aber eher hilflos, zumal sich Zwergennamen von solchen der Elben oder Menschen eh wenig unterscheiden. Die Landkarte ist kaum mehr als eine lieblos hingeworfene Skizze, die weder hilft, die Handlung einzuordnen, noch Neugier auf unbekannte Länder weckt. Und überhaupt, die Landschaft: Braunes Gebirge, Blaues Gebirge, Rotes Gebirge, Schwarzes Gebirge — geht es noch unrealistischer? So funktionieren vielleicht Straßennamen im Neubaugebiet, aber echte, gewachsene Namen sind nicht so systematisch.

Das alles wäre ja nicht weiter schlimm; es gibt genügend gute Bücher ohne Mythologie, ohne eigene Sprachen, und ohne realistische Welten. Ja, wenn nur die Handlung nicht so simpel gestrickt wäre. Diese ist nämlich etwa ab Seite zweihundert (von sechshundert!) komplett vorhersehbar. Ab dort ist die Zahl der Guten genügend geschrumpft, daß klar ist, wer was tun muß; und das (sehr alte) Motiv der Quest — also Hinreise, Erledigung einer vorbestimmten Aufgabe, Rückreise — läßt auch nicht viel Raum für Überraschungen. Und die Frau bekommt er natürlich auch.

Objekt dieser eher langweiligen Quest ist ein ziemlich unglaubwürdiges Artefakt — einfach möglichst viele möglichst teure Materialien zusammenzuwerfen, mag zum Protzen gut sein, aber Zauberei geht anders.

Rotes und grünes Blut spritzte, Gliedmaßen und Zähne flogen durch die Luft, und zu dem brachialen Kampflärm mischte sich das Heulen der wartenden Horden, deren Gier wuchs und wuchs.

Eine kleine Beschwerde zum Schluß muß ich noch anbringen: das Buch ist ganz schön blutig. Zugegeben, ein Krieg ist nun einmal blutig, aber ist es wirklich nötig, bei jedem Kampf genau anzugeben, welche Organe durchtrennt werden und wie der sterbende Gegner aussieht? Die oben zitierte Passage ist noch vergleichsweise zurückhaltend.

Wirklich beeinflussen kann diese Kritik die Gesamtbewertung aber auch nicht mehr, denn zwei von fünf Sternen müssen den Zwergen ohnehin genügen. Wer einen Lückenfüller für zwischendurch sucht, mag getrost zu diesem Werk greifen. Lesern, die sich tiefere Charaktere oder eine abwechslungsreichere Handlung wünschen, ist mit Autoren wie Robin Hobb oder Patrick Rothfuss besser gedient.

Kein Kommentar

von kirjoittaessani


Actually, I have known this for some time, but today, it has bitten me again: Interpreted languages[1] are not suited for application development. Period. Use them for quick hacks, or for prototyping, or in lieu of a shell script. But never for real applications.

People tend to say Computers are so fast today the overhead does not really matter, and if it does for a few inner loops, no problem: our language can interface with C. But that is beside the point. The real disadvantage of these languages is not their (somewhat inferior) execution speed, but their lack of static checking. If you write bogus in a compiled language, chances are the compiler will catch it. Some stricter languages[2] will catch more kinds of bogus than more lenient ones[3], but there are surprisingly many ways to write bogus that every compiler will catch. Interpreted languages do not have a compile phase, they just throw an exception when encountering bogus at runtime. If they encounter it: There are many execution paths through a program, and some may not be followed very often, making it easy to write, install, and use completely broken software. You may say Well, write tests then, but as useful tests are, they come with large disadvantages when relied upon as the only means of detecting errors: Firstly, they have to be written. A compiler knows about the language, but the developer has to write all necessary testcases by hand. It is easy to overlook something, and it is also very easy to be lazy and write too few tests (or none at all). Secondly, executing tests takes machine time (probably more than what was saved by not compiling), and writing tests takes developer time (lots of it). Finally, the static analysis a compiler provides tends to catch different errors than tests do, so combining the two will simply catch more problems than either method on its own.

Oh, and then there is the problem of external code. Libraries, modules, whatever. APIs should not change (needlessly), but sometimes they do. With ordinary binary code, there is an established way to keep around different versions of a given library, so older programs using an older API can still function. I am not aware of a similar mechanism for Python, so getting ImportErrors from a module that installed just fine is not that unusual. In fact, implementing such a method for an interpreted language would be somewhat more involved than for a compiled one: When a programmer links to a shared library, the linker will take that to mean the latest installed version of that library. The version number is then encoded into the application binary, so the correct library will be used whenever the application is started. However, the very nature of an interpreted language means that the program is not touched by anyone but the developer. So if the developer does not demand a particular version, nothing else does, either. Seriously: use a tool that fits the job rather than clutching a hammer and trying to see nails everywhere.

  1. like Python
  2. like Ada
  3. like C
Kein Kommentardeutsch

von kirjoittaessani


Linux und die Speicherverwaltung — das ist gar kein einfaches Thema. Wenn man dann noch versucht, seine User mittels ulimit im Zaume zu halten, wird es nur schwieriger. Gerade habe ich etwas sehr erhellendes gefunden: die meisten Sachen funktionieren einfach nicht.

Kein Kommentar

von kirjoittaessani


Unpleasant: night after night, your machine keeps deleting your laboriously developed code. Convenient: everything is in a local git repository, and any point in time may be reconstructed. Strange: not only has the code disappeared, but all traces of its history as well.

In the past few months, I have spent an hour or two almost every week to find the leak. Today, I have met with success:

In the normal fast-forward case the behavior remains unchanged. However, now local modifications and commits will be erased, and upstream rewrites are handled smoothly.  This ensures that the upstream
branch is tested as expected.

Argh! What bally idea is that? I would like to decide for myself what I want to test, thank you very much. If I really want to test Upstream, I will create a branch for that purpose. It is not up to some piece of software to decide in my place, and then remove my code from the repository!

Kein Kommentardeutsch

von kirjoittaessani