Archiv der Kategorie: Allgemein

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.

thomas-zehrer-de_blog_haxm-android-studio1

thomas-zehrer-de_blog_haxm-android-studio2

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

C:\users\%youruser%\AppData\Local\Android\sdk\extras\intel\Hardware_Accelerated_Execution_Manager\

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!

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.

Kommunikationsebenen

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.

thomas-zehrer-de_workplace

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.

thomas-zehrer-de_workplace_zoom

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.

Zusammenfassung:

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.

Technik

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:

thomas-zehrer-de_spindel_vs_ssd

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.

Einschalten.

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.

thomas-zehrer-de_mvc1-01

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 http://www.rent-a-delo.de .

thomas-zehrer-de_delorean-03

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.

thomas-zehrer-de_delorean-02

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.

thomas-zehrer-de_delorean-01

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“.

Zeit für Hollerbeeren

Während des Überganges von Hochsommer auf Spätsommer werden eine Fülle von Früchten und Beeren reif – dazu gehört auch der beliebte Holler [Sambucus]. Obwohl man die Hollerblüten auch zu Sirup weiterverarbeiten kann, bieten sich die reifen Hollerbeeren für eine nähere Betrachtung für die Weiterverarbeitung an. Grüne Beeren sind unreif und benötigen noch einige Tage Sonne während die Schwarzen Hollerbeeren [Sambucus nigra]  reif sind.  Interessant ist, dass ein Hollerbusch, der mehrere Meter breit und hoch sein kann, reife sowie unreife Früchte tragen kann, abhängig von der Ausrichtung zum Sonnenlicht.

Dem Holler, oder auch Holunder oder in Norddeutschland der Fliederbeerbusch werden eine Reihe von guten und schlechten Eigenschaften nachgesagt. Ich verzichte hier auf eine Wiederholung der Details – interessant ist, dass der die Namensgeberin des Holunders die aus kinderzeiten bekannte Frau Holle sein soll !? – Bitte lesen Sie einfach auf Wikipedia oder die Geschichten der Gebrüder Grimm nach 😉

Jedenfalls: wie bekommt man die Beeren am einfachsten vom Stiel? Zupfen kann man getrost als Lösung beiseite legen – es können für 500 Gramm Beeren mehrere Stunden eingeplant werden.

Lösung: eine gemeine Besteckgabel.

thomas-zehrer-de_holler-01

In der einen Hand hält man einen handteller großen Zweig mit Hollerbeeren und mit der anderen Hand rüttelt man sanft die Beeren in den Behälter – ganz einfach.

Vorteil dabei ist, dass die unreiferen grünen Beeren am Zweig verharren während die reifen schwarzen Beeren sich leicht ablösen – den Effekt kennt man von vielen anderen Früchten.

Zudem wird bei sorgfältiger Verarbeitung der Zweig zu 100% sauber abgeerntet.

thomas-zehrer-de_holler-02

So schafft man binnen einer Stunde gut ein halbes Kilo an Beeren. Die Weiterverarbeitung gestaltet sich einfach. Bitte blättern Sie in alten Rezeptbüchern oder bei chefkoch.de – im Prinzip wie andere Früchte auch: viele Wochen gewaschen aber unverarbeitet in hochprozentigen Alkohol einlegen, dazu eine Schote Vanille. Die Beeren sind relativ herb – gut nach einem ausgiebigen Mittagessen.

Mahlzeit.

Homomorphe Verschlüsselung! Was? Wie?

Letztens gelesen: Cloud-Dienste können mit Werten rechnen, die homomorphe Merkmale aufweisen und gesicherte Daten müssen praktischerweise vor Benutzung nicht entschlüsselt werden? Und das soll gehen? Spannend! Ich war sofort neugierig auf das Verfahren und das Ergebnis.

Begriff: Homomorphe Verschlüsselung

Homo, aus dem Griechischem für „gleich“ oder „ähnlich“ und Morph ebenfalls griechisch für Form bedeutet, dass ein Symbol, z.B. eine Zahl bzw. mehrere Zahlen das Ergebnis eines Prozesses gleicher Schritte sind. Die Symbole sind sozusagen  vergleichbar, weil sie mit ähnlichen Ausgangswerten auf identische Art und Weise entstanden sind…. interessant. Und weiter noch: rechnet man mit den so entstandenen Ergebnissen, dann erhält man selbiges Resultat, das auch aus den Ur-Werten entstanden wäre. Dann liegt Homomorphismus vor. Dann die Verschlüsselung: es geht also um Retsultate von Operationen (z.B. der RSA-Verschlüsselung) die im Verhältnis zu den Ur-Werten identisch sind. OK!? Probieren wir es aus.

Ausgangssituation

Daten, die per asymetrischer Verschlüsselung (z.B. mit RSA) gesichert sind, sollen verschlüsselt werden. Dazu geht man in etwa so vor: Der Klartext t wird mit einer großen Primzahl p als Key und einer großen Zufallszahl r nach der Formel t‘ = t + p * r verschlüsselt.

Angenommen, der Klartext t sei 5 und 2. Die große Primzahl p sei für beide (!) Klartexte 1234567 und die Zufallszahl r ist 48. Die Primzahl p sollte an dieser Stelle wesentlich größer sein. Zudem ist r ebenfalls recht klein – sollte aber an dieser Stelle ausreichen. p und r müssen für beide Ur-Werte gleich sein da sonst die Ergebnisse nicht mehr „im Verhältnis“ identisch sind – es wäre kein Homomorph mehr.

Rechnung

t1′ für 5 wäre demnach t‘ = 5 + 1234567 * 48 = 59.259.221 und t2′ für 2 wäre t‘ 2 + 1234567 * 48 = 59.259.218.  Um es spannend zu machen, multiplizieren wir, um das (Achtung!: verschlüsselte) Ergebnis zu erhalten: 59.259.221 * 59.259.218 = 3.511.655.095.749.178 – wir definieren das Produkt weiter mit e.

Prüfung

Multiplizieren wir die Ur-Faktoren 2 und 5, erhalten wir das Produkt 10. Und ebenfalls sollen wir dieses Ergebnis 10 erhalten, wenn wir obiges Produkt per Modulo aufgreifen? Probieren wir es: wir kommen zurück mit Ergebnis t = e mod p.  Wenn wir keinen mod-fähigen Taschenrechner zur Hand haben, kommen wir mit e geteilt durch p, dann die Ganzzahl des Ergebnisses (ohne den Werten rechts vom Komma: 2.844.442.704) mal nehmen mit p 1234567 und wir bekommen einen um 10 verminderten Wert als wir mit obigen Verschlüsselten Werten erhalten haben.

Faszinierend

… und im Nachhinein verständlich. Aber: Passt. Prima. Anwendungsfälle bitte? Rechnen mit Geo-Koordinaten,  Umsatz- oder Budgetberechnungen für sensible Bereiche. Datum- und Zeitoperationen – Praktisch alle Berechnungen, wobei der Rechenweg selbst nicht geheim, wohl aber die Parameter oder den Bezug niemand kennen soll.

Dragon zickt nach hard-Reset

Einen merkwürdigen (daher der Blogeintrag) Fehler besonderer Art hatte ich kürzlich, als ich mit der Spracherkennungssoftware Dragon  NaturallySpeaking zu tun hatte.

Hintergrund

Dragon (hier Version 13) wird auf dem Windows-System installiert. Die Spracheerkennung läuft komplett lokal ab – Vorteil. Keine Cloud, kein Internet, keine Bandbreite, praktisch keine Wartezeit bei aktuellen Systemen. Es gibt sogar eine App für Smartphones, die per Bluetooth eine Verbindung zu PC-Installationen herstellen können um darüber Texte diktieren zu können. Dragon lernt mit der Zeit den Sprecher kennen, so dass Dialekte und Sprechattribute laut/leise, schnell/langsam angepasst werden. Dragon läuft permanent auf dem System im Hintergrund – einfach und effektiv. Funktioniert prima! Dragon kann ich für Vielschreiber und Diktier-Freaks empfehlen. Auch elektronische Diktate in mehreren Formaten kann Dragon verarbeiten und in Text umwandeln. Von Vorteil ist, wenn der Sprecher Dragon seit längerem nutzt und trainiert hat. Die Ergebnisse sind um ein Vielfaches besser als nach einer frischen Neuinstallation.

Problem

Problem war, dass das Notebook  mit Dragon schlicht ausgeschaltet wurde – kein sauberer Abschluß durch Herunterfahren oder Standby bzw. Ruhezustand. Ein hartes Ausschalten war Fakt. Es könnte genauso gut ein Absturz gewesen sein. Nach dem Neustart muss man bei Dragon ein Profil öffnen. Das Profil beinhaltet alle Eigenschaften des Sprechers. Es gab folgende Fehlermeldung: „Auf das von Ihnen gewählte Benutzerprofil kann nicht zugegriffen werden. Sie haben eventuell keine ausreichenden Zugriffsrechte, oder die Daeien werden von einem anderen Programm verwendet.“

thomas-zehrer-de_dragon01

Bild: die Fehlermeldung nach dem Hard-Turnoff (bzw. Absturz)

Dragon Fehler-Text: Auf das von ihnen gewählte Benutzerprofil kann nicht zugegriffen werden. Sie haben eventuell keine ausreichenden Zugriffsrechte, oder die Dateien werden von einem anderen Programm verwendet.

Ansätze

Es gab also Dateien, die noch im geöffneten Zustand verharrten. Die Rechte waren in Ordnung, daran konnte es nicht liegen. Neustart von Windows war eine Idee um einen nachträglichen sauberen Abschluß gewährleisten zu können – auch vergebens. Neu-installation der Dragon-Software schuf ebenfalls keine Abhilfe.

Profil finden und Backup prüfen

In Windows liegt das Profil per Standard in C:\ProgramData\Nuance\NaturallySpeaking13\Users. Hier liegen 1:1 die Profile unter dem in Dragon angegebenen Profilnamen. Es bietet sich an, vor Reparaturarbeiten eine Kopie der Verzeichnisse anzufertigen, Strg+C & Strg+V bzw auf USB-Laufwerke. Wurde über Dragon ein Backup angefertigt, liegt dieses unter <profilname>\backup. Doch auch das manuelle Zurückkopieren des Backup-Ordners in das Verzeichnis <profilname>\current half nichts – Achtung: das Backup half an dieser Stelle nicht weiter!

thomas-zehrer-de_dragon02

Bild: die Fehlermeldung nach dem Hard-Turnoff (bzw. Absturz)

Lösung

Nach einigem Probieren und Hin- und Herkopieren war die Lösung folgendes: Neues Profil anlegen und aus dem neuen Profil den Inhalt des Ordners <neuer profilname>\chkpt kopieren in den Ordner <profilname>\chkpt – also den Inhalt der chkpt-Files tauschen UND den backup-Ordner zurückkopieren in \current – das war die Lösung an dieser Stelle. Laut Dragon befinden sich Zeitpunkt-Sicherungsdaten des aktuellen Profils in diesem Ordner. Die Ordnerdaten der Ordner in chkpt waren bereits einige Tage alt, können daher keine live-Daten sein, zudem befinden sich im backup-Ordner die Dateien des current-Verzeichnisses. Daher gehe ich davon aus, dass die live-Daten im current-Verzeichnis gesichert sind.

Stets mit Backup arbeiten

Die Lösung hatte ca. 1,5 Stunden an Arbeiten gekostet. Ich kann an dieser Stelle nur empfehlen, regelmäßig ein Backup des kompletten User-Profils anzufertigen.

Ansonsten ist Dragon eine gute Software.