Archiv für September 2007

Schöne Empfehlung von Lands’ End

16. September 2007

Ich liebe Recommendersysteme.

Lands’ End verkauft ein Schlafanzug-Oberteil und die dazu passende Hose getrennt. Schräg, aber akzeptabel.

Aber daß deren Recommendersystem die Hose als Alternative zum Oberteil empfiehlt (und umgekehrt), ist wohl ein bißchen daneben :-)

Nochmal Java und Speicherbedarf

12. September 2007

Da der einzige Blogbeitrag, der hir bislang jemanden interessiert hat, den Speicherbedarf von Java betrifft, hier noch ein paar grundlegende Dinge, die man beim Programmieren im Hinterkopf behalten sollte, wenn Speicher ein Problem ist:

  • Es gibt in Java primitive Typen wie int, short, … – von denen kann ich vielleicht ein anderes Mal berichten.
  • Interessant sind für uns erst einmal Objekte.  Wenn ich ein Objekt mit new erzeuge, braucht es erst einmal Speicherplatz. Wieviel? Nun, mindestens mal den für die enthaltenen Felder. Gespeichert wird ein Objekt übrigens im Heap-Speicher.
  •  Außerdem will man ja gerne auf sein Objekt zugreifen können. Das geschieht mit einer Referenz. Wenn ich also Book hamlet = new Book(); ausführe, ist hamlet eine Referenz auf ein Objekt vom Typ Book, das irgendwo im Heap liegt. Und hier liegt das Problem, das ich im o.g. Posting erwähne: Bei einer 32-bit-VM braucht jede dieser Referenzen 32 bit oder eben 4 byte Platz. Das reicht aber nur, um 2^32 Byte, also 4 GB, zu adressieren (wenn man eben einzelne Bytes adressieren will). Verschiedene VMs lassen von diesen 4 GB aber unterschiedlich viel übrig – Sun bringt es aus irgendwelchen Gründen fertig, einem auf allen Systemen, die ich getestet habe, deutlich weniger als die Hälfte davon zu lassen. Bei JRockit geht es schon höher, aber je nach Betriebssystem ist eine einzelne Anwendung ohnehin auf 2-3 GB beschränkt (das gilt natürlich nur für 32-bit-Betriebssysteme; bei Interesse dazu bei Gelegenheit mehr).
  • Bei einer 64-bit-VM braucht man sich de facto heutzutage über dieses Problem weniger Gedanken zu machen. Aber: Will man mehr als 4 GB nutzen, braucht jede Referenz nun doppelt so viel Speicherplatz – meines Wissens (aber dafür lege ich nicht die Hand ins Feuer) ist das bei den 64-bit-VMs von Sun immer der Fall. JRockit begnügt sich mit 32 bit, wenn die zum Adressieren des verwendeten Heap ausreichen. Im dümmsten Fall braucht man bei 32-bit-Referenzen 4,1 GB Speicher, kann den gerade so nicht mehr adressieren und muß deshalb auf 64 bit umsteigen. Und plötzlich braucht man 8 GB… (Ja, es liegen nicht nur Referenzen im Heap – aber je nach Anwendung ist eine Verdopplung schon realistisch)
  • Natürlich läuft die 64-bit-VM nur auf einem 64-bit-Betriebssystem. Und das nur auf einem passenden Prozessor ;-)
  • Braucht man wirklich nur den Speicher, den man mit seinen Objekten, Referenzen usw. belegt? Leider nicht, es gibt einiges an Verschnitt. Näheres demnächst; dann gehe ich kurz auf Garbage Collection und die Organisation des Speichers durch die virtuelle Maschine ein.

Disclaimer (warum ich Disclaimer nicht mag, erzähle ich euch bei anderer Gelegenheit): Ich benühe mich hier um eine verständliche Wiedergabe. Wer es genau wissen möchte, befrage eine Suchmaschine seines Vertrauens und lese die Doku der Hersteller. Wenn ich etwas Wichtiges vergessen oder einen Fehler gemacht haben sollte, möge man dies bitte einfach in einem Kommentar anmerken…

Bahn-Bashing

10. September 2007

Mal wieder schreibt Fefe (ohne sich durch die tatsächliche Sachlage irritieren zu lassen) über die angebliche Unfähigkeit eines Unternehmens – nämlich der Bahn, die keine Personalausweisnummern speichern will. Angeblicher Grund: Unfähigkeit. Tatsächlicher Grund: Die Rechtslage. In der Originalquelle, die von Fefe unkritisch zitiert wird, hat das jemand schon in einem Kommentar richtiggestellt. Wenigstens etwas. Dort wird allerdings weiterhin behauptet, eine Personalausweis-Nummer sei ein 26stelliger String und bestünde nicht nur aus Zahlen. Auch das ist natürlich falsch. Das Nummernschema ist übrigens im Personalausweisgesetz festgelegt…

Eventueller Grund für die Fehlinformation: Fefe berichtet von einem Eintrag bei „Captains Log“, der davon berichtet, was die Personalabteilung seines Unternehmens von Leuten bei der Bahn erzählt bekommen hat, die allerdings vermutlich nicht in der IT-Abteilung sitzen…

Erfolgreicher Terrorismus

4. September 2007

Das Lawblog weist auf einen Artikel der NZZ hin. Der Autor vertritt die Auffassung, die Politik gehe mit ihren Sicherheitsgesetzen zu weit.

Recht hat er. So gesehen sind Terroristen in den letzten Jahren beim Angriff auf freiheitliche Rechtsstaaten sehr erfolgreich gewesen. Nicht durch die Anschläge selbst, sondern durch die Reaktionen darauf.

Nochmal Bundestrojaner

3. September 2007

Fefe schreibt mit seiner üblichen Polemik über die Auffassung der SPD zum Bundestrojaner. Die Auffassungen, die er angreift, teile ich auch nicht, aber mit Unterstellungen wie „wir ändern das Grundgesetzt und dann ist das schon OK“ tut er der Sache keinen Gefallen. Zur Erklärung: Die Rede war von der Notwendigkeit einer „rechtsstaatlich einwandfreien Grundlage“ – und das Rechtsstaatsprinzip läßt sich nicht mit einem Federstrich aus der Welt schaffen. Selbst, wenn man es wollte.

Berliner Verkehrsbetriebe äußern sich zu Wahlcomputern…

1. September 2007

… fällt mir gerade noch bei Lektüre der bereits genannten Heise-Meldung auf…

Mit einer Entscheidung [zum Einsatz von Wahlcomputern] sei nicht vor der hessischen Landtagswahl zu rechnen, teilte das BVG mit.

Steht so auf http://www.heise.de/newsticker/meldung/95315/. Allerdings ist der Artikel falsch, es sollte heißen „die BVG„.

Oder sollten die evtl. doch das BVerfG meinen?

Wahlcomputer

1. September 2007

Hessen hat keine Zweifel bei Wahlcomputern, berichtet Heise. Wie üblich werden Sicherheitsbedenken angeführt, Wahlcomputer sind manipulierbar usw…

Ich denke ja, die Diskussion wird von der falschen Seite geführt. Ist doch egal, wie sicher Wahlcomputer sind. Anders gesagt: Wahlen müssen nicht einfach nur sicher sein. Sie müssen nachvollziehbar sicher sein, der Wähler soll also verstehen können, wie das Verfahren funktioniert und sich vergewissern können, daß alles mit rechten Dingen zugeht. Wenn die Stimmzettel in einer Urne sind, dort öffentlich herausgenommen werden und ebenso öffentlich ausgezählt werden, dann versteht das Jedermann. Wenn in eine Wahlmaschine Chips eingeworfen werden, die in verschiedenen Schächten landen und sowohl automatisch als auch manuell gezählt werden können, dann auch. Wenn aber das Verfahren rein elektronisch abläuft, dann kann das niemand. Selbst Experten (und zu denen zähle ich mich) müssen dafür einen sehr hohen Aufwand treiben und können sich in aller Regel dennoch nicht hundertprozentig sicher sein.

Und deshalb bin ich gegen Wahlcomputer. Egal, ob nun offenkundige Sicherheitslücken vorhanden sind oder nicht.