kopf.lastig | Alles mögliche zu Themen wie Familie, Beruf, Medien etc. …

TAG | Bücher

Jan/06

20

Harry Potter: Zauberstab und Physik

Wie fast jeden Abend “durfte” ich auch gestern wieder zum Einschlafen einem Potter-Hörbuch lauschen (manche Leute können ohne Hörbuch oder Fernsehen nicht so gut einschlafen…). Es war gerade die Stelle, in der sich Potter und seine Mannen mit den Todessern im Zaubereiministerium prügeln. Dann treffen Voldemort und Dumbledore aufeinander. Dabei ist mir was aufgefallen…

Im Buch wird beschrieben, wie bei einem Fluch ein Lichtblitz aus dem Zauberstab austritt und auf den Gegner “zufliegt”. Nun ist die Geschwindigkeit von Licht eigentlich ziemlich groß. Wenn ich eine Taschenlampe einschalte, bemerkt kein Mensch, wie die Photonen aus der Taschenlampe austreten und auf die Wand gegenüber auftreffen. Auch bei Gewehrkugeln (die sich ja wesentlich langsamer als Licht fortbewegen) hat niemand eine Chance, zu reagieren. Ich würde auch sagen, bei einem Pfeil aus einer Armbrust dürfte es ziemlich schwer für ein Opfer sein auszuweichen, wenn der Schütze ca. 20 Meter entfernt steht.

In besagtem Kampf Voldi gegen Dumbledore kann letzterer mehrmals Flüchen entkommen – durch “umdrehen und disapparieren” und “andere Gegenstände in den Weg zaubern”. Wie schnell – oder besser langsam – ist denn dieses “Fluchlicht”, das man da sieht? Das würde ich gerne wissen.

Und wenn ich so einen Todesser Kampfunfähig gezaubert hätte, würde ich ihm sofort seinen Zauberstab entwenden und diesen zerbrechen. Damit der keinen Unfug mehr damit anfängt. Das nur nebenbei.

Hide

Jan/06

18

30. Geburtstag

In einem halben Jahr erwischt mich die “magische” Zahl 30 – soviele Lenze zähle ich dann. Nachdem meine liebe Frau mir schon das Buch “Achtung – fertig – 30″ vom Restposten-Buchhändler Jokersmitgebracht hat, erschien gestern auf Spiegel-Online ein Interview mit Kulturwissenschaftler Christian Marchetti über den 30. Geburtstag. Der Tipp vom “Experten”: den Geburtstag groß feiern. Genau das habe ich auch vor – weiß allerdings nur noch nicht genau, wie.

Das Buch übrigens ist recht lesenswert, auch wenn es manchmal zu sehr aus der Sicht einer Frau geschrieben ist. An einigen Stellen hätte ich mir mehr Tiefe gewünscht, aber dann wäre das Buch wohl entsprechend dicker geworden.

Sinnkrise, Ende der Jugend, Verantwortung und ähnliche Schlagwörter… Hm. Anlaß zum Nachdenken ist der 30. schon. Aber im Endeffekt wird es ein Tag wie jeder andere sein. Die Geburt meines Sohnes hat mein Leben sicherlich einschneidender und nachhaltiger beeinflußt als es der 30. Geburtstag tun wird (Stichwort “Ende der Jugend” und “Verantwortung”).

Hide

Ich lese gerade “Achtung – fertig – 30″. Dort gibt es eine Liste von 20 Eigenschaften erfolgreicher Menschen (“erfolgsintelligente” Menschen). Diese Menschen können (Zitat):

  • sich selbst motivieren
  • ihre Impulse kontrollieren
  • durchhalten
  • das Beste aus ihren Fähigkeiten machen
  • Gedanken in die Tat umsetzen
  • auf Ergebnisse hinarbeiten
  • ihre Aufgabe zu Ende bringen
  • Initiative ergreifen
  • Niederlagen einstecken
  • ihre Projekte auch umsetzen, anstatt sie aufzuschieben
  • Kritik annehmen
  • unabhängig (von anderen) sein
  • persönliche Schwierigkeiten überwinden (z.B. Schüchternheit)
  • sich auf ihre Ziele konzentrieren
  • das richtige Maß an Belastung zwischen Unterforderung und Überforderung herausfinden
  • auf Belohnung warten
  • sich auf das Gesamtziel ihres Schaffens konzentrieren, ohne sich dabei zu verzetteln
  • an ihre Fähigkeit, Ziele zu erreichen, glauben
  • analytisch, kreativ und praktisch denken

Und? Welche dieser Eigenschaften ist bei Ihnen gut ausgeprägt? An welchen könnten Sie arbeiten?

, Hide

Chapter 8 introduces Criteria Queries. Only QueryTest.java is affected. Besides the usual net.sf.hibernate to org.hibernate package import renaming, net.sf.hibernate.expressions in Hibernate 2 is replaced by org.hibernate.criterion.

Moreover, change the line

JAVA:
  1.  
  2. Example example = Example.create(new Artist(namePattern, null, null));
  3.  

to

JAVA:
  1.  
  2. Artist artist = new Artist();
  3. artist.setName(namePattern);
  4. Example example = Example.create(artist);
  5.  

because Hibernate 3 has generated no argument constructors only.

, , Hide

Chapter 7 is working in Hibernate 3 (as opposed to chapter 6). The most challanging in this chapter migrationwise are StereoVolumeType.java and SourceMediaType.java . Change the import-package names. The Usertype-stuff is now under the package "org.hibernate.usertype". It won't compile, yet as there are some methods missing. For SourceMediaType.java:

JAVA:
  1.  
  2. public Object replace(Object original, Object target, Object owner)
  3.     throws HibernateException {
  4.  
  5.         return original;
  6.    }
  7.  
  8. public Serializable disassemble(Object value) {
  9.        return (Serializable) deepCopy(value);
  10.  }
  11.  
  12. public Object assemble(Serializable cached,
  13.                            Object owner)
  14.     {
  15.         // Our value type happens to be serializable, so we have an easy out.
  16.         return deepCopy(cached);
  17.     }
  18.  
  19. public int hashCode(Object o) { return o.hashCode(); }
  20.  

For StereoVolumeType.java:

JAVA:
  1.  
  2. public Object replace(Object original, Object target,SessionImplementor session,
  3.                       Object owner)
  4.     throws HibernateException {
  5.                    
  6.                    return deepCopy((StereoVolumeType)original);
  7.   }
  8.                
  9. public int hashCode(Object o) { return o.hashCode(); }
  10.  
  11. public Object replace(Object original, Object target, Object owner)
  12.                throws HibernateException {
  13.                    
  14.                    return original;
  15.  }
  16.  

That's it.

, , Hide

You can skip the entire chapter 6 if you use Hibernate 3. It is based on the interface PersistenceEnum which already became deprecated in Hibernate 2 as the author points out in the errata. The interface has apparently removed in Hibernate 3.

, , Hide

As in chapter 4, copy the hbm.xml-files and change the DTD-reference. Leave CreateTest.java, QueryTest.java and QueryTest2.java alone - they will still compile. Copy the AlbumTest.java file, change the hibernate-imports and the constructor calls as well as int parameters to Integer.

This should be easy as we have done that before.

, , Hide

In this chapter, we add an Entity called "Artist" as well as an entity called "Comments".

Copy both Track.hbm.xml and Artist.hbm.xml from the examples-distribution and remember to change the DTD-reference if necessary.
When using "ant schema", SAX complained it couldn't find ${src.root}/com/oreilly/hh/hibernate-mapping-2.0.dtd for Artist.hbm.xml.
That's strange because it didn't complain about it in Track.hbm.xml before. However, I place the DTD file in ${src.root}/com/oreilly/hh
and the prepare-target now copies *.dtd file, too.

The code generation is no problem. I has changed CreateTest.java again according to Java-beans coding style.
The package name in QueryTest.java and QueryTest2.java needs to be changed again from "net.sf.hibernate..." to "org.hibernate..." and everything works.

So that's it for chapter 4.

, , Hide

Find it!

Theme Design by devolux.org