Archiv der Kategorie: Allgemein

javafx: FXMLLoader.load throws a nullpointerexception

Because i have seen it several times during study at University of applied science Trier (and loading code to the ASB Automatische Software Bewertung), i decided to write few lines. Maybe you can save time.

If you have a java IDE like eclipse or IntelliJ and you write code forJavaFX and you try to get a pre-defined layout from a fxml-File (like you get it from JavaFX Scene Builder 2 or newer), you can use the static load-Method to get in a guilayout.fxml like this:

Pane root = FXMLLoader.load(getClass().getResource("guilayout.fxml"));

In this example you get a Pane-Object, is betted in your file. In several resources, you can read, that the guilayout.fxml must be in the same direcotry like your .class-Files are. Yes. Thats right, but not right enough. If you start your program you will get an Error:

java.lang.NullPointerException: Location is required.

Solution: Just make a copy of your fxml-File and delete it from this folder. Then open your GUI and drag and drop the backuped file directly in your package. Thats the solution. With the advice „the fxml has to be in the same folder like the using class-File“ means the documentation the eclipse-folder (and not primary the operating system folders). So just do an d&d and you will see: it works and you have automatically done the copy-command at your os.

installing raspberry: kernel panic 179,2

I just copied a image file of raspbian buster lite to a micro sd card. I used the image program Win32DiskImages under windows 10 64Bit for this job. Not the first time i go on with this stuff, i removed the sd card caddy with the micro sd card from the card reader and put it to the raspberry4. I got following error:

Kernel panic – not syncing: VFS: Unable to mount the root fs on unknown-block (179,2)

No matter with how many Cards you will try this, you could find similar results in the web.(https://www.raspberrypi.org/forums/viewtopic.php?t=12245)

At the end: after writing the image,  removed the card at first via windows function: remove card with icon you can find lower right near the watch/datetime.


Is co2 the only warming-up driver?

Based on the current studies and discussion, since many years, the co2 – carbon dioxyd – level will raise on because fireing fossil fuels. Thats not new to us. Co2 prevents emitting of leaving radiations during back-reflections to the ground (…earth). There are more oxyds, reacting more or less stronger or weaker, like e.g. methan ch4. And its very critical if the co2 value goes against 400 ppm – parts of co2 per million. That means, that a tiny value of 0,04% and more leads to a higher temperature and advanged the greenhouse effect.

A common process: transfer co2

We know, thats a common process. The co2 is taken by components in fauna, like leafs. The „c“ of co2 is going to matter „carbon“, wood, something, and the o2 is passing the leaf as new clean air „o2“. This example and other, more complexe transfers in weather and oceans care for a level with 200 to 300 ppm in a balance. But through taken and fireing up old carbon and oil from the grounds, we increase the ppm up to 413 (Source: https://en.wikipedia.org/wiki/Keeling_Curve,  2013)

Complex system of transferation warm air to the space

We live in a natural circle of increasing and declining temperatures. On the day-side of the earth, the sun warms up earth and hours later, the warmed up earth emits the the space. Prof. Schellnhuber describs this mechanism in his book „Selbstverbrennung“, published in year 2015 (page 69ff)  like a complex mechanism, in which lower athmospheric layer give because of saturation the warmness up to higher shifts until it is transfered to the space.

But there are other drivers than co2? Hows about this…

Hows about the following adoption: we get cole and gas from the inside of our earth – which was never planned for burning up again – and fire it up. And so it gets warmer… remember: the main failure, you can believe is, that energy (no matter what or where the source is) can not be consumed, i repeat: CAN NOT BE CONSUMED. Energy can only be transfered from one condition to an other condition. You fire up gas: you transfer matter from chemical, liquid state to radiant head energy „warmess“. Based on this complicated (yes, if you think about, its getting very complicated) process of transformation, i will describe a well-known application: the car with a combustion engine. In german-speaking countries, we know the word „combustor“ – in german „Verbrenner“.

The basics of combusting fuel in a simple car

In all modern cars (yes, lorries, trucks, and so on) you have a system, which is detecting if you are driving „economical“ enough. It checks everytime, if your engine is firing up fuel with the „best“ value of air. This device is called the „oxygen sensor“ or „lambda sensor“.

Lambda Sensor or Oxygen Sendor
Lambda Sensor or Oxygen Sensor, Source: wikipedia.com

The lambda sensor checks up the parts of oxygen outside the car and inside the exhaust pipe and the relation of fuel and oxygen. You are driving good, it means that your mix with fuel and air is good, if the value of lambda is simply „1“. It means again,  that your engine is needing a relation of 14 to 1. For each 1 kg of Fuel, you need about 14 kg of more or less clean air.  In some cases, a lower or higher value of air is possible, depends on several scenaries.  The sensor can give a power signal to a controller which correct values of fuel and air so the combuster works with perfect performances. But at all, you need 14 kg of air for 1 kg fireing up fuel. And another important thing is, that the optimal working temperature of your lambda sensor is around 800 °C. Remember this: this stuff in your exhaust pipe does have a temperature of about 800°C.

Think further: the consumption of fuel in a car

Nowadays, common cars in the western hemisphere need between 4 and 10 Liters of fuel. Let us take a value of 6 Liters per 100 km. Btw: i know, real us cars will need 6 Liters for starting up the engine and driving through the town. 🙂 Muscle Cars and SUVs (in europe, too) will need a lot of more. But lets start with a common car.

Think further: how much is 1 kg of fuel?

If we think about this stuff, you need to know: thats the matter of thermo dynamics, a wide field in science. But we need just a little of it. Because of fuel is lighter than water, 1 Liter does mean 0.775 kg and 1 kg does make 1.29 Liter. We need this values later.

1 kg of fuel does have chemical energy, can be convertet to a other form of energy. For our example, we convert 1 kg of fuel from chemical energy in thermal energy, a well known form.

1 Liter (means 0.775 kg) of fuel does have 34.7 Megajoule[MJ] of energy . With this formula, you can calculate the head difference.

Formula:

Delta T is the temperature difference, the result by devide out Delta Q by the product of m and c . It means, if you set up a lot of enery (Delta Q in Joule [J]) to a material with a specific weight (the mass m in kilogram [kg]) and with a effective heat capacity (c in J/kg), you will get the difference in temperature Kelvin (K). Simple you can say you set up energy in Joule against mass of material and inertia (… the „Trägheit“). And as a result, you will get the delta – the difference – between the old and new temperature.

Lets take the example with water. If you have a swimming pool with a size of 3 meter to 5 meter and a depth of 2 meter, you will get 35.000 liters or kilogram of water (kg and liter of water are the same, thats the m). Water does have a effective heat capacity of 4184 J/kgK (=c). And if you put in a energy of 1 Liter of fuel, that means 34.000.000 Joule (Delta Q), so you will get a result of Delta T = 0,237 ° Kelvin. If the pool water had a temperature of 20.0 °C, now it will have 20.237 °C – in theory.

If we go further with our example above of 6 Liters of fuel, we will get 34 MJoule * 6 = 204.000.000 Joule [Delta Q]. The numerator in our formula is raising up and we will get a plus of 1.423 °C – in theory. It means, that with a value of 6, you can drive about 100 km or heat up a pool up to 1.423 °C.

Think further: heat up air with 6 Liters of fuel.

Lets take a other example with air. If we go on with it, we need to know, that 1 cubic meter of air (1m * 1m * 1m) does have a weight of 1.25 kg – so we have the mass m. The effective heat capacity of air is 1005 J/kgK – so we have the c. By the way, c means the possibility to save heat energy. And to fire up this stuff, we take the same energy like above:  1 Liter of fuel with the power of 34.000.000 J. Now imaging: if you fire up 1 cubic meter of air with 1 Liter of fuel, you will get a delta of 28.814 °C – in theory.  And if we put in 6 liters of fuel, we have a heat box of 172.885 °C – in theory.

Now we take a view to our lambda sensor. If the sensor meassure up 1 kg of fuel (remember above: thats 1.29 Liter) to 14 kg of air, you can say that 6 Liters of fuel are 4.65 kg.  And if 1.25 kg is 1 cubic meter, it means that 14 kg are a volume like 11.2 cubic meter of air. Imaging: 11.2 cubic meter is the same like a room in the size about 3 m * 2 m and 2 m in height. This value of air you need to fire it to drive about 100 km. And awsome is the temperature.

If we take our formula above, we have a energy power of 4.65 kg fuel with 34,7 MJ * 4.65 = 161.587.000 Joule (the Delta Q). This power we set against the air’s effecive heat capacity of 1005 J/kgK (= c) and the mass of air 4.65 kg. After this we get a Delta in Temperature of 1.429,18 °C.

That means: if we heat up about 12 cubic meter of air with 6 Liters of fuel, the temperaure raises up Delta T = 1.429,18 °C – in theory.

Think further: how much is 100 km you drive with 6 Liters of fuel?

The distance of 100 km is like you drive a route of 30 km to work and back with a shopping stop in the neighbour town, or what else. Day by day. Every time you start your engine and do a road trip with 100 km, you heat up air.

Think further: there was never a plan to fire up fossil fuels.

As i mentioned above. There was never a plan to burry out old fossil fuels and fire it up. But thats what we doing day by day since about 100 years.

Maybe you recognize, that i wrote more times „in theory“. Yes, that ar calculated values based on science’s formulars. But they dont lie. We know the effective heat capacity of air and the mass of air. Against this product, we set the power in Joule. Thats quite simple.

Just imagine this… if you put your car in a well isolated glass room with which you can drive – yes thats quite creative – and from which no one degree for power disipation can go out or be lost: there should be after 100 km a temperature like calculated above.

After you put out your engine, all the heat of it (remember the 800°C working temperatur of the lambda sensor – thats the working temperature of your engine) can not be consumed. It can only transfered from one chemical status to a second chemical status and that means for the car: heat energy. And the dissipation factor means that heat is going to spread out them self to the environment. Your car would have a temperator on 800°C, it would glow in a right red color!

The main message, i want give to you:

  • energy can not be consumed; it can only be transfered
  • e.g. from chemical energy like fuel to heat energy like warmness
  • a consumption engine is like a heater with a car you can drive
  • driving 100 km is like the same as heating up a room to 1.429 °C.

Now, decide for your self. Is co2 the only warming driver or is there a possibility to think about higher temperatures by fireing up fuel and diesel…

Think further…

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