<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>42 - Der Blog &raquo; 42 - Der Blog</title>
	<atom:link href="http://www.zweiundvierzich.de/s9y/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zweiundvierzich.de/s9y</link>
	<description>Das Leben, das Universum und der ganze Rest</description>
	<lastBuildDate>Mon, 26 Mar 2012 17:32:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Android: Ein Objektcache für beschleunigten Lesezugriff auf SQLite-Datenbank</title>
		<link>http://www.zweiundvierzich.de/s9y/android-objektcache-sqlite/</link>
		<comments>http://www.zweiundvierzich.de/s9y/android-objektcache-sqlite/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 17:32:22 +0000</pubDate>
		<dc:creator>stefan</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.zweiundvierzich.de/s9y/?p=229</guid>
		<description><![CDATA[In der objektorientierten Programmierung bedeutung Speicherung in einer Datenbank &#8211; egal, ob MySQL, MS-SQL, PostGreSQL oder eben auch SQLite &#8211; nahezu immer ein Mapping von Objektdaten zu relationen Daten und umgekehrt. In der Praxis ist es hilfreich, wenn man für jedes seiner Business Objects eine Hilfsklasse hat, die sich um genau diese Konvertierung kümmert. Doch &#8230; </p><p><a class="more-link block-button" href="http://www.zweiundvierzich.de/s9y/android-objektcache-sqlite/">Weiterlesen &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.zweiundvierzich.de/s9y/wp-content/uploads/android-logo_255x0.jpg"><img class="alignleft size-thumbnail wp-image-226" title="android" src="http://www.zweiundvierzich.de/s9y/wp-content/uploads/android-logo_255x0-150x150.jpg" alt="" width="150" height="150" /></a>In der objektorientierten Programmierung bedeutung Speicherung in einer Datenbank &#8211; egal, ob MySQL, MS-SQL, PostGreSQL oder eben auch SQLite &#8211; nahezu immer ein Mapping von Objektdaten zu relationen Daten und umgekehrt.</p>
<p>In der Praxis ist es hilfreich, wenn man für jedes seiner Business Objects eine Hilfsklasse hat, die sich um genau diese Konvertierung kümmert. Doch was wäre, wenn diese Hilfsklasse noch einen kleinen Tick mehr könnte &#8211; zum Beispiel den Lesezugriff beschleunigen?</p>
<p>&nbsp;</p>
<p><span id="more-229"></span></p>
<h1>Die klassischen Arbeiten an einer Datenbank: das CRUD-Prinzip</h1>
<p>Wenn man mit einer Datenbank arbeitet, führt man in den meisten Fällen eine der vier großen und wichtigen Operationen aus, die in der IT-Welt unter dem Synonym CRUD bekannt sind. Das steht für:</p>
<p>Create<br />
Read<br />
Update<br />
Delete</p>
<p>Anders ausgedrückt also: Datenobjekte erstellen, einlesen, aktualisieren und löschen. Als ich mir bei meinem aktuellen Projekt &#8211; eine Hilfs-App für Arcane-Codex-Gamemaster, so eine Art &#8220;Nachschlagewerk&#8221; &#8211; überlegt habe, wie da mit den Daten umgegangen wird, bin ich zu folgender Erkenntnis gelangt:</p>
<p>Erstellen und Aktualisieren von Daten kommt natürlich vor, aber immer nur im Einzeltakt; es wird jetzt mal eine Info in der Datenbank angelegt, eine aktualisiert &#8211; und vielleicht auch mal eine gelöscht. Das dürfte sogar noch seltener vorkommen, und immer bezieht sich diese Operation auf ein einzelnes Datenobjekt.</p>
<p>Lesezugriff hingegen &#8211; nun, das sollte sehr häufig vorkommen; die Daten werden ja auch an Listviews gebunden (und wenn der Screen in den Pausemodus geht und zurückkehrt auf den Schirm, müssen die Daten wieder gelesen werden, weil sie sich ja geändert haben könnten). Lesezugriff erfolgt also viel häufiger als die anderen Zugriffe, und &#8211; noch dazu &#8211; meist nicht nur auf einzelnen Objekten, sondern gleich auf ganzen Sammlungen gleichartiger Objekte. Das wäre also der ideale Zeitpunkt, um den Zugriff zu optimieren; schließlich besteht ja gerade bei einer SQLite-Datenbank die Crux darin, dass jeder Lese- oder Schreibzugriff das Öffnen einer physikalischen Datei zur Folge hat.</p>
<h1>Die Lösung: ein Cache für die Objekte</h1>
<p>Meine Hilfsklasse hat daher einen Cache implementiert &#8211; beim ersten Versuch, die Daten einzulesen, wird der Cache auf null geprüft. Ist das der Fall, werden einmalig alle Daten aus der Datenbank in den Cache gelesen. Werden dann Daten über die Hilfsklasse abgefragt (alle oder einzeln), werden diese aus dem Cache genommen.</p>
<p>Der Nachteil ist natürlich: Neue Objekte muss ich nicht nur in die Datenbank, sondern auch in den Cache schreiben; Objekte löschen müssen ebenfalls in DB und Cache erfolgen, ebenso das aktualisieren von Objekten. Wie ich oben aber schon ausgeführt habe: Diese Operationen kommen nicht oft vor und betreffen auch nur Einzelobjekte, keine ganzen Sammlungen; der Mehraufwand durch den Cache ist in diesem Fall vernachlässigbar.</p>
<h1>Ein konkretes Beispiel aus meinem Programm</h1>
<p>Ich speichere in meinem Programm Informationen über Regionen. Dazu habe ich eine Business-Klasse namens Region &#8211; ich gehe hier gar nicht auf die Details ein, die sind zweitrangig. Wichtig ist zu wissen: Die Region hat die drei Datenfelder id, name und description (mit den jeweiligen Gettern/Settern), außerdem gibt es &#8211; um Aktualisierungen zu vereinfachen &#8211; eine copyOver-Methode, der man ein anderes Region-Objekt übergibt und die dann einfach name und description von dem anderen Objekt für das aktuelle übernimmt.</p>
<p>Meine Hilfsklasse zum Einlesen von Regionen ist die RegionData. Diese Klasse wiederum beinhaltet eine innere Klasse namens DBHelper, die indirekt von SQLiteOpenHelper abgeleitet ist. (Indirekt deshalb, weil ich nochmal eine Basisklasse drüber gezogen habe, die sich um onCreate und onUpdate kümmert und die in allen Hilfsklassen zu Business-Objekten vorkommt; Details warum ich das gemacht habe, gibt es <a title="Android: Das Problem mit SqLiteOpenHelper und mehreren Tabellen" href="http://www.zweiundvierzich.de/s9y/android-sqliteopenhelper/" target="_blank">in diesem Artikel.</a>)</p>
<p>Ich gebe jetzt hier nicht die ganze Klasse RegionData wieder, aber einen Teil des Codes, um zu zeigen, worauf es ankommt:</p>
<pre class="brush: java; gutter: true">public class RegionData extends BaseBusinessData {
   private static final String          TAG           = RegionData.class.getSimpleName();
   // FINALs for DB
   private static final String          TABLE         = &quot;Regions&quot;;
   // fields
   private DbHelper                     dbHelper;
   private String[]                     allColumns    = { C_ID, C_NAME, C_DESCRIPTION };
   private Context                      context;
   private static Region                unknownRegion;
   // Object Cache
   private static HashMap&lt;Long, Region&gt; regions       = null;

   public RegionData(Context context) {
      this.dbHelper = new DbHelper(context);
      /** initiate the regions from db, if it hasn&#039;t happened already */
      if (regions == null)
         mapAllRegions();
      this.context = context;
      if (unknownRegion == null) {
         /** build an unknown region to hand out, just in case we&#039;re asked for an inexistent id */
         Log.d(TAG, &quot;building unknown Region&quot;);
         unknownRegion = new Region();
         unknownRegion.setId(-1);
         unknownRegion.setName(context.getString(R.string.unknownRegion));
      }
      Log.d(TAG, &quot;onCreated&quot;);
   }

   /**
    * @param id
    *           of the Region we are looking for
    * @return Name of the Region
    */
   public String getRegionNameById(long id) {
      if (regions.containsKey(id)) {
         return regions.get(id).getName();
      }
      return unknownRegion.getName();
   }

   public Region createRegion(String name, String description) {
      ContentValues values = new ContentValues();
      values.put(C_NAME, name);
      values.put(C_DESCRIPTION, description);
      long id = this.dbHelper.insert(values);
      Region r = this.dbHelper.getById(id);
      regions.put(r.getId(), r);
      Log.d(TAG, &quot;created Region in DB and in Map&quot;);
      return r;
   }

   public Region getRegionById(Long id) {
      if (regions.containsKey(id))
         return regions.get(id);
      return unknownRegion;
   }

   public void deleteRegion(Region r) {
      if (regions.containsKey(r.getId())) {
         this.dbHelper.deleteById(r.getId());
         regions.remove(r.getId());
         Log.d(TAG, &quot;deleted Region in DB and in Map&quot;);
      }
   }

   public void updateRegion(Region r) {
      if (regions.containsKey(r.getId())) {
         this.dbHelper.updateRegion(r);
         // also update the info in our Map.
         Region origin = regions.get(r.getId());
         origin.copyFrom(r);
         Log.d(TAG, &quot;updated Region in DB and in Map&quot;);
      }
   }

   /**
    * enforces RegionData to re-read the content from the database on next access. Useful after importing a new database
    * from sdcard.
    */
   public static void clearCache() {
      regions = null;
   }

   /** get Regions as sorted ArrayList */
   public ArrayList&lt;Region&gt; getAllRegions() {
      if (regions == null)
         mapAllRegions();
      ArrayList&lt;Region&gt; temp = new ArrayList&lt;Region&gt;(regions.values());
      Collections.sort(temp);
      return temp;
   }

   /** experimental: get Regions as Map, not ArrayList */
   private void mapAllRegions() {
      regions = new HashMap&lt;Long, Region&gt;();
      Cursor c = this.dbHelper.getAll();
      c.moveToFirst();
      while (!c.isAfterLast()) {
         Region r = this.dbHelper.cursorToRegion(c);
         regions.put(r.getId(), r);
         c.moveToNext();
      }
      c.close();
      this.dbHelper.close();
      // now sort it in alphabetical order!
      Log.d(TAG, &quot;mappedAllRegions&quot;);
   }

   /**
    * Inner Class DbHelper - derived from SqLiteOpenHelper
    */
   private class DbHelper extends BaseSQLiteOpenHelper {

   }

}</pre>
<p>Der Klassencode oben ist etwas gekürzt. Man sieht aber sehr gut, wie beim Create, Update und Delete die Änderungen sowohl an der DB, als auch am Cache nachvollzogen werden. (Die Klasse DbHelper oben ist leer, die hat in der Realität natürlich Code dort stehen; der tut aber hier nichts zur Sache.)</p>
<p>Die Methode mapAllRegions erstellt den Cache (in Form einer HashMap): Alle Regionen werden hier drin abgelegt und auf ihre ID gemappt, diese stellt den Schlüssel dar. (Daher hat die HashMap auch den Typ HashMap&lt;Long, Region&gt; &#8211; weil Long der Schlüsseltyp ist.)</p>
<p>Wie man sieht, im Lesezugriff wird die Datenbank erst gar nicht bemüht. Dafür hab ich eine unknownRegion, die ich zurückliefere, falls nichts passendes gefunden werdne kann. (Was eigentlich nicht passieren sollte, aber man weiß ja nie &#8211; also wird das sicherheitshalber mal so gemacht.)</p>
<h1>Achtung Falle: statisch!</h1>
<p>Eines ist noch wichtig: Der Cache oben ist als static deklariert, das heißt: Wir haben es mit einer Klassenvariable zu tun, nicht mit einer Instanzvariable. Und das ist auch sehr wichtig! Denn anderenfalls würde jedes Mal, wenn ein Teil des Programms eine neue Instanz von RegionData initiiert, auch ein komplett neuer Cache erstellt werden &#8211; damit wäre erstens der Sinn und Zweck des Ganzen weg (wird ja DOCH wieder komplett aus der DB gelesen), zweitens wäre das auch unsinnig, weil die Daten dann mehrfach im Arbeitsspeicher wären.</p>
<h1>Zum Schluss</h1>
<p>Ich hoffe, diese Ausführungen helfen dem einen oder anderen weiter. Beim nächsten Mal erzähl ich dann davon, wie ich den Cache zur Bindung der Daten an eine ListView (mittels SimpleAdapter) benutze. Und danach erzähle ich vielleicht von der Location, die an eine Region gebunden ist &#8211; und wie ich den Cache dort so benutze, dass ich daraus Daten generiere, die für den Einsatz eines SimpleExpendableDataAdapter (für eine ExpandableListView) gedacht sind.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zweiundvierzich.de/s9y/android-objektcache-sqlite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android: Das Problem mit SqLiteOpenHelper und mehreren Tabellen</title>
		<link>http://www.zweiundvierzich.de/s9y/android-sqliteopenhelper/</link>
		<comments>http://www.zweiundvierzich.de/s9y/android-sqliteopenhelper/#comments</comments>
		<pubDate>Wed, 21 Mar 2012 23:14:21 +0000</pubDate>
		<dc:creator>stefan</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Probleme mit mehreren Tabellen]]></category>
		<category><![CDATA[SqLiteOpenHelper]]></category>

		<guid isPermaLink="false">http://www.zweiundvierzich.de/s9y/?p=218</guid>
		<description><![CDATA[Zur Zeit beschäftige ich mich mit der Entwicklung von Android Apps. Das macht nicht nur sehr viel Spaß (Interface in XML schreiben? Eaaasy, and good looking to *g*), man stößt auch manchmal auf &#8220;interessante&#8221; Dinge. Zum Beispiel die Sache mit dem SqLiteOpenHelper und mehreren Tabellen in einer Datenbank. Eine feine Sache &#8211; prinzipiell &#8211; ist &#8230; </p><p><a class="more-link block-button" href="http://www.zweiundvierzich.de/s9y/android-sqliteopenhelper/">Weiterlesen &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.zweiundvierzich.de/s9y/wp-content/uploads/android-logo_255x0.jpg"><img class="alignleft size-thumbnail wp-image-226" title="android" src="http://www.zweiundvierzich.de/s9y/wp-content/uploads/android-logo_255x0-150x150.jpg" alt="" width="150" height="150" /></a>Zur Zeit beschäftige ich mich mit der Entwicklung von Android Apps. Das macht nicht nur sehr viel Spaß (Interface in XML schreiben? Eaaasy, and good looking to *g*), man stößt auch manchmal auf &#8220;interessante&#8221; Dinge. Zum Beispiel die Sache mit dem SqLiteOpenHelper und mehreren Tabellen in einer Datenbank.</p>
<p><span id="more-218"></span></p>
<p>Eine feine Sache &#8211; prinzipiell &#8211; ist ja die Klasse <a href="http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html" target="_blank">SqLiteOpenHelper </a>für solche Fälle, in denen man eine einfache Datenbank in Sachen Persistenz haben will. Das ist auch deshalb besonders schön, weil der Install-Mechanismus von Android bei der Neuinstallation einer App die bereits bestehende Datenbank nicht löscht, sondern ggf. so lässt, wie sie ist. Es ist Sache des Entwicklers, bei einer Änderung des Schemas ggf. die Tabellen in der Datenbank zu ändern.</p>
<p>Natürlich ist SqLiteOpenHelper nur dann sinnvoll und hilfreich, wenn man seine eigene Helfer-Klasse davon ableitet und die Klasse entsprechend in Hinsicht auf seine Objekte, die man persistent speichern will, anpasst. Irgendwo im Internet &#8211; leider finde ich den Link nicht mehr &#8211; habe ich gelesen, dass man pro Tabelle eine eigene Helferklasse haben sollte. Yeah, gute Idee &#8211; nicht.</p>
<p>Das Problem ist folgendes: Die erste Tabelle wird von der ersten Helferklasse angelegt, die zweite nicht mehr. Warum? Weil SqLiteOpenHelper nur nachguckt, ob die <strong>Datenbank</strong> existiert &#8211; einzelne Klassen spielen für ihn keine Rolle.</p>
<p>Mit dem Problem hatte ich zu kämpfen, als ich auf den nächsten Hinweis stießt, dass man eigentlich nur eine SqLiteOpenHelper-Version haben sollte, die sich um alle Tabellen kümmern muss. Und das ist auch richtig, die Schema-Nummer der Datenbank ist schließlich wieder spezifisch für die Datenbank, nicht für eine einzelne Tabelle.</p>
<p>Nun hatte ich aber schon zwei Helferklassen, die teilweise gleiche Methoden (mit leicht geänderten Parametern) implementiert hatten. Beide Klassen existieren übrigens nur als private Klassen innerhalb einer Datenklasse. Ich hab, ganz konkret, Daten in einer Klasse namens Location gespeichert; dazu gibt es eine Hilfsklasse namens LocationData, die nach außen hin &#8211; für die gesamte App &#8211; Daten über die gespeicherten Locations bereitststellt, und innerhalb eine abgeleitete SqLiteOpenHelper-Klasse verwendet, um den Zugriff auf die Datenbank zu vereinfachen.</p>
<p>Das Ganze hab ich aber auch nochmal für Region und RegionData mit ihrer jeweiligen Hilfsklasse. Beide zusammenwürfeln? Geht nicht (jeweils private Klassen), und beide Hilfsklassen mit ihren überladenen Methoden zusammenstecken &#8211; das geht schon, aber dann ist die Klasse wirklich überladen. Und wie wird das erst, wenn die nächsten beiden Datentypen (NPC und Player) noch hinzukommen? Da wäre diese SqLiteOpenHelper-Klasse wirklich überfrachtet.</p>
<p>Ich habe mich für die &#8211; aus Sicht der Objektorientierung &#8211; logischste Variante entschieden: Ich habe eine neue (öffentliche) Klasse namens BasisSQLiteHelper geschrieben (abgeleitet von SqLiteOpenHelper), die sich um das Scheman kümmert und die Funktion onCreate und onUpgrade zur Verfügung stellt. Dort wird sich um die Erstellung aller Tabellen gekümmert, aber sonst sind keine Funktionen implementiert.</p>
<p>Meine beiden inneren Hilfsklassen hingegen haben ihren Ursprung geändert: Sie erben jetzt von der oben genannten Basisklasse, und müssen deshalb auch weder onCreate noch onUpgrade implementieren. Die kümmern sich nur um die jeweils spezifischen Funktionen für ihre Klassen (wie zum Beispiel cursorToLocation oder cursorToRegion).</p>
<p>Problem gelöst: Eine Klasse für alle Tabellen, und trotzdem für jedes Business Object eine eigene (Unter-)Hilfsklasse. Ich bin zufrieden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zweiundvierzich.de/s9y/android-sqliteopenhelper/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Der gemeinsame religiöse Nenner</title>
		<link>http://www.zweiundvierzich.de/s9y/religion-vs-psychologie/</link>
		<comments>http://www.zweiundvierzich.de/s9y/religion-vs-psychologie/#comments</comments>
		<pubDate>Tue, 28 Feb 2012 19:44:19 +0000</pubDate>
		<dc:creator>stefan</dc:creator>
				<category><![CDATA[Leben]]></category>
		<category><![CDATA[Mythologie]]></category>
		<category><![CDATA[Philosophie]]></category>
		<category><![CDATA[Psychologie]]></category>
		<category><![CDATA[Religion]]></category>

		<guid isPermaLink="false">http://www.zweiundvierzich.de/s9y/?p=211</guid>
		<description><![CDATA[Mir ist da heute auf dem Heimweg etwas merkwürdiges ein- oder vielmehr aufgefallen: Unterschiedliche Religionen aus verschiedenen Epochen und Regionen teilen eine bestimmte Sichtweise &#8211; ein Weltenbild, wenn man so sagen will. Und es kommt noch besser: Ich erkenne Parallelen zur Psychoanalytik von Sigmund Freud. Bereit für ein paar Häresien? Christliche Weltsicht Fangen wir mal &#8230; </p><p><a class="more-link block-button" href="http://www.zweiundvierzich.de/s9y/religion-vs-psychologie/">Weiterlesen &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Mir ist da heute auf dem Heimweg etwas merkwürdiges ein- oder vielmehr aufgefallen: Unterschiedliche Religionen aus verschiedenen Epochen und Regionen teilen eine bestimmte Sichtweise &#8211; ein Weltenbild, wenn man so sagen will. Und es kommt noch besser: Ich erkenne Parallelen zur Psychoanalytik von Sigmund Freud.</p>
<p>Bereit für ein paar Häresien?</p>
<p><span id="more-211"></span></p>
<h3>Christliche Weltsicht</h3>
<p>Fangen wir mal mit dem Christentum an &#8211; ich unterstelle dem geneigtem Leser, dass ihm oder ihr diese Religion einigermaßen vertraut sein dürfte. Ein guter Startpunkt also für diese kleine Gedankenreise.</p>
<p>Als Christ weiß man, dass man &#8211; wenn man gut war &#8211; nach dem Ableben in den Himmel kommt. Oder in die Hölle, wenn man ein besonders schlechter Mensch war (z. B. ein Banker, ein Politiker oder ein Versicherungsvertreter). Hier existieren also drei verschiedene Welten in der Vorstellung des Christen: Oben der Himmel, unten die Hölle &#8211; und dazwischen wir. Der Himmel will uns erlösen, auch wenn seine Methoden dafür manchmal etwas merkwürdig sind. Zum Beispiel Abraham, der von Gott aufgefordert wird, seinen Sohn Isaak zu opfern. Der Ausgang der (zum Glück nicht erfolgten) Opferung spielt hier nun erstmal keine Rolle. Ich glaube aber, dass dieses Beispiel meine Behauptung über merkwürdige Methoden ganz gut untermauert.</p>
<p>Unten lauern der Satan und seine Schergen auf unsere Seelen. (Hui, für unsere Freunde bei RTL lässt sich daraus ganz gut eine Alliteration machen: der seelenhungrige Satan. Aber lassen wir Alliterationen fallen, über &#8220;Bauer sucht Frau&#8221; rege ich mich ein anderes Mal auf.) Er ist daran interessiert, uns zu verführen, und teilweise macht er uns dabei Angebote, die man kaum ablehnen kann. (Als Vergleich hierzu lasse ich die Bibel mal außen vor und verweise statt dessen auf Goethes Faust.)</p>
<p>In der Hölle hausen ja Dämonen, bei denen es sich &#8211; die meisten dürften das wissen &#8211; um gefallene Engel handelt. Weniger bekannt ist die Tatsache, dass die gefallenen Engel (der Sündenfall: ein Engel liegt bei einer Menschenfrau) Kinder zeugten, die Riesen gleich über die Erde streiften und manchmal die Helden des Altertums darstellten, oder auch die Schergen. Vermutlich war Goliath ein Nachkomme dieser Gefallenenkinder, aber das ist jetzt meine persönliche Theorie. (Der Hinweis auf die Kinder findet sich in der Bibel, aber mehr zum Sündenfall findet man im angelischen Evangelium, das zu den Apokryphen gehört.)</p>
<p>Wir haben hier also ein Drei-Welten-Modell:</p>
<ul>
<li>Himmel: oben, Gott, das Gute</li>
<li>Erde: dazwischen, Menschen, werden von beiden Seiten beeinflusst</li>
<li>Hölle: unten, Dämonen, das Böse</li>
</ul>
<p>Wer das für total innovativ hält, sieht sich getäuscht: Das gab&#8217;s doch schon mal&#8230; [Merkt euch an dieser Stelle bitte mal, dass unten die Dämonen hausen, deren Kinder als Riesen gelten. Darauf kommen wir später noch mal zurück.]</p>
<h3>Hellas, Zeus: die Weltsicht der griechischen Mythologie</h3>
<p>Alle Welt spricht ja von der Griechenlandkrise, uns interessiert hier jetzt aber erstmal die griechische Mythologie. Denn auch dort finden wir dieses Drei-Welten-Modell: Oben, das ist in der griechischen Mythologie der Olymp, dort wohnen die Götter. Der Olymp ist im übrigen ein Berg; dass hohe Berge als Wohnstätte der Götter gelten, kennen wir auch in Deutschland. So verdankt der Donnersberg seinen Namen Donar, dem germanischen Donnergott (bei dem es sich um Thor handelt, so wie Wotan niemand anderes ist als Odin &#8211; aber zur nordischen Mythologie kommen wir noch).</p>
<p>Wir haben also oben die Götter &#8211; der Olymp kann wohl als Analogon zum christlichen Himmel gesehen werden. Im Christentum heißt es ja, dass gute Menschen in den Himmel eingehen &#8211; in der griechischen Mythologie wurde gesagt, dass die verdientesten Krieger in den Olymp gerufen werden, um an der Seite der Götter zu kämpfen. Die Götter, so heißt es, spielen mit den Menschen &#8211; aber im Allgemeinen geht man davon aus, dass sie den Menschen Gutes wollen.</p>
<p>Wenn es ein Oben gibt, gibt es auch ein Unten: die Unterwelt, Hades genannt. In der griechischen Mythologie wird diese vom Zerberus bewacht, dem dreiköpfigen Höllenhund. Und in die Unterwelt wurden die Titanen verbannt, mit denen die Götter erbittert Krieg führen. Man beachte: Titanen. Könnte man da auch Riesen sagen? Ich spiele hier natürlich auf die Riesen an, die ich beim Christentum erwähnt habe. Auf die kommen wir gleich noch mal.</p>
<p>Zwischen Olymp und Hades liegt dann die Welt der Sterblichen, also die &#8211; nennen wir es mal so &#8211; Erde. Hier haben wir schon wieder das gleiche Drei-Welten-Modell:</p>
<ul>
<li>Olymp: oben, die Götter, das Gute</li>
<li>Erde: dazwischen, Menschen, Spielball der Götter und Titanen</li>
<li>Hades: unten, die Titaten, das Böse (die Vernichter)</li>
</ul>
<h3>Wo die Asen saßen</h3>
<p>Springen wir weiter nur nordischen Mythologie. Ich lass jetzt mal die germanischen Namen (Donar, Wotan, etc.) außen vor und konzentriere mich auf die Bezeichnungen der isländischen Etta, die in den meisten Fällen geläufiger sein dürften.</p>
<p>Hier haben wir Asgard &#8211; die Heimstatt der Götter, hoch oben, verbunden mit der Welt der Sterblichen durch die Regenbogenbrücke. Asgard verdankt seinen Namen den Göttern, die dort wohnen: die Asen. (Eigentlich waren die Wanen zuerst da, aber die Asen als Emporkömmlinge haben sich nach vorne gekämpft, bis es zu einem Waffenstillstand kam, dann hat man noch ein paar Leute ausgetauscht als Zeichen gegenseitigen Respekts &#8211; so ist der Wächter der Regenbogenbrücke, Heimdall, eigentlich ein Wane und kein Ase &#8211; und dann haben sich die Wanen vom Göttergeschäft zurückgezogen.) Auch hier, wie bei den Göttern des Olymp: Man spielt manchmal mit den Menschen, aber prinzipiell wollen die Götter den Menschen Gutes. Odin hat sich schließlich 7 Tage lang an der Weltenesche Yggdrasil aufgehängt, um das Geheimnis der Runen zu erlernen, auf dass er die Runen den Menschen bringen konnte&#8230;</p>
<p>Die Menschen leben wieder in der Dazwischen-Welt, hier Midgard genannt. Das &#8220;Mid&#8221; etwas mit &#8220;Mitte&#8221; zu tun hat, kann man sich eigentlich schon denken, oder? Und natürlich kommen auch hier die guten Menschen (in diesem Fall: die besten Krieger) zu den Göttern, genauer gesagt nach Walhalla, Odins Heimstatt, wo sich die Krieger für die letzte Schlacht bereit machen. (Vermutlich indem sie saufen und fressen, was der Wanst aushält.)</p>
<p>Unten gibt es dann Utgard &#8211; die Heimstatt der Riesen. (DA! Da sind sie wieder: die Riesen. So wie die Titanen.) Die Riesen sind Weltenzerstörer, und die Götter beschützen die Menschen vor ihnen.</p>
<p>Also haben wir wieder das gleiche System:</p>
<ul>
<li>Asgard: oben, Götter, die Guten</li>
<li>Midgard: dazwischen, die Menschen</li>
<li>Utgard: unten, Riesen, die Bösen</li>
</ul>
<h3>Was sagt uns das?</h3>
<p>Klar dürfte jetzt ja sein, dass wir es hier mit einen Übereinstimmungen zu tun haben. (Es gibt auch in jeder Religion ein Weltuntergangsszenario &#8211; Ragnarök, die Götterdämmerung, in der nordischen Mythologie, oder auch das Jüngste Gericht, etc. pp. &#8211; aber damit will ich mich im Moment nicht beschäftigen.)</p>
<p>Die interessante Frage ist: Woher kommt dieses Drei-Welten-Modell? (Die Drei ist ja ohnehin eine beliebte und bedeutungsschwangere Zahl; die heilige Dreifaltigkeit ist auch nicht durch Zufall entstanden.) Eine Möglichkeit wäre natürlich, dass die einen bei den anderen &#8220;abgeschrieben&#8221; haben. (Sagt man dazu nicht neudeutsch auch &#8220;geguttenbergt&#8221;?) Oder es gibt eine gemeinsame Urreligion, auf deren Wurzeln das alles basiert?</p>
<p>Oder aber &#8211; und das ist die spannendere Alternative &#8211; dieses Modell hat sich in den jeweiligen Religionen unabhängig von anderen Religionen entwickelt. Wenn dem so ist, muss man sich aber fragen, wie es dazu kommt. Möglicherweise liegt diesem ganzen Gerüst eine universale Wahrheit zu Grunde, die von verschiedenen Menschen zu verschiedenen Zeiten erkannt wurde und darin eingeflossen ist.</p>
<p>Ich halte letztere Variante nicht nur für die spannendere, sondern auch für die wahrscheinlichere &#8211; und ich glaube nicht, dass diese drei Welten oder Schichten etwas mit dem Aufbau der physischen Welt zu tun haben. Ich glaube, es geht dabei eher um den Geist, um das Wesen des Menschen. Ich will es mal anders formulieren, wie man &#8211; meiner Meinung nach &#8211; diese drei Schichten sehen kann:</p>
<ul>
<li>Oben/das Gute: Diese Schicht ist die moralische Instanz, es geht um das &#8220;Seelenheil&#8221;, die Errettung. Es geht darum, das richtige zu tun.</li>
<li>Mitte/der Mensch: Er ist den Einflüssen von Unten und Oben ausgesetzt. Beide Seiten wollen ihn in ihre Richtung ziehen, seinen Lebensweg beinflussen, aber es obliegt letztlich dem Menschen, was und vor allem wie er es tut. Er hat die letzte Entscheidung zu treffen.</li>
<li>Unten/das Böse: Diese Schicht ist das Gegenstück zur Moral &#8211; hier geht es um Lust und Triebe, um Verführung. Tue, was du für richtig hältst, es ist dein Leben!</li>
</ul>
<p>Wenn man sich das so anguckt, ergibt das einen gewissen Sinn, oder? Vor allem, weil wir etwas derartiges ja schon kennen: Das nennt sich die<a href="http://de.wikipedia.org/wiki/Strukturmodell_der_Psyche"> &#8220;zweite Topik&#8221;</a> (oder auch Strukturmodell der Psyche) und wurde so schon von Sigmund Freud aufgestellt. Nur nennt er seine drei Schichten nicht Gut, Mensch, Böse &#8211; sondern so:</p>
<ul>
<li>Über-Ich (Moral)</li>
<li>Ich (Kontroll)</li>
<li>Es (Lustprinzip)</li>
</ul>
<h3> Fazit</h3>
<p>Ich persönlich glaube, dass das der allen Religionen zugrunde liegende Kern ist: Die Erkenntnis, dass der Mensch per se die Anlage zum Bösen ebenso wie zum Guten mitbringt. Es liegt an jedem Einzelnen, welcher Seite er sich zuwendet. Anders ausgedrückt: Es liegt an uns allen, diese Welt besser zu machen.</p>
<p>Soll heißen: Wirtschaftsbosse müssen nicht unbedingt eine EK-Rendite von 20 % und mehr erreichen, wenn man dafür unmoralisches tun muss (z. B. massenhafte Entlassungen, oder stabilitätsgefährdende Spekulationen an den Weltmärkten). Man hat auch die Wahl, sich moralisch zu verhalten (und dann eben halt etwas weniger Gewinn zu machen, so what&#8230;)</p>
<p>Also möchte ich zum Abschluss nochmal Goethe zitieren (dieses Mal aber nicht aus Faust):</p>
<blockquote><p><span style="color: #000000; font-family: Arial,Helvetica,sans-serif; font-size: x-small;">Edel sei der Mensch, hilfreich und gut!<br />
Denn das allein unterscheidet ihn von allen Wesen, die wir kennen.</span></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.zweiundvierzich.de/s9y/religion-vs-psychologie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Die Causa Petrus Egidius Knabben</title>
		<link>http://www.zweiundvierzich.de/s9y/causa-knabben/</link>
		<comments>http://www.zweiundvierzich.de/s9y/causa-knabben/#comments</comments>
		<pubDate>Thu, 23 Feb 2012 20:50:55 +0000</pubDate>
		<dc:creator>stefan</dc:creator>
				<category><![CDATA[Leben]]></category>
		<category><![CDATA[Bank]]></category>
		<category><![CDATA[Betrug]]></category>
		<category><![CDATA[Täuschung]]></category>

		<guid isPermaLink="false">http://www.zweiundvierzich.de/s9y/?p=201</guid>
		<description><![CDATA[Ein kurze Geschichte über einen Lastschrift-Betrugsfall - und was dabei hinter den Kulissen passiert.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.zweiundvierzich.de/s9y/wp-content/uploads/42.png"><img class="size-full wp-image-91 alignleft" style="border: 0pt none;" title="42" src="http://www.zweiundvierzich.de/s9y/wp-content/uploads/42.png" alt="" width="65" height="65" /></a>Zwischenzeitlich hat es ja so ziemlich jeder mitbekommen, dass ein Betrüger unter dem Namen &#8220;Petrus Egidius Knabben&#8221; bundesweit einige Millionen per Lastschrift eingezogen hat (die Buchungen hatten den Verwendungszweck &#8220;Mobile App&#8221; und beliefen sich jeweils auf 19,95 EUR). Da ist es vielleicht mal an der Zeit, darüber zu berichten, wie so ein Lastschriftbetrug funktioniert und was bei den Banken teilweise im Hintergrund abläuft.</p>
<p><span id="more-201"></span></p>
<p>Das Ganze stell ich hier mal als heiteres Frage-und-Antwort-Spiel dar.</p>
<h1>Woher stammen nur die Kontodaten?</h1>
<p>Als aufmerksamer Internetnutzer stellt sich diese Frage fast gar nicht mehr. Ich habe täglich Mails in meinem Spam-Ordner wie &#8220;Ihr eCheque ist eingetroffen&#8221; und dergleichen. In aller Regel will da irgendjemand eine Kontoverbindung haben &#8211; und wer glaubt, dass damit kein Unfug getrieben wird, glaubt auch an den Weihnachtsmann. Oder an die Nigeria-Connection &#8211; das war auch lange Zeit eine beliebte Methode, um an Kontoverbindungen heranzukommen, frei nach dem Motto: &#8220;Guten Tag, ich bin Ngumbo Wumbo, Rechtsanwalt des ehemaligen nigerianischen Präsidenten Chakka Lakka, der jetzt leider gezwungen ist, das Land zu verlassen. Um sein Geld in Sicherheit zu bringen, bräuchten wir kurzfristig ein Konto, auf das wir zwangig Fantastilliarden überweisen können. Sie dürfen dann davon auch 1 % behalten.&#8221; Na klar&#8230;</p>
<h1>Also hat der PEK (Kurzform für Petrus Egidius Knabben) diese ganzen Spam-Mails geschickt?</h1>
<p>In aller Kürze: nein. Das Ausspähen und sammeln solcher Kontodaten machen andere Leute, die damit dann ihr Geld verdienen &#8211; indem sie diese Daten meistbietend in diversen Internetforen verkaufen. Und vermutlich hat PEK eben in einem solchen Forum auch ein paar Kröten für die Bankdaten springen lassen.</p>
<h1>Also wie läuft das jetzt mit der Lastschrift und der Kohle?</h1>
<p>Der eigentliche Plan eines solchen Betrügers sieht wie folgt aus:</p>
<ol>
<li>Generiere jede Menge Lastschriften. Am besten Klein- und Kleinstbeträge, die fallen vielen Leuten nämlich gar nicht auf und werden oft ignoriert. Oder die Zahlungspflichtigen zweifeln zwar, möchten aber wegen 10 oder 20 Euronen keine Schwierigkeiten bekommen und lassen es halt stehen. (Der so genannte Bequemlichkeitsfaktor.)</li>
<li>Das Konto, das speziell für diesen Zweck angelegt wurde, braucht natürlich vorher schon ein großes Limit. Warum? Weil die Lastschriften als &#8220;E. v.&#8221; gutgeschrieben werden, das heißt &#8220;Eingang vorbehalten&#8221;. In aller Regel heißt das, dass die Bank die Valuta (= Wertstellung) für eine solche Lastschrift nach hinten rauszögert, damit jemand nicht gleich direkt über das Geld verfügen kann. Mit einen Limit kann das Konto aber überzogen werden, und wenn der Disponent denkfaul ist, könnte er sich auch sagen: &#8220;Was soll schon passieren, die paar Tage, es sind ja massig Gutschriften auf dem Konto&#8230;&#8221;</li>
<li>Die Knete wird dann also sehr schnell weiter überwiesen, zumeist ins Ausland. Bei Phishingfällen ist Osteuropa schon seit Jahren beliebt (Litauen, Estland, etc.), weil die Banken dort wohl nicht allzu streng mit Vorschriften umgehen. (Zumindest ist bei Phishingfällen die Empfängerbank sehr oft in diesem Bereich zu finden.) Und dort wird sie auch entweder direkt weiterüberwiesen &#8211; oder verfügt.</li>
</ol>
<h1>Aber was ist jetzt mit dem Konto, auf dem die Lastschriften eingingen?</h1>
<p>Das steht dann irgendwann in der Überziehung (oder wird von der Staatsanwaltschaft eingefroren). Man muss ja auch berücksichtigen, dass die Geschädigten die Lastschrift jederzeit problemlos zurückgehen lassen können, so dass alle Bürger ihr Geld wieder bekommen können. Die Gelackmeierte ist dann die kontoführende Bank, die ggf. auf ihren Verbindlichkeiten sitzen bleibt.</p>
<h1>Aber hält die sich nicht am Kontoinhaber schadlos?</h1>
<p>Prinzipiell &#8211; ja, gerne. Nur gibt es den oft genug nicht (gefälschte Ausweispapiere, speziell ausländische, bei denen die Kontoeröffner die Sicherheitsmerkmale nicht kennen). In vielen Fällen ist hier aber auch ein so genannter &#8220;Finanzagent&#8221; am Werk &#8211; der ist dann auch angeschmiert, weil er in Regress genommen wird. Nur sind das ja zumeist Leute, bei denen nichts zu holen ist. Der ist dann aber trotzdem am Ende &#8211; eidesstattliche Erklärung, Haftbefehl, Insolvenz &#8211; all das markiert das traurige Ende einer Karriere als Finanzagent, die nur auf dem Papier gut aussieht.</p>
<h1>Was zum Henker ist ein Finanzagent? Und wie wird man das?</h1>
<p>Schon mal eine Mail bekommen, in der einem angeboten wurde, man könnte spielend leicht ein paar Tausend Euro im Monat von zu Hause aus dazuverdienen, wenn man nur ein Konto mit Online-Banking hat? Wer dieses Angebot annimmt, macht sich damit zum Finanzagent. Es spielt keine Rolle, ob er glaubt, diese Tätigkeit sei legal &#8211; im deutschen Recht schützt Unwissenheit nicht vor Strafe.</p>
<p>Ein Finanzagent stellt sein Konto zur Verfügung. Dort gehen die Gelder (aus Phishing und Lastschriftbetrug) ein und werden weiter überwiesen. Der Finanzagent ist damit nichts weiter als ein Strohmann &#8211; einer, der auch stilecht verbrannt wird, wenn die Masche zu Ende ist. Der wird nämlich in Haftung genommen von der Polizei, als Mittäter.</p>
<h1>Merkt das die kontoführende Bank denn nicht, wenn jemand Tausende von Lastschriften abgibt? Das muss doch auffallen!</h1>
<p>In Papierform würde es das. Das wäre auch nicht praktikabel. Aber heutzutage macht man das online &#8211; und dann kann man Lastschriften als DTA-Datei erzeugen. Ich hab mal eine Klasse für .NET geschrieben, die Lastschriftdateien erzeugt &#8211; die können oft im eBanking hochgeladen werden. Sowas ist also skalierbar. (Ich könnte mir um meine DTA-Klasse jetzt noch ein Miniprogramm drumherum stricken, dass eine CSV-Datei mit Name, Kontonummer und Bankleitzahl einließt &#8211; und dann daraus Lastschrift-Datensätze generiert. 10.000 Datensätze sind damit dann locker in unter einer Minute erstellt.)</p>
<h1> Merkt da denn keiner was?</h1>
<p>Aber sicher doch: Die gekauften Kontodaten enthalten sehr oft Dopplungen, aber auch falsche Kontonummern bzw. Nummern von bereits aufgelösten Konten. Und das führt dann bei der Bank, bei der Lastschriften eingehen, zu einigen Buchungen auf dem so genannten Differenzenkonto. Und wenn man dann feststellt, dass viele identische Lastschriften auf diesem Konto auflaufen &#8211; dann weiß man, dass etwas nicht stimmt.</p>
<h1>Und wie reagieren die Banken darauf?</h1>
<p>Das muss letztlich jede Bank für sich selbst entscheiden. Bei meinem derzeitigen Arbeitgeber wurde damit sehr souverän umgegangen und ganz im Sinne des Kunden:</p>
<p>Nachdem die Lastschriften auf dem Differenzenkonto aufgefallen sind, habe ich in meiner Eigenschaft als Datenmanager zum Äußersten gegriffen &#8211; und alle Umsätze auf die Bankverbindung des Betrügers untersucht. Die betroffenen Kunden wurden dann von uns angerufen, über die Lastschrift informiert &#8211; und haben auch gleich die Chance bekommen, einen Lastschriftrückgang anzufordern, der dann auch direkt ausgeführt wurde. Damit hat letztlich kein einziger Kunde der Bank, für die ich arbeite, einen Schaden erlitten.</p>
<h1>Wenn man die Lastschriften zurückholen kann, dann passiert da ja eigentlich nichts, oder?</h1>
<p>Prinzipiell schon, dieses &#8220;Nichts&#8221; ist aber &#8211; wie man oben sehen kann &#8211; mit viel Aufwand verbunden. Für die &#8220;Geschädigten&#8221; kann die Sache problemlos ausgehen, sie müssen nur die Lastschrift zurückgehen lassen. (Dafür haben sie auch einige Wochen Zeit &#8211; also kein Stress, wenn ihr grade zu dem Zeitpunkt in Urlaub wart.)</p>
<p>Den eigentlichen Schaden tragen die Banken &#8211; die kontoführende Bank des Betrügers zum Beispiel, wie oben genannt (die sind aber auch selbst schuld &#8211; wer Neukunden gleich mit Lastschriftberechtigung ausstattet und sie dann auch noch in derartigen Höhen überziehen lässt, verdient es nicht anders). Und die Banken der Geschädigten, die Arbeitszeit darauf verwenden, den Schaden von ihren Kunden fernzuhalten. (Macht euch nichts vor, Leute &#8211; die Kunden anzurufen kostet einiges an Zeit, die dann an anderer Stelle fehlt.)</p>
<p>Falls Ihr also geschädigt wurdet und Eure Bank <strong>keinen Kontakt</strong> zu Euch aufgenommen habt, wisst ihr ja, was das bedeutet: Denen war ihre Zeit zu schade, um Euch anzurufen.</p>
<p>Ansonsten gilt der Grundsatz: Stay vigilant!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zweiundvierzich.de/s9y/causa-knabben/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kampf dem Terror mit allen Mitteln! &#8211; Oder besser nicht?</title>
		<link>http://www.zweiundvierzich.de/s9y/schreckgespenst-terror/</link>
		<comments>http://www.zweiundvierzich.de/s9y/schreckgespenst-terror/#comments</comments>
		<pubDate>Thu, 01 Dec 2011 22:20:11 +0000</pubDate>
		<dc:creator>stefan</dc:creator>
				<category><![CDATA[Leben]]></category>
		<category><![CDATA[Bullshit]]></category>
		<category><![CDATA[Halbwahrheit]]></category>
		<category><![CDATA[Politik]]></category>
		<category><![CDATA[Täuschung]]></category>
		<category><![CDATA[Terror]]></category>
		<category><![CDATA[Vorratsdatenspeicherung]]></category>

		<guid isPermaLink="false">http://www.zweiundvierzich.de/s9y/?p=189</guid>
		<description><![CDATA[Die deutsche Politik lässt nicht locker: Innenminister Friedrich beharrt weiterhin darauf, dass die Vorratsdatenspeicherung wichtig sei im Kampf gegen Terrorismus. Und Terrorismus ist eine so große Gefahr, dass wir alle doch einsehen, dass deshalb auch mal Bürgerrechte beschnitten werden &#8211; nicht wahr? Hier die schockierende Wahrheit&#8230; Bevor ich jetzt gleich die Katze aus dem Sack &#8230; </p><p><a class="more-link block-button" href="http://www.zweiundvierzich.de/s9y/schreckgespenst-terror/">Weiterlesen &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Die deutsche Politik lässt nicht locker: Innenminister Friedrich beharrt weiterhin darauf, dass die Vorratsdatenspeicherung wichtig sei im Kampf gegen Terrorismus. Und Terrorismus ist eine so große Gefahr, dass wir alle doch einsehen, dass deshalb auch mal Bürgerrechte beschnitten werden &#8211; nicht wahr? Hier die schockierende Wahrheit&#8230;</p>
<p><span id="more-189"></span></p>
<p>Bevor ich jetzt gleich die Katze aus dem Sack lasse, will ich erstmal noch ein bisschen was klarstellen zur Vorratsdatenspeicherung. Bisher kann mir nämlich noch keiner klar und offen darlegen, wie die Terrorakte verhindern soll. Ihr Hauptzweck besteht ja auch darin, NACH dem schrecklichen Ereignis zur Aufklärung und Aufarbeitung eingesetzt zu werden. Das ist löblich, aber wenn das Kind im Brunnen ist, lässt sich dieser Sturz nicht nachträglich dadurch heilen, dass man einen Deckel auf den Brunnen nagelt. (Und wenn man das schon tut, sollte man das Kind vorher wenigstens rausholen&#8230;)</p>
<h1>Terror ist böse! Terror ist allgegenwärtig! Terror ist die größte Gefahr unserer Zeit!</h1>
<p>Was auch immer die Politiker versuchen durchzudrücken &#8211; sie entschulden ihr Handeln gerne mit dem Gebot der Not. So ist das zum Beispiel beim Thema der Neuner-Kommission, die fiskalpolitische Entscheidungen höchster Tragweite vom Parlament fernhalten soll. So ist das auch beim digitalen Lauschangriff, ob nun Bundestrojaner oder Vorratsdatenspeicherung: Ist die Not nur groß genug, akzeptiert das Wahl<del>vieh</del>volk alles.</p>
<p>Und womit könnte man mehr Angst schüren und Unterstützung erbetteln als mit Terror? Zum medialen Schreckgespenst hochstilisiert ist er das Lieblingsthema der Politiker. Aber wie gefährlich ist der Terror wirklich?</p>
<h1>Die nackte Wahrheit, oder auch: Fakten, Fakten, Fakten&#8230;</h1>
<p>Vielleicht wussten Sie es noch nicht, aber es gibt in den USA ein <a href="http://www.nctc.gov/" target="_blank">National Counterterrorism Center,</a> das sich intensiv mit Terrorismus auseinander setzt. Mal abgesehen von Todesmeldungen über Osama Bin Laden veröffentlichen die auch jedes Jahr einen Report &#8211; zum Beispiel den <a href="http://www.nctc.gov/witsbanner/docs/2010_report_on_terrorism.pdf" target="_blank">2010 NCTC Report on Terrorism </a>(hier als PDF verlinkt).</p>
<p>Ladies and Gentleman, ich bitte Sie, Ihre Aufmerksamkeit auf Seite 21 der PDF-Datei (im Dokument Seitennummer 12) zu lenken. Dort gibt es eine schöne Grafik, die ich hier auch nochmal einfüge für alle, die sich jetzt nicht durch die PDF wühlen wollen:</p>
<p><a href="http://www.zweiundvierzich.de/s9y/wp-content/uploads/nctc_2010_terrorism_chart.jpg"><img class="size-full wp-image-190 aligncenter" title="NCTC 2010 Terrorism Attacks and Deaths by Region" src="http://www.zweiundvierzich.de/s9y/wp-content/uploads/nctc_2010_terrorism_chart.jpg" alt="" width="422" height="606" /></a></p>
<p>Der rote Balken sind die Menschen, die 2010 bei Terror-Attacken starben, die blauen Balken sind die dafür notwendigen Attacken. Aus diesem Chart können wir einiges lernen &#8211; mal angefangen bei der Tatsache, dass Terroristen in Europa und Eurasia (das ist unsere Region) wohl ziemlich dämlich sind. Sie brauchten 704 Anschläge für 355 Tote &#8211; ganz grob vereinfacht stirbt nur bei jeder zweiten Terrorattacke ein Mensch (ein einziger). Nicht wirklich effizient, da sind sie in Afrika besser. Obwohl ich ja glaube, dass dort auch viele Terrorregimes ihre Hand mit im Spiel haben.</p>
<p>Was lernen wir aber noch? Richtig: 2010 gab es weltweit 13.186 Todesopfer bei Terrorattacken. In Europa und Eurasia waren das 355. Scheinbar lohnt sich diese Region nicht für Terror. (Ostasien und Pazifik muss genauso unattraktiv sein.)</p>
<p>Boah! 355 Tote durch Terror? In nur einem einzigen Jahr? Welch furchtbare Katastrophe, da müssen wir sofort die Bürgerrechte beschneiden und mit allem dagegen halten!</p>
<h1>Sollen wir es mal relativieren?</h1>
<p>Ich verweise zunächst mal auf die Seite <a href="http://de.wikipedia.org/wiki/Verkehrstod" target="_blank">Verkehrstod </a>bei Wikipedia (deren statistische Zahlen stimmen, ich nehm deshalb Wikipedia, weil dort viele Zahlen auf einer Seite schön übersichtlich zusammengepackt sind). Demnach gab es allein in Deutschland im Jahr 2010 3.648 Todesfälle im Straßenverkehr &#8211; also mehr als zehnmal soviel Tode wie im gleichen Zeitraum in ganz Europa und Eurasien durch Terror.</p>
<p>Auf der Wikipedia-Seite gibt es auch eine Tabelle mit einem europäischen Vergleich; leider ist dort das aktuellste Jahr 2005, nicht 2010. Es sollte aber trotzdem ausreichen: Die europäischen Länder zusammengerechnet (da ist Eurasien jetzt noch gar nicht mit dabei) kamen im Jahr 2005 auf mehr als 40.000 Verkehrstode (nach der Tabelle bei Wikipedia: 40.504, sofern ich mich jetzt nicht verrechnet hab).</p>
<p>Das ist mehr als das 110-fache der Terrortoten von oben (und Eurasien ist, wie gesagt, bei den Verkehrstoten noch gar nicht drin). Muss ich das wirklich noch näher erläutern? Ich glaube nicht.</p>
<h1>Fazit</h1>
<p>Ich möchte keinesfalls behaupten, dass Terrorismus KEINE ernstzunehmende Gefahr ist. Die ist er natürlich, und wir müssen den Kampf gegen ihn aufnehmen &#8211; keine Frage. Aber bitte, liebe Politiker: Tut das im Rahmen der normalen politischen Gepflogenheiten. Es gibt keinen Grund, unsere Bürgerrechte zu beschneiden.</p>
<p>Und hört endlich auf, Terror als überdimensionales Schreckgespenst aufzublasen. Ich glaube, die Abwehrmechanismen funktionieren auch so ganz gut; und in einigen anderen Fällen haben sich die Ermittlungsbehörden so dämlich angestellt, dass die Vorratsdatenspeicherung denen auch nicht mehr geholfen hätte. (Stichwort: &#8220;Nationalsozialistischer Untergrund&#8221; &#8211; dort waren Behördenineffizienz und mangelnde Abstimmung der Grund für ein Jahrzehnt Versagen. An den Daten lag&#8217;s jedenfalls nicht.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zweiundvierzich.de/s9y/schreckgespenst-terror/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

