The Deadly Hollows

I find it hard to say something good about this book, so here it goes: The word choice seemed to be slightly better than in the predecessor.
On the other part I believe you have to look at the whole series and I find there is no consistency: The first four books introduce a certain style: The reader learns only what Harry directly experiences. Characters are built up until the sixth book (e.g. infallibility of Hermione): The seventh goes against these characters. There are also psychological and physiological inconsistencies in the adolescence of the teenagers. None of the boys have mutation. It also seems absurd to assume that Harry’s wild year – his puberty – changes so abruptly.
Now for the actual seventh book: The first chapter is bad for reasons stated above, but what’s worse: The epilogue is even worse. It showes no imagination and is to sugar coated. There is no thread throughout the book you can follow no suspense, although you know they have to find the Horocruxes and destroy them, but you already know thy succeed. For the first good chapter you have to fight through 18 bad. In the nineteenth there is some mysteries, some magic. For the next good one you have to wait again. And after that the story is a failure. I surmised that in the some remaining chapters three Horocruxes must be found and destroyed and Voldemort must be killed. To achieve this several ‚Deus ex machina‘ must be introduced that just are not magical. Further more there is no suspense although several people die none of the death is emotionally as distressful as Dumbledors and his was already much less so than Sirus‘.
Conclusion: Instead of holding onto some conceptual consistency (36 Chapters) the story should be better worked out. The publication at this time seems to me overhasty.

Eclipse Wizard Plugin erstellen

Eclipse stellt bereits einen Wizard zur Verfügung, um eine Wizard zu erstellen: Über New->Plug-in Development->Plug-in Project ein neues Projekt anlegen. Auf der Folgeseite habe ich dann als Target Eclipse (in Version 3.3) angegeben; das OSGi Framework habe ich nicht ganz durchschaut, jedenfalls war mein fertiges Plug-in dann nicht kompatibel. new Plugin step 3 of 5
Auf der 3 Seite sind dann die Eckdaten zu vergeben: Plug-in ID üblicherweise der package name, Version ist selbsterklärend, der Plug-in Name hat nur bezeichnenden Charakter, sollte aber sprechend ausdrücken, wofür das Plug-in steht. Der Plug-in Provider ist üblicherweise ein Teil der Webadresse z.B. eclipse.org, ibm.com oder sahits.ch. Der Activator wird benötigt, um das Plug-in zu aktivieren.
new Plugin step 4 of 5
Auf der folgenden Seite kann zwischen den verschiedenen Plug-ins ausgewählt werden. Für einen Wizard benötigen wir ein „Plug-in with multi-page editor“; Mit Editor ist letztentlich die Grafische Oberfläche des Wizards gemeint wo die Eingaben gemacht werden, wie auf gerade dieser Schritt. Multi-page besagt lediglich, dass der Wizard aus mehreren Schritten bestehen kann, aber nicht muss.
Auf den beiden letzten Seiten werden dann die Informationen für die zu erstellenden Klassen gemacht.
Nach dem Abschluss hat man bereits ein funktionsfähiges Plug-in. Um es auszutesten wählt man das Projekt an und Run As->Eclipse Application. Dies startet eine zweite Eclipse Instanz mit eigenem Workspace (ein Workspace kann gleichzeitig nur von einer Eclipse Instanz benutzt werden). Hier kann der Wizard über New->Other->Other gestartet werden.
Nun geht es daran, den Wizard mit eigenem Code zu fällen. Ein guter Einstiegspunkt ist Eclipse Plugins Exposed, Part 1: A First Glimpse
Hat man die eigene Funktionalität integriert gibt es noch etwas Schönheitspflege zu machen:

  1. Wo in der Liste soll der Wizard erscheinen? Dies wird im plugin.xml im attribut category des tags wizard geregelt. Keine Angabe verfrachtet das Element in den Ordner other. Ein String bringt es in einem Ordner mit diesem Namen unter. Aber Achtung: Wenn bereits ein Ordner mit demselben Namen existiert, gibt aller Wahrscheinlichkeit nach einen zweiten Ordner. Soll der Wizard in einem anderen Ordner erscheinen ist hier die Klasse des Wizards einzutragen.Plugin.xml
  2. Das Plug-in soll ja nicht nur einer Eclipse Instanz verfügbar sein, sondern beim Starten verfügbar sein. Dazu muss das Plug-in in das Verzeichnis eclipse/plugins. Dies jedoch nicht in der Form, wie im Projekt. Für das Plug-in wird das plugin.xml, ein jar-File der Klassen, das Verzeichnis icons und eventuell das Verzeichnis icons, zusätzlich benötigte Bibliotheken und andere Resourcen benötigt.
    Dies gibt man im Plug-in oder Manifest Editor im Tab Build ein.
    Plugin.xml Build
    Unter Runtime Information gibt man den Namen des jar files an, das erstellt werden soll. In Binary Build wird angegeben, was alles im Build enthalten sein soll. Unter Extra Classpath Entries werden zusätzliche Bibliotheken angegeben.
    Um den aktuellen Build auszuführen gibt es mehrere Möglichkeiten: 1. Über Export->Plug-in Development->Deployable plugins and features. Dies erstellt jedoch nur ein jar-file der Klassen mit dem angegebenen Namen in einem plugins Verzeichnis. 2. Wertvoller aber auch nicht ganz optimal ist der Weg über ein Ant build script. Um das build.xml zu erhalten muss das plugin.xml angewählt sein, dann PDE Tools->Create Ant Build File. Dann kann zuerst das Default Target ausgeführt werden, um das jar-File zu erhalten, sodann das target zip.plugin was ein Zip-Archiv des Ordners plugin-ID_Version erstellt und alles unter Binary Build angegebene enthält. Leider aber zusätzlich zwei Zip-Files mit den Sourcen und das Verzeichnis bin. (Dies gilt zumindest für Eclipse 3.3). Also muss hier von Hand aussortiert werden.

Das Ganze ist nicht ganz ohne deshalb hier noch ein paar Tipps:

  • Das Plug-in wird nicht geladen/aktiviert: Erst mal schauen ob das Plug-in verfügbar ist unter Help->Ablut Eclipse SDK->Plug-in Details. Um das Problem zu eruieren kann es sinnvoll sein im Manifest das LacyLoad auf false zu setzen. Dies bewirkt, dass das Plug-in beim Start von Eclipse geladen wird. Ein Blick ins Error log (Window->Show View->Error log) enthällt das Problem
  • Im Error log erscheint die Meldung „plugin does not have valid identifier“ oder „plugin does not have valid version“. Hier habe ich mir sagen lassen, dass dies mit einer JRE < 1.5 vorkommen kann. Mein Problem war ein anderes: Das Verzeichnis META-INF fehlte.
  • Wenn der Wizard gestartet werden soll erscheint die Fehlermeldung „Error loading new wizard …“ Zum einen kann es sein, dass im plugin.xml die falsche Klasse angegeben ist, oder dass das jar-file im Classpath des Plug-ins fehlt (META-INF/Manifest.mf)
  • Wenn alles nichts nützt Eclipse von der Konsole mit eclipse -clean starten. Wenn dies auch nicht funktioniert alles im Verzeichnis eclipse/configuration/.settings/ löschen.

The Time of Destination

Time of Destination is the follow up to The Refiner’s fire After Harry got injured on his head on the train ride home after his sixth year. Therefore Remus decides to life with Harry until he’s better to minimize the antagonization. When Ron and Ginny visits Vernom has a heart attack and Harry rescues him. In the aftermath Tonks moves in as well and they stay the whole time until he can leave.
In a Dementor attack on the Burrow Petunia relives her rejection of James and tells Harry how she feels about him/James. She also searches Harrys things for a picture of James. Therefore they memory charm her.
For Ginnys birthday Harry and her visit a Wierd Sisters concert but leave prematurely. Someone with a semblance to Harry and his girlfriend get killed. While Ginny picks blackberries she is kidnapped and heavily damaged by Malfoy and his gang. Harry and the Weaslys rescue her.
Hermione has troubles with her parents who won’t allow her back. In her holiday in Italy she meets prince charming and breaks up with Ron.
Doing they transfiguration homework they figure out that Neville’s toad Trevor is actually his granddad Rupert. While Ron and Harry accompany Remus on a full moon they got bitten by a conjured hell-hound so that they hallucinate for three days.
Over the christmas break Remus and Tonks got married. Molly tries to forbid Harry and Ginny to see each other which results in much heartache. After the break Ron and Harry have an interview with people from auror school and get scouted for Quidditch teams. On the way back from a Hogsmead visit Harry has scar-pain. After Harry sees how Voldemort steels seventeen children’s green eyes to regain his sight which he lost in his last battle, and then kills them, he falls in a depression and moves in with Dumbledore to become his apprentice. Harry learns that he is the Heir of Griffindor and there is a Chamber of Knowledge underneath Hogwarts.
When they learn that giants have sided with Voldemort Harry and Dumbledore go on to negotiate with them and manage it.
After Harry receives some picture of his parents and visit some memories of Remus‘ he is about to collapse believing all the death is his fault. One night Merlin disapiears with him to the land of phoenixes where his body and soul is heald.
After his return he is once again attacked on the shore of the lake, stupefied, beaten up severely hexed and thrown into the lake. He is rescued by the merpeople. After the final Quidditch match the scouts offer Ron and Harry several position and they both decide to sign with the London Lions. At a meeting of the Ministry Council in Dumbledore’s office three of the members are discovered to be Death Eaters and further three disruptive members got fired. Harry and Ron work out the pattern behind the dementor attacks so the aurors manage to capture them all.
It turns out that Percy was under Imperious and Voldemort tortured him into insanity to learn about Harry’s and his friends loved one. Thereafter the Weasly twins are attacked and the Granger’s die in a train derailment. In the attacks a large part of the Death Eaters got captured. Therefore Dumbledore decides the the Time of Destination has come and attack Voldemort. Harry succeeds with the help of his friends to refine the evil out of Voldemort which kills him. In the resulting backslash they are injured and Harry hovers in between.
After sufficient recovery at St. Mungos‘ Harry asks for Ginny’s hand. Dumbledore tells him he is his Great-Great-Grandfather. When Harry returns to Hogwarts he is attacked on last time by Zabini. But finally he recovers.
In the two epilogue we learn that Ginny and Harry have seven children thereof 3 pair twins. When the oldest come to Hogwarts Harry gives up his job as coach of the London Loins and becomes Transfiguration teacher. Hermione writes schoolbooks that tell Harrys story. Some Ravenclaw boys get the idea to steal a watch dragons egg. This results in the destruction of the Ravenclaw tower. Harry tries to distract the mother while Merlin flies the hatched babies back but they are already dead which infuriates the dragon which comes after Harry and burns him severely. Finally Harry manages to slay the dragon with Gryffindors sword. Unfortunately the dragon falls on him. He manages to survive in the axle hole. To fully recover Merlin takes him once more to the land of phoenixes where he goes through a burning.

The story can be read online at Schnoogle.
There is also a PDF of the story.

Compiling X

While working my way throug the X instalation part of the BLFS I encountered some problems with compiling. The first problem was libXpm in the libriry chapter. It showed that several packages of the app chapter have the same problem.
The problem is something like this:
*.so: undefined reverence to ‚X….‘
this is cause by the missing library libXext. To circumvent this problem I did first the configure part and then took the offending Makefile and added ‚-lXext‘ right bevor ‚-lX11‘ in the variable LDFLAGS.