Alle Beiträge von Tom

LineageOS at Samsung Galaxy S7

In this blog I want to descripe my experience to flash a Samsung Galaxy S7 with a LineageOS. Why a old S7? Because you can get a lot of Accessories like bumber cases or armored display protections and the costs are reasonable in relation to technical specifications. And the main reason is that you can get fully developed mods like LineageOS. I’ve had more smartphones in the past e.g. the sony experia Z or the sony experia Z3 – all flashed with cyanogenmod you can compare nowadays to LineageOS. Sony supported in former times a innovative „open device“ program and installed a default recovery image. yes, you lost support but you got a possibility to flash Android without tricky preperations. Please read the computer news for this historical stuff.

I can say that all flash operations with former sony were tricky. No one time was flashing withouth problems. For example on experia Z i installed cyanogen – so far so good – and after this i crypted the internal store. finally, through the encryption, the system was not able to decrypt the file(s)  with provider data. I had a smartphone just only for data connections…  i had to make the decission to use a young and buggy „nightly“ version, that was the solution – and so on!

So i decided to use a samsung s7 for the next years. And because i got a lot of errors the last 2 weeks: here is the progress of flashing and a possible solution that worked for my devices.

Please understand this blog as a part or as addition-blog to the official sites of LineageOS. If you are localized in DACH and can not go on with english sites, just take a translational software like google… (Sollten Sie der engl. Sprache nicht mächtig sein, kopieren Sie den Text einfach in einen Online-Übersetzer wie google…)

I will take no warranty to steps you will do basically at this howto. See it like a additional summary of experience.

Requirements -what do you need?

  • Unboxed Samsung Galaxy S7 type G930F
  • The original USB-Cable of your box (so you can exclude test procedures)
  • Load the battery nearly full to 100% (some devices are just flashable with a high battery status)
  • Put in a large SD card with min 16 GB of size
  • 1 day of free time

First Todos

  • Switch on the S7, step through the starting procedure
  • go to Settings an switch the developer mode on with tabbing at lesat 7 times to the build number in the smartphones properties
  • now you can see the developer mode options in the settings
  • go there to the dev options
  • set OEM dislocking ON, USB Debugging ON
  • shut down the device

What does the common LineageOS say?

At first, go to the official site of LineageOS and read the manual steps. As a summary, you can say that there are three steps. Samsung provides the flashing of there devices. And this is the first step: there is a small part on your smartphone like a bootloader with name „Download mode“. This software package does have no really usable functions but you can start it if you press on the switched off device three keys together: VOL-DOWN, HOME-BUTTON and SWITCH-ON-BUTTON. After seconds you will reach the „Download mode“. Accept the warning and you will see a screen it seems to be waiting for a action from outside the smartphone. You can restart the download mode at every time: just hold the three buttons again and you will see that the device is rebooting – hold further on the buttons and you will land in the same screen again. Easy. But as I say, the „Download mode“ can nothing as download something. Here is the second step: you have to change this part of software with a software with more functions. I have used the flash custom recoery of the TWRP (called: Team WIN)  group.  This custom recovery software does have more functions as the default samsung part. LineageOS does descripe this step with Team Win too. And with the software we reach the third step: change the OS.

First problems – the connection with the device.

My first problem startet with step 1: to transfer the custom recovery flash to the waiting device was not doable. The LineageOS manual said: use the haimdall-Suite to install driver and transfer the image. Installing the driver should be possible with another software programm called zadiag.exe which is a part of the heimdall suite. In summary, that was the problem. The manual said: as a driver use the samsung usb composite device and if you will not find this one, try the gadged serial device in zadiag  to install the driver. For my part i took the gadged serial one because there was no stuff like samsung… After installing the driver, you can simple test the connection with the command heimdall device for detecting and then heimdall print-pit   to download the device specificatio (by the way: just use the –verbose parameter to ge a more detailed log). I got this errors and warnings: „ERROR: Failed to access device. libusb error -12“, „WARNING: Control transfer #1 failed -1“, „ERROR: libusb error -7 whilst receiving packet -7“. With the -7 error it came: „ERROR: Failed to receive PIT file size!“ and „ERROR: Failed to download PIT file!“. In my environment worked the libusb0-driver with the „best“ results: the s7 was detectable but print-pit said 6 warnings with control transfer failed. The other 2 drivers stopped working at „initializing“ status. I have tried more days and many hours to go find a solution. I have tried a virtualbox with a old windows xp and a windows 7 32bit and of course a windows 10 64bit, too. I read a lot of internet articles about thes three errors: -7, -1, -12. Many others had same problems but no finally solutions. The advices hang around: Change the cable, try to reboot several times, load up the battery. At the end, i did a really complex-structured trial-and-test day just find a solution. My opinion now go around the operating system. The main problem is: the device is findably with the „device“ parameter but you can get no transfer-connection the it. probably it should work if you have physical windows 7 with 32 bit with unlocked driver signature surveillance.

The solution – change the transfer software

In my case, through reading many sites i find the TWRP group. As i mentioned above, they developed a custom recovery suite to change the default of samsung and replace it with a more functional flash part. TWRP just not only give the image, they developed a transfer software called ODIN (like heimdall), too. I have downloaded the ODIN 3.12.3 and started it and plugged in the AP-Box the TWRP-Tar-Image file (you can find it here – btw: „herolte“ means the S7, like a developement project name)


As i said, the phone was with the default image in waiting status. Then START and without problems, i transfered the image to the smartphone. SIMPLE. READY. NO PROBLEMS! Why? The connection should be realized through the former installed Samsung Composite Drivers.

First Restart

After this, i restarted the device by holidng VOL-UP, HOME-BUTTON and SWITCH-ON-BUTTON and got to the new Image of TWRP. Here you can see a screenshot from ther HP.thomas-zehrer-de_twrp-software-image

There are a lot of functions to do. At first, you should make a backup with go to Backup-Tab and swipe a backup to the external card. Takes about 2 hours. At second, wipe the complete storage with Wipe and Advanced Wipe.  Choose “Davlik Cache”, “System , Data”, “Cache”, “Android Secure” and swipe the wipe button. Takes about 10 minutes. Now, you can start your phone in default Waiting Mode with VOL-DOWN + POWER + HOME and in the new TWRP recovery Image with VOL-UP + POWER + HOME. From here you can later start some nice features: backup a complete image, go to the encrypted store, copy files… – all possible with adb.

Last step: Transfer the LineageOS to the phone.

Go to Advanced and set the device to listening mode again. Its called sideload. With the sideload mode you can transfer from your pc or laptop a file for installing to the device, similar a waiting status. Now you need on the windows side a Android well knows software called „android debugging bridge“ or adb. Just download this part from google site and start the command line like this: adb sideload – you can see the transmission from windows to the S7 on booth sides. After this go to to restart and restart the device. The new Image will be rolled out.


Finally, it worked for me. You need a sum of software and todos, i try to list it. so i did not use the heimdall suite. (the links are working at Jan, 19, if you need the files: just contact me).

  • At first the Samsung Composite Drivers from here and install this ones at your windows system.
  • Then create a directory and download following files:
    • The herolte Image: the alternative custom image of TWRP as a tar-File
    • The ODIN-Software to transfer the herolte image-tar-File
    • The ADB Suite (called android plattform tools) for transfering the LineageOS to the device and unpack it.
    • The LineageOS package from the website and copy it in the same directory as the adb.

Then set your phone in listen mode, start ODIN, choose in AP-box the tar-file and send it. Then restart phone holding three buttons VOL-UP_POWER_HOME and the TWRP recovery is starting. Do a backup of your current system, format / wipe the storage and set the device in sideload mode. Do in your windows the adb sideload command and transfer the image to the device.

So flashing a device can make a lot of fun because you learn a lot of your device. What could be the next steps after flashing? Crypting the storage, loading apps from f-droid. You have a unbounded fresh Android with no needless apps you never use or need.

Have a nice day.

Android Develpoment Studio 3.2, AVD: ERROR: x86 emulation currently requires hardware acceleration

Today, i fixed following error by getting an AVD under Android Develpoment Studio 3.2 (latest in Sept. 2018): „ERROR: x86 emulation currently requires hardware acceleration“. In this case i tried to change my AVDs from arm to intelx86 virtual CPU. The reason was a new development environment by changeing from AMD Phenom to an i7.

So I setted up the new dev environment, installed latest updates to 3.2 and configured like many times the new AVDs with some API-levels from 19 to 28 with intels x86 support. Yes, I enabled the hardware virtualization option in the BIOS of my laptop… but starting the new AVD the event log console in the android studio said that „ERROR: x86 emulation currently requires hardware acceleration“ – nothing more.

At first i took a look to the android sdk manager. but during installation, i have already activated the HAXM which can accelerate the x86 emulators by hardware.



The solution at the end was following step i found in the web:  By cmd.exe go to:


and start the executable intelhaxm-android.exe.

After this, a tiny installer installes the haxm module.  Then I restarted android studio again. That was the solution! wow.

In former times, my experience was that the emulators were quite slow in starting and executing commands. But now i have a powerful and fast environment to go on with some emulators at the same time. Enjoy it!

Virtuelle Maschinen für spezielle Aufgaben? Achtung: Langzeitgedächtnis!

Möchte man Aufgaben auf dem privaten PC trennen, so bieten sich virtuelle Maschinen unter VirtualBox oder vmware an. Es ist also möglich, dass für das Surfen im Web mehrere virtuelle Maschinen erstellt werden oder für Einzelaufgaben – z.B. Homebanking mit HBCI, die Facharbeit, Softwareentwicklung, Multimedia – verschiedene virtuelle Systeme in Betrieb genommen werden. Sicherlich gibt es für Laien einige Hürden zu Meistern: welches System soll verwendet werden? Auch Patches, Updates und nicht zuletzt die Sicherung der angefallenen Daten müssen durchdacht sein. Aber funktioniert das Biotop so hat man getrennte Systeme für spezielle Aufgaben.

Die Vorteile, die sich daraus ergeben: Am Internetzugang können die Daten einzelner Maschinen aufgrund z.B. der IP-Adresse unterschieden werden und geblockt werden: Die Perimeterserver von Microsoft dürfen nicht kontaktiert werden oder nur Webdaten Port HTTP/HTTPS dürfen passieren. Dann können die Maschinen einfach gesichert werden: Backup-Festplatte einschalten bzw. NAS verbinden und Files regelmäßig kopieren. Zudem können die virtuellen Maschinen auf Basis des Betriebssystems verschlüsselt werden. Linux bietet hier dm-crypt und für Windows gibt es VeraCrypt oder Bitlocker. So kann auch ein Transport über USB erfolgen. Es könnte der komplette Container mit samt virtuellen Festplatten in einem Archiv mit Kennwort gesichert werden – als Transportsicherung. Das Starten und Stoppen der Systeme dauert auf aktueller Hardware nur Sekunden. Letztlich verteilt man Sicherheit und das lokale, pyhsikalische System dient im Allgemeinen als Host. Trotz der vielen Vorteile muss das Langzeitgedächtnis virtueller Maschinen beachtet werden.

Virtuelle Maschinen unter VirtualBox

Wir legen uns also für verschiedene Aufgaben mehrer virtuelle Machinen an. Angenommen eine Maschine dient nur zum Surfen im Internet. Ein Linux-System wie Debian und Firefox reichen hier völlig aus.

thomas-zehrer_vbox_01Bild: VirtualBox mit mehreren virt. Maschinen

Mit der Virtualisierungssoftware VirtualBox kann das System nach wenigen Minuten betriebsbereit hergestellt werden. Dabei ist auch ein Webclient: surfen, Multimedia, youtube, AddOns – alles sofort verfügbar.

Achtung: Langzeitgedächtnis!

Wie steht es jetzt um die Sicherheit der Daten in dieser Maschine? Ein Test zeigt Potential zur Vorsicht! Startet man die Maschine, z.B. surfing und gibt im dortigen Firefox Zeichen ein, so versucht der Client denServer:


Bild: VirtualBox und Firefox: Zugriff auf Server

Das klappt nicht da es die Adresse zwar gibt, jedoch nicht den Teil der URL trallalla – aber egal an dieser Stelle. Beendet man die Maschine durch Ruhezustand oder einen Shutdown und untersucht selbige in einem Hex-Editor (ich verwende den kostenlosen HxD von Mael Hoerz da dieser auch mit sehr großen Dateien umgehen kann) so kommen genau die eingegebenen Daten zum Vorschein:


Bild: Die virt. Festplatte im HexEditor HxD

Die virtuelle Maschine hat also ein Gedächtnis. Exkurs: Funktioniert das auch mit Dateien? Extrapoliert man das Verhalten, so bekommt man einen guten Überblick über die Filehistorie: So könnte man mit OpenOffice eine test.docx erstellen und auf dem Desktop ablegen: Informationen dafür im HxD:


Nach dem Löschen in den Trash: Informationen dafür im HxD:


Nach dem Löschen aus dem Trash: Daten persistent:


Nochmals Achtung: Daten persistent!

Verschiedene Tests mit den Daten im Client ergeben: Datei und Daten im Binärfile bleiben bestehen! Am Beispiel der Browserhistorie: Löschen der Browserhistorie mit samt Cookies, Reboot der Maschine, Update Client: nach allen Standardaktionen konnten die Daten nach einem Shutdown im Binärfile weiter festgestellt werden!

Abhilfe schaffen.

Abgesehend davon, dass bestimmte Daten mit besonderer Vorsicht zu behandeln sind (Patientendaten, Daten zu Krankheiten, religiöse Zugehörigkeiten, politische Meinungen) stellt sich die Frage, wie obiges Risiko minimiert werden kann? Gegen wen oder was sollen die Daten geschützt werden? Offensichtlich gegen physikalischen Zugriff auf die Maschinendaten oder eine Software „Schädling“, der über ein Speicherabbild Daten Dritten zur Verfügung stellt. Speicherabbild-Dateien werden während der Laufzeit erzeugt und geben ein Snapshot des laufenden Systems wieder – vergleichbar mit dem physikalischem File. Die Speicherabbilder können über den Taskmanager in Windows erzeugt werden.

Zunächst sollte der physikalische Zugriff auf das Host-System durch Verschlüsselung beschränkt werden. Wie oben angemerkt könnte das VeraCrypt oder dm-crypt sein. Dann sollten die virtuellen Maschinen ebenfalls durch Verschlüsselung abgesichert werden. Verschlüsselt man die hdd-Container unter dem virt. Linux bei der Installation mit dm-crypt bzw. Windows mit VeraCrypt so können diese Offline nicht mehr analysiert werden.

Es bleiben noch die Snapshots wenn das System lediglich in den Ruhezustand gefahren wird: Systeme dürfen nicht mehr in den Energiesparmodus oder den Ruhezustand versetzt werden. Die daraus folgenden Files sind wiederum lesbar! Werden trotzdem Dateien um das virtuelle System herum erstellt, so müssen diese über einen Eraser-Task regelmäßig geshreddert werden. Am Ende müssen lange Kennwörter vergeben werden. Es ist mittlerweile der Standard, sog. secret phrases zu setzen, d.h. unheimlich lange Passwörter, meist Wörter aneinander gereiht mit Sonderzeichen und Ziffern. Das gilt für die Verschlüsselung ebenso wie für das Userkonto in der virtuellen Maschine.

Als oberstes Gebot steht die Erstellung eines Backups: wenn die virtuelle Maschine beschädigt wird, sind die Daten weg. Und sind die Host-Festplatten oder die virtuellen Datenträger verschlüsselt, so kann man mit hoher Wahrscheinlichkeit die Daten schlicht abschreiben.

Speedport W723V mit ISDN auf Annex-J

Vor kurzem: Ein guter Bekannter bat mich, seinen ISDN-Anschluß auf IP-Anschluß umzustellen. Zum Hintergrund:

Die Telekom möchte (jetzt aber wirklich) „zeitnah“ alle ihre (Universal-) ISDN-Anschlüsse deaktivieren und dafür die splitterlosen Annex-J-Anschlüsse platzieren.

Begriffe und Kürzel

Fangen wir kurz mit einem Überblick an. Es gibt seit über 150 Jahren die ITU – die Intrantional Telecommunication Union. Interessierte Leser mögen bitte weiter bei Wikipedia lesen. Seit langer Zeit macht sich die ITU Gedanken über technische Standards und definiert diese. z.B. ist der ITU-R die Definition für die Übertagung von Radiosignalen. Und so kam es zum Standard ITU-G für die Definition von Netzwerkanschlüssen, auch für den Heimbereich. Innerhalb von ITU-G gibt es den G.992, der ADSL definiert. Wiederum unterhalb gibt es den G.992.3 der Annex-A und Annex-B definiert. Um die beiden geht es: Annex-A beschreibt die Übertragung von Sprach- und DSL-Signalen über analoge Telefonanschlüsse und Annex-B das Senden/Empfangen von Telefon- und DSL-Signalen über ISDN-Anschlüssen.

Annex kann als Anschluß, Anbau, Erweiterung oder Anschluß verstanden werden, offensichtlich gibt es dafür kein Akronym.

Die Telekom möchte also die Annex-A und Annex-B-Anschlüsse auf Annex-J-Endpunkte (definiert in ITU-G.992.3 und .5) rekonfigurieren. Man sagt: „Man bekommt einen IP-Anschluß“. Technisch trennte der Splitter bisher die Frequenzen bei 120 kHz da darunter nach Standards das Telefonsignal transportiert wurde und oberhalb ab 138 kHz das DSL-Signal übertragen wurde (siehe G-Standards). Da bei neuen Annex-J-Anschlüssen nur DSL-Frequenzen ab 138 kHz übertragen werden, ist ein Splitter also hinfällig. Somit kann es ein splitterloser Anschluß werden. Die Betonung ist: Kann, muss nicht zwangsläufig.

Die Telekom meldet sich

Bereits 4 Monate vorher bekam der Anschlußinhaber bescheid, dass zu einem Zeitpunkt im Herbst die Umstellung erfolgen wird. Angegeben war ein Tag mit Datum und Uhrzeit – also bis spätestens 21.00 Uhr sollte die Umstellung abgeschlossen sein. Hier gab es den  ersten Fallstrick: die Umstellung dauerte 2 Tage! Man konfiguriert sich den Wolf Abends um 21.00 Uhr und nichts geht. Auch am nächsten Tag „geht“ nichts und auch am übernächsten Tag „geht“ noch nichts! Aber: wir konnten schon am ersten Tag im Kundencenter der Telekom prüfen: „Ihr Anschluß wird zur Zeit umgestellt.“  Diese Meldung verschwand nicht bis zum übernächsten Tag! Ratschlag: Falls Sie Ihrer Meinung nach keinen Konfigurationsfehler gemacht haben und der Telefon ODER Internet nicht funktionieren: Schauen Sie in den Kundencenter der Telekom und prüfen Sie dort den Status Ihres Anschlusses. In diesem Fall bekam der Anschlußinhaber eine SMS über die Fertigstellung.

Geräte im Einsatz

Als Endpunkt gab es bereits einen Router „Telekom Speedport W723V Typ A“, den Splitter, den NTBA und eine TeleDat-Telefonanlage aus Ende der 90er „Made in Germany“. Zudem gab es zwei analoge Telefone, die über obige TK-Anlage betrieben wurden. Diese Telefone kann der Speedport über seine eigene analoge Anschlüsse verwalten. Vorab: Der Speedport ist für einen IP-Anschluß brauchbar. Man sollte darauf achten, dass der neuste Firmware-Stand vorliegt (2017: Version 1.01.018 aus April 2017).  Der Splitter, die TeleDat ISDN-Anlage mit zwei analogen Anschlüssen sowie der ISDN-NTBA wurde demontiert. Bei der Gelegenheit wurden auch alle Netzwer- und Telefonkabel entfernt, so dass nur mehr der W723V „dastand“.

Dann wurde das mit dem Speedport mitgelieferte Telefonkabel für die Verbindung von TA-Dose mit Speedport verbunden. Aus der Erfahrung heraus müssen alternative Stecker-Kabel-Kombinationen nicht immer funktionieren. Bitte darauf achten: das Original-Speedport-Kabel (GS-Kabel, grau, siehe Link unten) für Anschluß TA-Dose auf DSL-Eingang Router Farbe grau verwenden!

Nach der Verbindung des Speedports über das graue Kabel mit der TA-Dose und einem Router-Neustart sollten nach ca. 2 Minuten die LEDs Power, DSL, Online und ggf. noch WLAN leuchten, nicht blinken. Dann wäre der erste Schritt geschafft und es sollte (wieder) Internet verfügbar sein. Die Zugangsdaten sind im Gerät noch wie vorher gespeichert.

Nun muss das Telefon noch konfiguriert werden: Über Browser stellt man die Verbindung zum Router her und wählt sich mit dem Kennwort, das auf der Rückseite des Routers zu lesen ist, in das Gerät ein.

Im Menüpunkt „Telefonie“ wechselt man um Unterpunkt „IP basierte Telefonie“ in den Dialog „Zugangsdaten“. Dort wichtig: Als Anbieter muss „Telekom“ ausgewählt werden und im Feld „Rufnummer mit Vorwahl“ muss die Vorwahl und Rufnummer des Anschlusses eingetragen werden. Individuelle Zugangsdaten sind nicht notwendig. Schließt man den Dialog mit „OK und WEITER“ so dauert die Speicherung und Prüfung wenige Sekunden. In dieser Zeit meldet der Router bei der Telekom IP-Telefonie an.

Interessant war, dass in diesem Fall alles auch mit Splitter funktioniert hätte. Ich habs ausprobiert 🙂  Es ist erklärbar: die hohen DSL-Frequenzen über 138 kHz werden 1:1 über den Splitter durchgeschliffen – es gibt nichts mehr zu splitten – und so wird die Funktion des Splitters (also die Trennung der Frequenzen) nicht mehr wahrgenommen. Ergo: er kann entfallen und abgebaut werden. Der Vorteil ist dass bei künftigen Störungen bei der Problemsuche eine Fehlerquelle wegfällt.

Zusammenfassung: Im Kundencenter sollte der Umstellungstermin verfolgt werden. Für den Anschluß sollten die originalen Speedport-Kabel verwendet werden und am Ende muss der Speedport als IP-Telefongerät bei der Telekom angemeldet werden.


Hinweise zu Kabel, Anschluß, Dose:

Speedport W723V Firmware Typ A:

Deep Thought, die Zahl 42 und das Problem der Allmächtigkeit

Was soll das jetzt? Wer ist Deep Thought? Was soll die Zahl 42 bedeuten und wo gibts ein Problem mit der Allmächtigkeit?  Dem Leser traue ich hier viel zu. Generell geht es um die Allmacht und was sich daraus ergeben kann. Beschäftig man sich mit dem Allmächtigkeitsparadoxon und liest gerne Adams‘ Science Fiction, kommt man eben „vom Einen zum Anderen“. Der Leser möge es mir nachsehen.

Für wen ist der Beitrag geschrieben? Für alle interessierte Leser und speziell für Leser auf der Suche nach Antworten nach dem „Warum“, für Zweifler, für Atheisten genau so wie für Deisten (Achtung: Mit „D“).

Die letzte Frage nach der Allmächtigkeit.

Gut. Ich beginne mit der letzten Frage… wo gibts ein Problem mit der Allmächtigkeit? Seit praktisch immer machen sich Menschen Gedanken über die höhere Macht, einen „Gott“, oder schlicht weg: den „Gott“. Ich möchte hier keine ausufernden Worte über die Religionsgeschichte darlegen – dafür gibt es bessere Seiten und fähigere Menschen mit einem entsprechenden Hintergrund, der eine solche Ausarbeitung hergibt. Mit der Frage nach Gott stellt sich auch die Frage, wie ein Gott Schmerzen, die seiner Glaubensgemeinschaft widerfährt, nicht verhindern kann… das Thema der Theodizee. Die Frage nach dem „Warum?“: Wenn ein allmächtiges, liebendes Wesen es zulässt, dass Ereignisse geschehen, die seinem Volk Schlimmes antun, dann ist es möglicherweise nicht allmächtig? Ich provoziere jetzt bewusst und ketzerisch… ist mir klar. Viele Glaubende und auch sicherlich in einem bestimmten Rahmen nicht-Glaubende haben sich diese Frage gestellt. Ich, genauso wie vermutlich alle Menschen, sah mich in der Vergangenheit ebenso mit dieser Frage konfrontiert, daher: drei Ansätze oder Gedanken möchte ich darlegen, die zu Antworten generell führen können: Erstens: wenn sich Gott oder stellvertretend seine Anhängerschaft bewusst in Ereignisse einmischen würde, gäbe es im Handumdrehen Revolte und Aufstände, das ginge sicherlich schnell: „ihm oder ihr hat er geholfen, mir nicht? warum?“. Es würde nur eine einzige Hilfe oder Einmischung reichen und es gäbe die Frage nach der Ungerechtigkeit, d.h. Gott muss sich entweder ständig einmischen um allen zu helfen, denn: ungerecht soll das ganze ebenfalls nich ablaufen. Zweitens: würde sich Gott einmischen und helfend sein: Action und Reactio: welche Auswirkungen hätte es nach vorne in die Zukunft? Was würde dadurch ausgelöst oder verhindert? Nach unserem Verständnis müsste Gott bis in alle Ewigkeit durchblicken, ob die Einmischung gut oder schlecht sei, außerdem: würde Gott den Weg eines jedes Quant durchblicken, würde das heißen, dass nach unserem jetzigen Verständnis die Welt berechenbar sei, was sie nicht ist (Zweifler mögen sich bitte mit dem Doppelspaltexperiment oder mit den Eigenheiten von Lichtquanten vertraut machen. Weitere Tags: die Theorie hinter Schrödingers Katze). Dem Menschen würde ich die vollständige Druchdringung nicht zutrauen – setzen wir Karren nicht an die Wand und versuchen wir dann nicht wie verrückt die Auswirkungen zu minimieren? – also gäbe es wieder Revolte und Aufstände. Der Tenor in diesem Falle: „weil Gott geholfen hat, hat das die Folge, dass dieses und jenes passiert ist … und so weiter“ – ob es so sei oder nicht. So. Was bleibt noch? Es kann sein, dass Gott allmächtig ist (übrigens: hat Gott das jemals von sich behauptet oder stammt die Behauptung vom Menschen? – ich gehe der Frage bei Gelegenheit nach) und sich weise gibt uns leben lässt und uns Menschen nach unserem Leben aufnimmt. Es kann sein, dass Gott nicht allmächtig ist, was für mich bei der Sache keinen Abbruch macht: denn wenn ich glaube, dass Gott ist, dann folgt daraus, dass jeder Mensch eine gewollte Abstammung darstellt und somit jeder die Ausprägung des göttliche Wohlwollens in sich hat. Und damit sind wir beim dritten Punkt. Bitte merken wir uns den Stand kurz – ich muss ausschweiffen!

Die Zahl 42 – praktisch keine Ahnung!

Im Roman von Douglas Adams mit dem Namen „Per Anhalter durch die Galaxis“ gibt es einen unheimlich mächtigen Computer, der die Frage aller Fragen nach dem Leben, dem Universum und allem beantworten soll. Das passiert alles auf dem Planeten Magrathea. Der Computer bekommt also die Frage aller Fragen gestellt und 7,5 Millionen Jahre später kam dann die Antwort: 42. Die erstaunten Magratheaner fragen den Computer natürlich, was das zu bedeuten habe aber Deep Thought gibt sich gelassen: er könne die Antwort nicht geben, wenn sich der Fragende nicht auf die Frage konzentriere, die Frage sei zu allgemein gestellt gewesen. Und dann kommt es: die Frage können von ihm nicht beantwortet werden. Also: die Frage der Fragen kann von ihm – denn größten und mächtigsten Computer aller Zeiten – nicht beantwortet werden. Natürlich vorderten die Magratheaner in der Meinung, sie hätten den mächtigsten Computer aller Zeiten entwickelt, Theep Thought heraus: sei der Computer denn nicht mächtiger als Milliard Gargantohirn oder Googleplex Sterndenker oder (wie DT dann sagt: die Kybernetischen Doofies) Multikortikuiden Titan Müller. Natürlich sei er das, erwiderte Deep Thought (übrigens: die eng. Übersetzungen der Kontrahenden sind wirklich nicy zu lesen: „The Milliard Gargantobraun“ oder „The Googleplex Star Thinker“ oder der „The Great Hyperlobic Omni-Cognate Neuron Wrangler“). Freilich nochmals. Für Deep Thought sei das alles kein Problem. Man solle ihn bitte nicht mit Taschenrechner vergleichen… aber  und jetzt kommts: Deep Thought sagt selbst über sich, dass er nicht der mächtigste Computer im Universum aus Zeit und Raum sei! Jetzt war es den Magratheanern zu viel. In der Meinung, sie hätten den größten und mächtigsten Computer aller Zeiten entwickelt, gibt dieser dann von sich: nein, das sei er nicht. Die Magratheaner wuselten daraufhin nervös rum – klar. Aber wer sei denn dann der mächtigste? Und jetzt kam es heraus: Der Computer mit allen Bestandteilen, der von Deep Thought entworfen werden wird! Und er gibt auch gleich den Namen dazu: die Erde. Also: der mächtigste KI sieht sich nicht als solches aber kann sagen, wer die Frage aller Fragen beantworten kann: nämlich die Wesen, die von ihm erschaffen werden.

Und wieder zurück.

Wenn also eine bekannte Allmacht an seine Grenzen stößt, dann versucht die Allmacht so gut wie möglich ihre (oder seine?) Eigenschaften weiter zu projezieren. Deep Thought – der Tiefe Gedanke – aus Adams‘ Science Fiction Roman entwickelte die Erde um dort Leben entstehen zu lassen um dort letztlich die Frage aller Fragen beantworten zu lassen und zwar von Menschen. Was aus diesem Fall wurde? Nun, lesen Sie den Roman – Spoiler Alarm!

Der dritte Punkt.

Wäre folgender Ansatz nicht überlegbar: Was wenn Gott uns werden „hat lassen“ damit wir die Allmacht praktisch in uns haben? Was jetzt, wie? Naja, einfach: Wenn Gott nicht permanent (Achtung: ich lege mich bewusst nicht fest!) für uns da sein kann um uns durch Einmischung bei Seite stehen zu können, dann wäre es plausibel, dass er uns so werden lässt, dass wir für uns gegenseitig da sind… jeder von uns kann für jeden von uns da sein. Hilfe, Zuhören, Zuneigung, ein gutes Wort, die Fürsorge am Nächsten – die Reihe lässt sich praktisch Endlos erweitern.  Wäre das nicht ein „Deep Thought“ wert? Diese Menschen gibt es und wird es noch sehr lange geben.

Die Zahl 42 steht also für „keine Ahnung“. Im Roman hat sich Deep Thought meiner Meinung nach übernommen; er (ich mach ihn jetzt maskulin!) wusste nicht, auf was er sich eingelassen hat, konnte den Umfang nicht umreissen, die Antwort dauerte im Verhältnis zum Ergebnis viel zu lange. Adams wählte die 42 mit Blick vom Schreibtisch in den Garten. Fertig.

Weiter interessiert? Ich empfehle das Buch „Neue Antworten für Hiob“, geschrieben von Prof. Gerhard Hazsprunar, forscht und lehrt als Zoologe an der LMU München.



Meetings erfolgreich meistern

Sowohl als Teilnehmer oder als Organisator: in modernen Unternehmen bekommt praktisch jeder Mitarbeiter Kontakt mit geschäftlichen Meetings, längeren Konferenzen oder Zwiegsprächen zwischen Tür und Angel oder in der Kaffeeecke.

In wenigen Sätzen möchte ich Positives hervorheben um Gruppenarbeit als Teilnehmer zu meistern.


Man kommuniziert immer. Vermutlich gibt es nichts spannenderes als das Miteinander-In-Verbindung-treten. Man unterscheidet zwischen Verbale Kommunikation, Paraverbale Kommunikation und Nonverbale Kommunikation. Die Verbale Kommunikation definiert die Art und Weise des (Aus-) Gesprochenen. Es sollten lange, mit „ähh“ gespickte Sätze genau so vermieden werden wie das Dauerquasseln oder die Verwendung von „Füllsel“ (Das ja sein ein JA, das nein ein NEIN). Die Sätze sollten den Punkt treffen und kurz, prägnant formuliert werden. Man muss schließlich den zeitlichen Rahmen beachten. Schräg kann es werden, wenn der rote Faden mehrerer Teilnehmer nicht beachtet wird. Dazu kann es kommen, wenn Sätze wie „… außerdem gäbe es noch… wobei…“ – also: Ausschweifer ausgesprochen werden und man den Sprüngen nicht mehr folgen kann. Als Lösung kann zu Gesprächsbeginn durch den Organisator auf den „Roten Faden“ hingewiesen werden. Funktioniert das nicht, kann symbolisch ein roter Faden in die Gesprächsmitte auf den Tisch gelegt werden, der von allen Teilnehmern permanent beachtet werden muss. Die Paraverbale Kommunikation dagegen definiert, wie die Verbale Kommunikation  zum  Partner getragen wird. Es sollte vor allem darauf geachtet werden, dass die Sprechgeschwindigkeit und die Sprechlautstärke unbedingt stimmig sind. Es gibt nichts schlimmeres als dass man dem Gegenüber aufgrund zu schnellem Sprechen im Dialekt in unangemessener Lautstärke nicht versteht und ständig nachfragen muss. Als Sprechender kann man sich angewöhnen, in regelmäßigen Abständen selbst zu prüfen ob die Lautstärke und Geschwindigkeit passen. Man kann dabei über die Zuhörer reflektieren: aktive Gesprächsteilnahme! Wird mir zugehört? Müssen sich Teilnehmer beim Zuhören anstrengen? Tun sich „Sidepots“ auf und entstehen Gespräche abseits? Verhaspele ich mich selbst regelmäßig? Zur Nonverbalen Kommunikation zählt abschließend die Emotionen spieglende Mimik und Gestik sowie z.B. das räumliche Verhalten. Praktische Tipps? Ok: schauen Sie den Teilnehmern und Gesprächspartnern in die Augen – das kann man sich angewöhnen – und lachen Sie auch mal *Smile*. Möchte man sich Raumverhalten aneignen, so gibt es Faustregeln für Distanzen: die sogenannte intime Distanz findet innerhalb ca. 50 cm statt und sollte – wie der Name sagt – intimen Anwendungen vorbehalten bleiben. Die persönliche Distanz ist bis zu ca. 120 cm definiert. Diese Zone ist  z.B. Begrüßungen und Zwiegesprächen vorbehalten. Körperkontakt wird eher vermieden. Die folgende soziale Distanz bis ca. 4 Meter wird dauerhaft bei Besprechungen, Reden bei Begrüßungen und Verabschiedungen. Die sog. öffentliche Distanz über die vorhergehende soziale Distanz hinaus dient stets der ersten Kontaktaufnahme. Man prüft sich gegeneinander, ob die andere Person Anforderungen stellen könnte bevor man die persönliche Wohlfühlzone (siehe obige soziale oder persönliche Distanz) öffnet.

Btw: Distanzen und Kommunikationsebenen: Old school?

Beschäftigt man sich weiter mit den Themen und schaut man z.B. über den Teich in das Tech-Herz Amerikas, dem Silicon Valley, so stellt man Widersprüche fest. Dort in StartUps setzt man reibungslosen Informationstransfer voraus. Informationen zwischen den Mitarbeitern sollen schnell fließen. Abstände sollen kurz und direkt überbrückt werden.


Am obigen Beispiel (Quelle: Mistletoe Boot Camp, Tokyo) kann man erkennen, dass kurze Distanzen durch offene Arbeitsplätze den schnellen Austausch von Informationen gewährleistet. Frage? Wer kennt die Antwort? Hier und dort. Dies und jenes. Kurz und prägnant.


Es bleiben dem Kollegen nicht mehr als 60 cm nach links oder rechts. Kein eigenes Büro, kein eigener Schreibtisch – all das hindert die Kommunikation und den direkten Informationsaustausch.

Einfache Regeln für den Umgang Miteinander

Die Kommunikationsregeln nach Carl Rogers – einem amerikanischen Psychologen und Psychotherapeuten – können helfen, (kritische) Situationen in praktisch allen Lebenslagen der Kommunikation mit anderen Menschen gut zu meistern. Rogers hat die Regeln ursprünglich für Therapeuthen entwickelt, sie lassen sich aber gut für andere Lagen übersetzen: Kongruenz, Empathie und positive Zuwendung. Die Kongruenz sagt aus, dass sich die Gesprächspartner unverfälscht und ungekünstelt gegenübertreten sollen. Menschen spüren es (manche: sofort) wenn Meinungen und Standpunkte aufgezwungen werden oder wenn Fassaden aufgebaut werden und sich der „andere“ dahinter verschanzt und Pläne für die Gesprächsführung schmiedet. Die Empathie sagt aus, dass man sich als Zuhörer in die Situation des  Gesprächspartners so gut als möglich hineinversetzen soll. Ein  Öffnen für den (kongruenten) Gegenüber soll ein besseres Verstehen ermöglichen. Die Empathie trifft den Begriff des „aktiven Zuhörens“ m.E. am Besten. Die (eigentlich nach Rogers: bedingungslose) positive Zuwendung empfiehlt, ohne Rücksicht auf Vorhergehende Ereignisse die volle positive Wertschätzung zu geben. Das bedeutet: keine gutgemeinten Ratschläge, keine Gängelung, kein Aufzwingen eigener Meinungen oder Einstellungen. Man hört zu und lässt der Gefühlswelt des Gegenübers freien Lauf ohne die Aussagen persönlich zu bewerten oder zu beantworten.


Beachte den roten Faden, spreche laut, (wenn notwendig: langsam) und deutlich und schau‘ dem Gegenüber in die Augen. Humor sorgt für Auflockerung. Gib dich authentisch, versuche den anderen Teilnehmer zu verstehen und lass‘ ihn ausreden.

Und das Wichtigste: folge Einladungen pünktlich!

Für Interessierte ist das Studium weiterer Quellen interessant (empfehlenswert: HS Trier, Modul Kommunikation im Fernstudium mit Dipl.-Psych. Helga Lang).


SSD – Invest mit Return

Waren sie vor einigen Jahren um ca. 2010 oder 2011 für den professionellen IT-Bereich noch nicht denkbar (Größe zu klein) und für den Heimbereich nicht bezahlbar (weit über 500 Euro für wenige Gigabyte), so haben sich die Zeiten auch hier gewandelt und die SSD hat ihren Siegeszug angetreten.


Grundsätzlich wird unterschieden zwischen der MLC-Technik und der TLC-Technik.  Die Multi Levlel Cell-Technik merkt sich in einer Speicherzelle einer SSD genau vier Ladungspegel. Als Nachfolgetechnik des Pioniers SLC (Single…), der mit einer 0 – von kein Strom bis in etwa dem halben Ladungspegel – und der 1 – alles über einem halben Ladungspegel – nur 2 Zustände kannte, unterscheidet zudem die MLC zwischen doppelt so vielen Zuständen pro Zelle, also in etwa: 0 bis 1/4 des vollen Ladezustandes wäre das 1. Bit = 0, 1/4-voll bis 1/2-voll wären dann die 1 vom 1. Bit. 1/2-voll bis 3/4-voll wären dann die 0 vom 2. Speicherbit und die logische 1 des 2. Bit wird als 3/4-voll bis ganz voll dargestellt. Die Nachfolgetechnik Triple Level Cell umfasst pro Zelle drei Bits, also 8 Zustände. Aus physikalischen Gründen kann eine Zelle nicht beliebig beschrieben und gelöscht werden. Daher hat sich das Kürzel TBW (Terabytes Writen) bei SSDs durchgesetzt – der zweite wichtige Wert. Dieser gibt an, wie viele Daten eine SSD schreiben kann, bis ein Defekt auftritt. Die Werte tengeln zwischen 60 und 80 TB was also für mehrere Jahre ausreichen sollte. Laut einem Test in der c’t 1/2017, Seite 100 „So lange halten SSDs“ sind die schreibbaren Werte ein Vielfaches der vom Hersteller angebenen Zahl. Durch die TLC-Technik wird die Lese- und Schreibgeschwindigkeit langsamer da die Erkennung der Ladezustände von drei oder mehr Bits (bei weiteren Level-Techniken) pro Zelle Zeit benötigen. Dieser Aufwand ist bei MLC mit 2 Bits geringer und so wirkt sich die Technik auf die Leistung aus. Zudem sind in der 2 Bit-Technik für gleiche Speichervolumen mehrere Zellen notwendig. Das ist ein Grund, wieso leistungsfähigere SSDs teurer sind, z.B. die Samsung 840 Pro oder 850 Pro.

Anschaffung und Return of Invest

Wie ermittelt man einen RIO der SSD? Der merkbare Vorteil der Geräte ist die Lese- und Schreibgeschwindigkeit. Daher misst man die Zeit bestimmter Aktionen: Rechnerstart, Anmeldevorgang, Start einer Anwendung, was dann so aussehen kann:


Es werden fünf Aktionen geprüft – der typische Start einer CAD-Workstation. Der Schritt von 1 auf 2 soll als „normales Verhalten“ dargestellt werden: der User sieht das Anmeldefenster und gibt sein Kennwort ein. Danach weitere Schritte.

Man sieht, dass ein System – hier eine Workstation von DELL mit Windows 7 – nur weniger als die Hälfte der Zeit benötigt. Die Tests könnten beliebig oft wiederholt werden: es würde sich vermutlich auf 100 bis 110 Sekunden einpendeln, abhängig von anderen Faktoren wie z.B. Netzauslastung usw.

Rechnet man die 152 Sekunden (Achtung: nur beim Start!) auf ein Monat mit 20 Tagen, so bedeutete das eine Zeiteinsparung von 50 Minuten. Bei einem Personalstundensatz von z.B. 60 Euro ist eine Samsung 850 Pro mit 256 GB, die zur Zeit ca. 120 Euro kostet, binnen 2 bis 3 Monate bezahlt. Freilich kommt die vebrauchte Zeit in der IT, die Kosten für die Bestellung usw. hinzu aber bei einer Laufzeit von 2 Jahren oder mehr lohnt sich eine Umstellung auf jeden Fall.

Defekte Hardware bei gratis Windows 10

Kürzlich traf ich auf folgendes Problem: Computer – gut beinander (sagt man hier in Bayern) – ca. 5 Jahre alt mit defekter Festplatte. Das System startete nur mehr sehr langsam. Die regelmäßigen „Klick-Geräusche“ aus dem inneren der Festplatte deuteten darauf hin, dass der Lesekopf der Spindelplatte auf bestimmte Stellen der Plattenfläche keinen Zugriff mehr bekam. Nach langer Zeit wurde trotzdem der Anmeldebildschirm von Windows 10 angezeigt – aha. Also Windows 10. Frage an die Eigentümerin: Wie kam das System auf die Platte? Antwort: Über das kostenlose Update. – aha. Das wurde spannend. Das ursprüngliche Windows 8 war mit Lizenz und DVD vorhanden. Der angemeldete Benutzer war ein Online-Account bei Microsoft, verbunden mit einer Email-Adresse, welche die Besitzerin seit mehrere Jahren nicht mehr verwendete, auch das soll gleich mit geändert werden.

Festplattentausch ohne Probleme möglich.

Die Festplatte wurde durch eine SSD getauscht. Das Windows 8.0 installiert, Update auf 8.1 erfolgte über den Store. Soweit kein Problem. Dann Upgrade über den Microsoft Store auf Windows 10. Funktionierte auch – Aktivierung ohne Probleme möglich. Fazit: Bei einem ursprünglichen Upgrade auf Windows 10 kann man die Festplatte tauschen und der Windows 8-Key identifiziert sich bei Microsoft als Windows 10. Der angemeldete Benutzer spielt dabei keine Rolle. Nach der Neu-Installation wurde ein lokaler Benutzer verwendet. Soweit in Ordnung.

Weitere Hardware-Probleme

Dann geschah es kurz darauf: das Mainboard des Computers verabschiedete sich nach wenigen Tagen. Und wieder: Das Gigabyte gegen ein aktuelles ASUS getauscht, Prozessor und Lüfter ebenso. Die Grafikkarte von ZOTAC, der RAM sowie die Peripherie DVD-ROM, der zusätzliche USB-Hub als 3,5″-Einschub wurden beibehalten – ebenso die vor wenigen Tage installierte SSD.


Die SSD startete ohne Probleme, der Windows-Benutzer meldete sich an. Dann gab Windows 10 an, dass das OS aktiviert werden müsse. In diesem Aktivierungsvorgang gibt es die Möglichkeit anzugeben, dass die Hardware getauscht wurde. Dieser Weg schlug fehl da Windows im Anschluß sagte, dass der angemeldete lokale Benutzer kein Online-Account sei (horcht! horcht! – stimmt) und man doch das Online-Konto anmelden soll, das damals bei dem aller-ersten Upgrade auf Windows 10 eingerichtet wurde. Also los: bei der Telekom existierte das damalige Konto nicht mehr. Dieses wurde identisch neu erstellt. Dann wurde in diesem Aktivierungsfenster angegeben, wie der damalige Benutzer geheissen hat und Windows verknüpfte das lokale Konto mit dem Online-Account der Telekom. Microsoft kannte den Benutzer noch. Das Kennwort bei Microsoft musste geändert werden – Mail zum neu erstellten Telekom-Account. Alles ok.

Ein erneuter Aktivierungsversuch mit identischem Weg – also mit Angabe über Tausch der Hardware – scheiterte wieder. Dieses mal sagte der Aktivierungsserver, dass unter dem Online-Account keine Windows 10-Keys abgelegt wurden. Fehlschlag. Dann scheint es so zu sein, dass in diesem Fall zwischen Key und Account keine Verbindung mehr besteht. Das widerspricht auch obiger Beobachtung über die 1. Aktivierung, dass der 8er Key eigentlich für 10 registiert ist und nicht der Account.

Die reine Aktivierung über den Lizenzkey von Windows 8 wurde nicht angenommen. Dummerweise schrieb das 10er einen Serverfehler – also keinen wirklichen Grund für den Fehlschlag. Dann war hier also das Problem zu suchen.  Ich wollte Microsoft über die bekannte 0800 2848283 erreichen und die Sache am Telefon klären. Bekannterweise benötigen die Hotline-Mitarbeiter eine Installations-ID welche der Aktivierungsassistent ausgibt. Diese ID konnte ich nicht erreichen. Weder über Bordmittel noch über den Kommandozeilenbefehl SLUI (z.B. mit Parameter 4 = Aktivierung). Es öffnete sich kein Aktivierungsdialog der mir irgendwie eine ID ausgab. Auch sysprep für die Neu-Bereitstellung half nicht weiter.

Dann weitere Versuche: die defekte HDD von damals in einen Caddy. Die Registry ausgelesen und dort den Windows 10-Key gefunden: stimmte mit dem Key des aktuell laufenden Windows 10 überein. Hm.

Nach einigen Tagen Tüfteln folgende Lösung: Mittlerweile lief wieder Windows 8 + Update auf 8.1 Dann wurde wiederum der Key eingegeben. Achtung: auch hier schlug die Lösung fehl! Die Aktivierung war nicht mehr möglich, man solle sich doch telefonisch unter obiger Nummer melden. Also angerufen: und hier fragte mich die automatische Microsoft-Stimme, auf wieviel PCs ich diesen Key in Betrieb genommen habe. „1“ war die Antwort. Und Klick: ich konnte 8.1 aktivieren. Dann nochmals Upgrade auf 10 über den Store und SUPER – auch diese Version wurde bereits aktiviert in Betrieb genommen. Dann war das Problem also eine (oder mehrere) wiederholte Aktivierungsvorgänge.

Geschafft. Fazit.

Bei einem kostenlos upgegradeten Windows 10 ist der Festplattentausch möglich: entweder das System läuft direkt danach ohne Aktivierung oder es kann ohne weiteres über den 8er Key aktiviert werden.

Oder es findet ein anderweitiger Hardwaretausch statt: dann kann der 8er Key über das Online-Konto aktiviert werden da Microsoft den 10er Key an das Online-Account des Benutzers knüpft oder Microsoft bemerkt, dass Windows zu oft installiert ist: hier war die Lösung: telefonische Aktivierung über Windows 8, dann Upgrade auf Windows 10 und Übernahme der Aktivierung.

MVC – Funktion und einfaches Beispiel

MVC – wer damit noch nichts gemacht hat und es programmieren soll, wird auf den ersten Blick verwirrt sein – und auf den zweiten Blick auch. Wenn man dann denkt, dass man es begriffen hat, verwirrt das Interface und die Tätigkeiten des Frameworks nochmals. Ich hoffe, mit diesem Beitrag einige Unklarheiten beseitigen zu können und einfaches Beispiel liefern zu können.

Zum einen werden bei MVC eigens dafür erstellte Klassen verwendet, dann wieder Funktionen des Frameworks. Es gibt nicht die Klasse MVC selbst; es ist für Einsteiger auf dem Weg zum Fortgeschrittenen ein ziemlich abgehobenes Konstukt („abstrakt“ – um auch dieses Wort verwendet zu haben.) Aber alles der Reihe nach. Der Blog lehnt sich an dem beiliegenden Beispiel an. Dieses kann hier heruntergeladen werden: simplesample

M – Das Model. Das Model ist im vorliegen den Fall (und es dürfte viele Fälle abdecken) genau 1x vorhanden. Es wird von Model nur eine Instanz erstellt. Darin sind alle Funktionen enthalten um die Daten des Programms zu verwalten. Es ist die zentrale Stelle um Daten abzulegen, zwischenzuspeichern und zur Verfügung zu stellen (z.B. Formeln zur Berechnung von Ergebnissen oder die bekannten getter und setter).

V – der Viewer. Der oder die Viewer (MVC ist erst richtig stark und effizient, wenn es viele Viewer gibt, die Daten anzeigen) wird an das Model geknüpft und ist letztlich dafür zuständig, die Daten aus dem Model anzuzeigen, d.h. die typische setText-Methoden zum Editieren der Oberfläche primitiver Steuerelemente (wie z.B. ein Label) erfolgen in diesen Klassen und NICHT in der Model-Klasse. Typisch: die Funktion erfolgt dort wo sie benötigt wird.

C – der Commander. Diese Komponente besitzt die Möglichkeit des Zuhörens oder des Lauschens („Listener“): kommt ein Input-Signal, werden i.d.R. Daten im Model manipuliert und das Model kennt die Anzeigeelemente und kontaktiert diese für ein Update.

Ablauf: angenommen, ein Frame besitzt ein Textfield und einen Slider – die Typen sind vollkommen egal. Es könnte genau so gut ein Spinner, ein Label oder eine Combo sein – egal. Der Slider wird bedient und das Label oder Textfeld ändert den Inhalt – soweit.

Dabei ist das Controller-Element der Slider und das View wird als Textfield dargestellt. Im Hintergrund werkelt das Model und kümmert sich um die Annahme der Sliderdaten sowie um die Kontaktierung des Textfields.


Abbildung: MVC an einem einfachen Beispiel.

Etwas genauer zur Vorbereitung: Die Datenbasis für die Daten, die Slider an das Textfeld weiter gibt wird zunächst initialisiert (Model m) – das Model. Im Anschluß wird der Frame gezeichnet und das Slider-Steuerelement eingesetzt. Auf das Steuerelement (bzw. über eine Ableitung davon – näheres weiter unten) wird über eine Controller-Klasse, die das Change-Ereignis abfängt, ein Listener gesetzt (SliderController sc = new SliderController (m)) und slider. addChangeListener(sc)). Damit sind wir beim Controller. Damit wird ein ausgelöstes Ereignis abgefangen und die Änderung dem Model übergeben, wenn der Slider verschoben wird (m.setNumber(s.getValue())). Somit ist der Slider fertig.

Zu den Views: Als Ausgabe wird ein Objekt erzeugt, das von einem Textfield abgeleitet wurde. Wieso eine Ableitung und nicht direkt das Textfield? Weil es durch Hinzufügen eigener Kontaktfunktionen wie gesagt die Möglichkeit der Verbandelung von Model mit View gibt und am View die Funktion  zur Änderung der Textfield-Inhalte über das Model kontaktiert wird (numberValueChanged(Model m, int s)). Woher weiß jetzt das Model, das es ein Textfield-Objekt gibt und es informiert werden muss? Es gibt am Model einen Sammler, bei dem ein zu informierendes Steuerelement registriert wird (private ArrayList<Interface> listeners mit m.addSteuerelementeListener (textfield)). Damit die Verwirrung komplett ist (Anm. des Erstellers ;-)) wird hier das Interface erwähnt: Das ArrayList zum Sammeln der Viewer-Steuerelemente speichert Objekte vom Typ Interface. Das Interface wird über die Viewer registriert. Zum einen werden die Funktionen des Interfaces an die registrierten Objekte erzwungenermaßen verteilt und zum Zweiten kann ein jedes Objekt, das die Methoden des Interfaces implementiert über das Interface angesprochen werden. Man kann sagen, dass Interface dient als eine zentrale Anlaufstelle und maskiert sich als das Objekt, das im Moment benötigt wird. Wird Interface bei einem Textview implementiert, kann es als solches behandelt werden; richtet sich die Anfrage an ein Label und wird bei der Erstellung des Labels das Interface implementiert, wird umgekehrt das Label über die Interface-Methoden angesprochen.

Kann man das auch Visualisieren? Solange man nicht durchblickt, kann man sich zur Hilfe ein Bild malen. Dann wirds klarer. Dafür eignen sich die sogenannten statischen Klassendiagramme um Abhängigkeiten darzustellen. Bitte informieren Sie sich über zu verwendete Komponenten in UML-Diagrammen. Ich liefere das Diagramm zeitnah nach.

SimpleSample kann in ein neue Eclipse-Projekt eingebunden werden. Setzen sie sich Debug-Punkte und fügen Sie bei Bedarf sysouts ein. Sie werden nach einiger Zeit sehen wie der Ablauf ist. Viel Spaß damit.

DeLorean DMC12 die Zweite

Als ich vor ein paar Tagen die IT SA – eine Messe für Computersicherheit in Nürnberg – besuchte, gab es hier wieder wen und was zu bestaunen? Den DeLorean DMC12 mit samt Marty McFly, dem Eigentümer hinter .


Auch dieses mal war das Fahrzeug wieder das Highlight schlechthin. An anderer Stelle – siehe den Blog über den Tesla Model S – traf ich ihn auf der CEBIT 2016 in Hannover.

Interssant waren dieses einige Details, die ich erfahren konnte: als Ersatzteilager dienen Teile auch aus anderen Fahrzeugen: die Doppelscheinwerfer des DeLorean sind Baugleich aus dem Audi 200 bzw. dem Audio Coupe Mod. 81, die Bremsen passen von Ford und von Jaguar, die Blinker sind Baugleich einiger DAF-Modelle. Der Antrieb stammt von Renault/PSA/Volvo, der sog. „Europamotor“. Etliche Kleinteile rund um den Antrieb, wie z. B. Kühlerschläuche oder O-Ringe passen von Volvo. Die Wasserpumpe kann von Peugeot verbaut werden.


Die Elektrik (also: die Elektrik des DeLorean OHNE den Fluxkompensator sowie die Zeitsteuerung ;-)) – so der Eigentümer Günnewig – war damals speziell: Verbaut wurden die Komponenten von LUCAS, die anfällig für Störungen waren – der Kabelbaum sowie etliche Komponenten mussten ersetzt werden.

Man sitzt im DeLorean sehr tief, auf der Straße sozusagen. Das ein- und aussteigen ist Coupe-mäßig sportlich.

Wer einmal die Gelegenheit hat, sich das Gerät genauer anzusehen, der sollte nicht zögern. Für einen erschwinglichen Preis kann Marty mit samt Coupe auch tageweise angemietet werden. Der Trailer, in dem der DeLorean transportiert wird, ist ebenfalls eine Schau.


Abbildung: Marty „Günnewig “ McFly, der Mann hinter dem Delo

Also. Nur keine Hemmungen. Marty ist sicherlich auf mehreren Messen unterwegs und aus Erlangen kommend für Nordbayern „nebenan“.