Vor Ort – oder doch lieber remote?

Aktuell bereite ich gerade für nächste Woche eine Cobol-Schulung vor. Auch wenn ich die letzten Wochen Vor-Ort-Schulungen gehalten habe – die Sache wird wieder remote laufen. Ebenso wie meine Videoaufnahmen für LinkedIn Learning in der übernächsten Woche. Für mich stellt sich mittlerweile die Frage, ob und wann meine Arbeit wieder ganz oder zumindest überwiegend auf „Präsenz“ umgestellt wird? Denn ich habe für die kommenden Wochen und Monate wieder Schulungsanfragen, die zwingend Vor-Ort laufen sollen. Zum Teil habe ich sie schon zugesagt. Aber Corona, die aktuell katastrophalen Rahmenbedingungen beim Fliegen (heute wird zusätzlich zu den total chaotischen Flughafenbedingungen durch den Urlaubswahnsinn sogar noch in FFM gestreikt), die permanent unzuverlässige Bahn sowie die explodierenden Benzinpreise bzw. allgemeinen Reisekosten lassen mich meine Zusagen bereuen und  überlegen, ob ich nicht konsequent auf „Remote“ bestehe? Vielleicht mit Ausnahme von Schulungen hier in der Umgebung, die ich u.U. sogar mit dem Rad anfahren kann (wie die letzten Wochen) und Videoaufnahmen bei LinkedIn Learning in Graz, denn ich will da unbedingt mal wieder hin. Aber ansonsten?

Ich muss Ende September nach Hamburg. Wie soll ich denn da hinkommen?

  • Inlandsflug? Theoretisch billig, gut und schnell. In der Praxis eine Umweltsauerei und besagtes Chaos an den Flughäfen lassen das im Grunde als Option nicht zu.
  • Bahn? Das klappt bei mir einfach nie. Mein Sohn hat letzte Woche wieder 5,5 Stunden für eine Strecke gebraucht, die nach Plan 90 Minuten dauern sollte, ich habe mein letztes Ziel vor 3 Wochen (Marburg) gar nicht erreicht, weil es einfach in Giessen nicht mehr weiterging, Anschlusszüge erreiche ich sowieso fast nie und ich kann nicht mehr zählen, wie oft meine Fernzüge unterwegs stehengeblieben sind.
  • Auto? Bei den Kosten, den Staus durch die vielen Baustellen und auch wegen der Umwelt wirklich nicht gut. Nach HH sind es weit über 500 Km und da brauche ich ja 6 – 7 Stunden einfach.

Ich liebe HH und das war mit ein Grund, warum ich diese Maßnahme Vor-Ort zugesagt habe, aber ich hoffe dennoch, dass Corona die Sache auch für den Kunden auf Remote zwingt. Doch die Kunden wollen eben wieder verstärkt von Remote weg. Gestern habe ich von einem Schulungspartner, für den ich die letzten Wochen UML und Java bei Fachinformatikern geschult habe, einen Hilferuf bekommen. Denn rein zufällig soll er in einigen Tagen für einen Teil dieser Gruppe eine Cobol-Schulung halten. Mein Schulungspartner ist nun Cobol-Spezialist und macht das seit gut 35 Jahren – früher Host und mittlerweile unter Linux. Er ist also in Cobol fitter wie ich und der Hilferuf ging nicht um konkrete Cobol-Fragen und auch nicht darum, ob ich das übernehmen könne.

Es ging darum, dass beim Kunden neue Corona-Regeln in Kraft getreten sind. Die Gruppe, die Cobol in den Räumlichkeiten des Kunden (einer Bank) lernen soll, besteht aus 4 Fachinformatiker-Azubis und dem Trainer (besagtem Schulungspartner). Wenn in der Schulungszeit auch nur ein Corona-Fall bei einem der 5 Leute auftritt, besteht für die gesamte Gruppe ein Betretungsverbot der Räumlichkeiten des Kunden für die kommenden 5 Tage. Nun hatte ich die Azubis ja über die letzten 5 Wochen immer 2 Tage die Woche in einer Berufsschule unterrichtet und ständig hat jemand wegen Corona gefehlt. Ich selbst habe am letzten Tag auch ein Andenken mitgenommen – trotzt Mehrfachimpfung/Boostern. Was mir nur zufällig aufgefallen war, denn meine Symptome waren so, dass ich normalerweise nie auf die Idee gekommen wäre, mich zu testen oder gar krankzufeiern. Rein die Sensibilität aufgrund des Corona-Hotspots Schule hat dazu geführt, dass mir die Möglichkeit überhaupt in den Sinn gekommen ist. Aber sei es drum – auch wenn die aktuelle Corona-Variante wohl bei 99,9% der Infizierten entweder nicht bemerkt wird oder nicht an die Auswirkungen eines Sommerschnupfens heranreicht – wenn so strikte Zugangsregeln bzw. Isolationsregeln etc. gelten – wie soll man dann noch Maßnahmen vor Ort planen können?

In dem Fall meines Schulungspartners ist die Planung einfach – sie werden vor Ort beginnen (erzwungen vom Kunden) und dann ist es nur die Frage, an welchen Tag abgebrochen wird. Der einzige Grund, warum das im besten Fall durchgehen kann ist, dass die Azubis Ihre Corona-Infektion bei mir in der Schulung bereits hatten und gerade immun sind. Bis zur nächsten Variante des Virus. Aber wie gesagt – vermutlich wird die Schulung abgebrochen und dann muss halt auf remote umgestellt werden. Theoretisch. Denn im Fall von Cobol wird das auf dem Host verwendet oder unter Linux, die Azubis müssen aber im Remote-Fall Notebooks der Firma verwenden, unter denen dann ein Host-Zugriff oder Linux und die verwendete Cobol-Distribution nicht laufen. Der Kunde lässt also Remote quasi technisch scheitert, verbietet aber Vor-Ort mit hoher Wahrscheinlichkeit. Quadratur des Kreises.

Um kurz abzuschweifen – ich habe OpenCobolIDE, MinGW und ein Docker-Image für Cobol als Lösung vorgeschlagen, um Cobol dann unter Windows bei den Azubis zum Laufen zu bringen und gerade die Sache mit dem Docker-Image gestern erstmal selbst getestet, um das nächste Woche selbst neu in meine Schulung zu integrieren. Geht wunderbar und ist quasi die Verbindung der Vergangenheit (Cobol) mit der Gegenwart (Docker). Genau da sehe ich auch in meiner sehr Laienhaften Betrachtungsweise den Hauptsinn von Docker, denn so nutze ich Docker ja auch für Cordova bei meinen Vorlesungen an der TH Bingen.

Aber um die Sache zum Abschluss zu bringen – ich habe die letzten Wochen Kundenwünschen nach Vor-Ort-Maßnahmen wieder zugestimmt, werde das aber beenden. Solange ich es mir leisten kann, werde ich wieder auf reines Remote zurückgehen. Die fehlende Planungssicherheit, die aktuell unmöglichen Reiseumstände und auch, dass mich Corona trotz Boostern und extremer Vorsicht erwischt hat (auch wenn ich keine wirklichen Symptome mitgenommen habe), geben mir keine andere Wahl. Freiberufliche Arbeit muss extrem flexibel sein und richtig planen kann man nie – aber so extreme Unsicherheit ist mir zu viel. Zumal auch das gesamte Risiko bei mir liegt. Wenn ich Corona bekomme, muss ich die Maßnahme abbrechen. Entweder weil es der Kunde oder die Politik immer noch 5 Tage Isolation fordert – auch ohne Symptome (da ist Deutschland leider noch nicht so weit wie etwa Österreich, wo diese Maßnahme endlich abgeschafft wurde). Remote arbeite ich einfach weiter. Oder die Maßnahme wird abgebrochen, weil irgendjemand in der Gruppe Corona hat. Das explodierende Risiko von Reiseproblemen muss ich auch noch tragen. Nein, so geht es einfach nicht, wenn auf der anderen Seite Remote alles einfach und sicher macht.

Ende des Semesters an der TH Bingen

Letzten Donnerstag haben die Studenten meiner Blockveranstaltung zur Entwicklung von plattformneutralen Apps an der TH Bingen ihre Praxisarbeiten vorgestellt. Von den ursprünglich gut 25 – 30 Studenten waren am Ende der Remote-Blockveranstaltung über 6 Tage zu Beginn des Semesters noch so etwa 15 – 20 übrig, von denen etwa ein Duzend dann auch das Projekt abgegeben und in einer Teams-Sitzung vorgestellt haben. Zum Teil haben mich die Apps richtig beeindruckt.

Heute stelle ich noch die Bewertungen ein, schreibe meine Abrechnung und dann ist auch für mich meine Semester an der TH Bingen beendet. Mal sehen, ob ich diese Veranstaltung in den kommenden Semestern noch einmal halte, denn die Basis Cordova fällt so langsam ein bisschen aus der Zeit – auch wenn die verwendeten Webtechnologien und das Cordova-API einwandfrei funktionieren. Aber auch die Fachbereiche an der TH Bingen werden umstrukturiert und Mobile Computing, wo diese Veranstaltung bisher untergebracht war, wird in die „normale“ Informatik eingegliedert. Aber ich würde schon gerne wieder an der Hochschule eine Vorlesung halten – bis auf die extreme Bürokratie und maximal rückständige Verwaltung macht das immer wieder Spass.

Anagramm – nicht Anna gram

In der übernächsten Woche stehen wieder Videoaufnahmen für LinkedIn Learning an, aber heute gibt es erst einmal wieder einen neuen Entwicklertipp der Woche zu Python. Es geht darum, was ein Anagramm ist und wie man mit Python dies überprüfen kann.

Was ein Anagramm ist, kann man einfach beschreiben. Keinesfalls steht es dafür, dass irgendeine Anna gram ist, sondern es ist eine Buchstabenfolge, die durch reine Umsortierung der einzelnen Buchstaben aus einer anderen Buchstabenfolge entsteht. So eine Umsortierung kann im Rahmen der Kryptografie interessant sein. Oder auch bei Vorgaben, dass ein neues Passwort nicht einfach ein Anagramm eines bisherigen Passwortes sein darf. Diese Anwendung greife ich möglicherweise auf und werde darauf vielleicht im Rahmen der oben schon angedeuteten kommenden neuen Videoaufnahmen für LinkedIn Learning zurückkommen. Mal sehen – da bin ich im Moment am Vorbereiten.

Objektorientierte Programmierung mit PHP 8

Das Update von meinen Schulungsunterlagen „Objektorientierte Programmierung mit PHP 7“ beim Herdt-Verlag ist heute unter dem naheliegenden Titel „Objektorientierte Programmierung mit PHP 8“ veröffentlicht worden. Entsprechend der aktuellen PHP-Version ist alles auf PHP 8 bzw. 8.1 aktualisiert worden. Dazu gab es noch ein paar Erweiterungen und Anpassungen und damit sollten die Unterlagen für längere Zeit auf dem aktuellen Stand sein.

Auf das Dateisystem zugreifen – neu im Tutorial zu Python

Es gibt wieder einen neuen Entwicklertipp der Woche zu Python bei LinkedIn Learning. Es geht darum, wie man mit Python auf das Dateisystem des Rechners zugreifen kann, um dort Datei- oder Verzeichnis-Operationen durchzuführen. Die beiden Module pathlib und os.path sind für Sie die wahrscheinlich wichtigsten Einstiegsstellen.  Dabei beschreibt pathlib einen objektorientierter Ansatz, um auf das Dateisystem zuzugreifen, während os.path einen, sagen wir mal, traditionellen Weg bereitstellt. Sie haben viele ähnliche Funktionen oder deckungsgleiche Funktionalitäten und beide haben so ziemlich alles, was man so braucht, um auf dem Dateisystem zu arbeiten.

Erster Elster-Versuch :-(

Da ich ein paar Grundstücke bzw. Wohnungen habe, muss ich irgendwann die Daten für die Grundsteuerreform erfassen. Heute habe ich meinen ersten Versuch gestartet. Es war so schlimm wie erwartet :-(.

Erst einmal hat Elster behauptet, ich hätte JavaScript deaktiviert. Mehreres Neuladen der Seite hat das System dann von dem Irrtum überzeugt.

Dann konnte ich die Adresse meiner Eigentumswohnung nicht eingeben. Denn die befindet sich in einem großen Wohnblock und der hat sowohl mehrere Hausnummern als auch sogar zwei Straßen in der Adresse. Keine Chance. Alternativ habe ich aus dem Grundbuch Flurstück etc. eingetragen. Aber irgendwie kann Elster das nicht, wenn beide Angaben gemacht werden. Wenn ich die Fehlermeldung richtig verstehe.

Die Krönung ist, dass ich die Daten, die das FA von mir sowieso hat, noch einmal von Hand eingeben muss. Name, Adresse, Steuernummer, Steuer-ID, Geburtsdaten, …

Geht es noch? Das ist schon alles vorhanden und ich muss es quasi „nachplappern“, damit es abgenickt wird?

Unmöglich.

Überhaupt verstehe ich diversere Bezeichnungen und Angaben nicht, die da in Elster verwendet werden. Aber das ist mein Problem – ich bin einfach zu blöde für dieses Beamtendeutsch.

Erst einmal habe ich das Formular nur gespeichert und vielleicht verstehe ich irgendwann auch, was das angeblich falsch ist oder fehlt. Und wenn nicht – dann sind die Angaben halt unvollständig oder falsch. Es werden auch bei den meisten anderen Nutzern garantiert so viele Angaben falsch sein, dass niemand die Daten je sinnvoll verwerten wird.

Terminalinhalt mit Python zur Laufzeit Plattformneutral leeren

Der neue Entwicklertipp der Woche zu Python ist bei LinkedIn Learning freigeschaltet. Es geht darum, wie man den Terminalinhalt zur Laufzeit leeren kann. Denn das ist nicht so ganz trivial bzw. einfach mit einer Python-Anweisung möglich. Denn wenn man in einem Terminal arbeitet, kennt Python keinen integrierten Befehl, um dieses Terminal dynamisch zu löschen, das heißt, direkt aus einem Skript heraus. Sie können selbstverständlich im Terminal einen Betriebssystembefehl wie cls unter Windows als clear unter Linux eingeben und damit wird das Terminal geleert. Aber das machen Sie aktiv im Terminal nach oder vor dem Ausführen des Skripts. Es gibt diese Befehle aber so nicht in Python.

Doch manchmal möchte man eben zur Laufzeit auch aus einem Skript das Terminal leeren und dann wieder oben mit einem frischen Terminal beginnen. Das kann man nachprogrammieren und die Basis ist das Modul os.system. Damit kann man aus Python einen Betriebssystembefehl aufrufen. Wenn man zudem vorher das Betriebssystem abfragt, kann man diesen dann auch in Abhängigkeit von dem Betriebssystem passend auswählen und das Skript Plattformneutral erstellen.

Bruchlandung der Elster

Ich bin nicht sicher, ob ich Schadenfreude empfinden soll, weil die „diebische“ (gerade die Assosaztion in einem Beitrag zu dem Disaster gelesen und für gut befunden) Elster eine Bauchlandung hingelegt hat, die das Zeug zum Klassiker hat. Denn ich muss ja auch noch mit diesem Steuer-Virus versuchen, den Forderungen des Finanzamtes nach Auskunft über Grund und Boden Rechnung zu tragen. Aber wenn ich mich an die Ausbildung diverser Leute erinnere, die von mir umgeschult wurden und danach dann an Elster arbeiten sollten – deren Niveau markiert immer noch den unteren Rand aller Programmierer, die ich jemals ausgebildet habe. Von daher wundert mich das Versagen von Elster wirklich nicht.

Give me five

Man kann einfach nicht genug Bildschirme haben und ich habe jetzt an der Workstation deren 5. Die bisherigen 4 waren ja wirklich arm :-).

Aber bevor es ausartet – Monitor 5 wird als Zweitmonitor bei meinem Matebook Einsatz finden. An der Workstation habe ich die Sache nur ausprobiert.

Monitor 5 ist nämlich ein altes Tablet, für das ich einen Einsatzzweck gesucht haben. Ich bin ein Freund davon, alte Dinge solange wie möglich zu verwenden – sofern es sinnvoll ist. Was bei alten PCs nur begrenzt der Fall ist, denn die Anforderungen moderner Programme können die einfach nicht mehr erfüllen und die Performance macht meist auch keinen Spass (selbst mit Linux). Der meist recht hohe Stromverbrauch alter Rechner tut ein Übriges.

Aber bei Monitoren ist das etwas anderes. Bei meinem uralten Terra-Notebook habe ich einen Fernseher, den ich als solchen nicht mehr benötige, als Zweitmonitor im Einsatz. Geht wirklich gut, solange man nicht dauerhaft damit arbeitet.

Und dann habe ich eben noch ein kleines Tablet übrig, was eigentlich nur als Backup-Gerät für Verifizierungen verschiedene Art (2-Wege-Zertifizierung, Onlinebanking etc.) sein Dasein fristet. Zumal dessen Display gesprungen ist und die Leistung wirklich aus der Zeit gefallen, kann man es kaum noch für das Kerngeschäft eines Tablets verwenden. Gestern kam mir die Idee in den Sinn, ob man das Tablet aber nicht als Zusatzmonitor an einem PC verwenden könnte. X-Umleitung bei Linux und auch Remotedesktop bei Windows lassen so Sachen ja zu und warum sollte das bei einem Android-Gerät ein Problem sein? Ist es auch nicht und es gibt diverse Möglichkeiten. Ich habe auf die Schnelle Spacedesk ausprobiert. Treiber für Windows und App auf dem Tablet installiert und Out-of-the-box wurde das Tablet als neuer Monitor erkannt und eingerichtet (über das lokale Netzwerk – es soll aber auch über USB funktionieren, was ich noch nicht ausprobiert habe ). Total easy und problemlos. Ich bin begeistert.
Ich werde das Tablet aber dennoch an der Workstation wohl kaum einsetzen, aber wenn ich unterwegs mit dem Matebook Schulungen halte, meinen Bildschirm teile und kein Zweimonitor da ist, dann ist das Tablet als Zusatzmonitor definitiv eine wunderbare Option.

Energie-autark

Es hat schon massive Vorteile, wenn man selbständig ist. Vor allen Dingen, wenn man Freelancer ist und immer wieder Lücken zwischen den fixen geschäftlichen Terminen hat. Ich im Moment nur jeden Montag und Dienstag wegen Schulungen in Wiesbaden gebunden und dementsprechend konnte ich eine kleine Radtour über 4 Tage mit meinem Sohn reinschieben. In Verbindung mit dem aktuellen 9-EUR-Ticket der Bahn (nur für mich – Sohnemann hat  sowieso Semesterticket) wollten wir am Mittwoch mit der Bahn nach Marburg und von da die Lahn herunter bis Koblenz und von da den Rhein wieder nach Hause fahren. Wie bei mir üblich, hat es mit der Bahn aber wieder nicht geklappt. Es ist irgendwie ein „Running gag“, aber ich kann nicht ohne Pannen mit der Bahn fahren. Gefühlt sind es 99% aller Fahrten, bei denen es Probleme gibt.

Dieses Mal ging es so los, dass der Zug ab Bodenheim gleich Verspätung hatte und es so aussah, dass wir gleich den Anschlusszug nach FFM verpassen würden. Aber der hatte auch Verspätung. Was aber den Umstieg in FFM zu einer haarscharfen Sache werden lies. Ging ganz knapp zu unseren Gunsten aus. Im dem Zug kam dann heraus, dass der Zug in Gießen noch geteilt wird und unser Teil nicht nach Marburg fahren würde. Sind also samt den Rädern in Friedberg in den anderen Teil vom Zug umgestiegen. Nur ist der Zug dann in Gießen stehen geblieben, denn wegen einem Stellwerkproblem ging gar nichts mehr Richtung Marburg. Wenn ich das richtig gesehen hatte gab es einen Bus-Ersatzverkehr, aber da kann man keine Fahrräder mitnehmen.

 

 

Bei so einer Urlaubsreise sind solche Probleme eher lustig, denn wir sind dann einfach ab dem Ort des Zusammenbruchs der Bahnverbindung die Lahn runter gefahren. Und der ganze Tripp war wirklich nett. Aber ich habe erneut die Bestätigung, dass man beruflich die Bahn nicht nutzen kann. Wie soll ich denn zuverlässig, rechtzeitig und vor allen Dingen entspannt bei einer Schulung bzw. einem Kunden ankommen, wenn so etwas wirklich so gut wie immer passiert?

Wieder zuhause, war mein neustes Spielzeug angekommen – ein mobiles Solarpanel samt einer Power Station. Zusammen eigentlich viel zu teuer (gerade, weil die beiden Geräte mobil sind), aber es macht mir Spass, einfach selbst Strom zu produzieren. Meine Jungs wollen die Dinger auf Roadtripps mit dem umgebauten Kastenwagen/Mincamper nutzen und da ich den auch bei Jobs für mich einsetzen will (wenn sich das mal anbietet), haben wir jetzt bei Bedarf genug Strom für SmartPhones als auch Notebooks und Tablets. Zudem will ich ja auch beruflich mein eBike mehr einsetzen und wenn ich das rein per Sonne laden kann, wäre das Klasse. Ich habe erste Tests eben durchgeführt und leider ist es etwas zu bewölkt. Aber es hat zumindest direkt mit dem Laden funktioniert und ich werde sehen, wieviel Watt ich bei strahlendem Sonnenschein produzieren kann. Theoretisch kann das Panel 100 Watt liefern, die Power Station maximal mit 75 Watt geladen werden und da noch 2 USB-Ladebuchsen mit je 15 Watt direkt am Panel angeschlossen sind, sollte ich den gesamten Strom abgreifen können. Ich plane, dass ich in Zukunft alle Smartphones, Notebooks, Tablets, Powerbanks etc. wenn möglich über die Sonne lade. Und eben das eBike. Andere Geräte wie meine Pumpe für das kleine Planschbecken, etc. kann die Power Station auch direkt betreiben. Zusammen mit einem festen Panel, dass ich schon gut 10 Jahre habe, hoffe ich bei optionalen Bedingungen auf über 200 Watt. Mein festes Panel sollte alleine schon 200 Watt liefern, musste aber damals leider aus baulichen Gründen suboptimal angebracht werden. Dennoch – ich habe es jetzt über 10 Jahre und mittlerweile sollte es die Kosten erwirtschaftet haben, wenn ich mich nicht verrechne.

Tipp & Tour

In ein paar Minuten geht es auf einen kurzen Radurlaub mit meinem Sohn. Ein kleiner Nachschlag unserer Vierländertour rund um den Bodensee. Dieses Mal aber nur 4 Tage und weitgehend in der Heimatregion. Es soll von Marburg die Lahn und den Rhein entlang gehen. Ich hoffe, dass die Fahrradmitnahme mit dem Zug nach Marburg auch geht, denn mit der Bahn habe ich überwiegend schlechte Erfahrungen. Wir werden sehen. Vorher habe ich aber noch gecheckt, welcher  Entwicklertipp der Woche zu Python heute bei LinkedIn Learning freigeschaltet wurde. Es geht die Woche darum, wie man per os-Modul auf die Betriebssystemschnittstelle zugreifen kann.

eBike

Auch wenn ich vor allen Dingen seit Corona kaum noch beruflich unterwegs bin, habe ich davor sehr viel Zeit mit beruflichen Reisen verbracht. Diverse Flugreisen (vor allen Dingen nach Graz), hin und wieder mit der Bahn und vor allen Dingen mit dem Auto. Zwar hatte ich schon vor Corona einen erheblichen Anteil meiner Arbeit zuhause bzw. online erledigt (Bücher schreiben, zum Teil  Videotraining aufnehmen, Schulungen online betreuen, etc.), aber Präsenzschulungen waren immer ein großer Prozentsatz meiner Arbeit. Für die weiten Strecken blieb (und bleibt) mir nur Auto, Bahn oder Flieger und mit Abstrichen das Motorrad, aber bei kurzen Distanzen habe ich schon um das Jahr 2015/2016 ein eBike (1. Bild) in Erwägung gezogen und auch irgendwann gekauft. Nur ist mir das nach etwa einem halben Jahr bei meinem 3. beruflichen Einsatz des eBikes bereits beim Kunden in Eschborn aus der geschlossenen Garage (trotz Schloss) gestohlen worden. Damit war das Thema für mich erst einmal durch.

Aber während Corona bin ich kaum aus dem Haus gekommen und habe im Grunde immer nur zwischen meinen Büros in Eppstein und Bodenheim gependelt. Das sind mit dem Auto etwa 35 – 45 Kilometer (je nachdem, wie man fährt) und die Strecke kann man auch mit dem Fahrrad fahren. Das habe ich hin und wieder auch gemacht. Nur ist die einfache Strecke ok, aber hin und zurück an einem Tag mit dem Biobike heftig. Das kann man von der Streckenführung mit dem Rad auf etwa 33 Kilometer verkürzen, aber dann hat man hin und zurück  knapp über 65 Kilometer bei über 600 Höhenmetern und teils ruppigen Waldwegen. Das ist an einem Tag schon nicht ohne – zumindest für mich. Fahre ich die Strecke mit einem kleinen Umweg, komme ich nur auf etwas mehr als 320 Höhenmeter hin und zurück, aber dafür auf fast 80 Kilometer Strecke. Auch nicht ohne an einem Tag.

Resultat – ich habe vor einiger Zeit mein altes MTB mit einem Motor nachrüsten lassen und damit kann ich die Strecke an einem Tag locker bewältigen. Was ich in der Zwischenzeit auch mehrfach gemacht habe. Ich habe für die Umrüstung gut 1.500 EUR bezahlt und dann noch mal für Nachrüstungen und Reparaturen die letzte Zeit gut 500 EUR bisher. Mein Ziel ist, dass sich das eBike aber dennoch amortisiert. Rein theoretisch sollte das bei etwa 4.000 Kilometer der Fall sein, wenn ich die statt mit dem Auto mit dem eBike gefahren bin.

Mal sehen, ob die Rechnung aufgeht. Aktuell bin ich Montags und Dienstags in Wiesbaden bei der Ausbildung von Fachinformatikern. Die Strecke dahin bietet sich an, mit dem eBike gefahren zu werden. Am letzten Dienstag habe ich das ausprobiert und heute bin ich zum 2. Mal mit dem eBike gefahren. Mit dem Auto ist der einfache Weg 26 Kilometer. Also hin und zurück sind das über 50 Kilometer und wenn man den realistischen Preis von 50 Cent pro gefahrenem Autokilometer ansetzt, spart eine Fahrt mit dem eBike zur Schulung pro Tag 25 EUR. Die 2 Kilometer Ungenauigkeit kompensieren die Stromkosten. Dabei verkürzt sich der Weg mit dem Rad auch auf etwa 20 Kilometer, da man diverse Abkürzungen durch Felder nehmen kann.

Also ist die Verwendung von dem eBike ein Win-Win-Win-Win-Situation. Ich spare Geld, bewege mich (auch wenn das natürlich nur begrenzt als Sport zu sehen ist). bin an der frischen Luft und schone die Umwelt.

Bei guten Wetter und Strecken unter 30 Kilometer ist das eBike definitiv eine Alternative zum Auto, die ich mittlerweile so oft wie möglich nehme. Aber da ist noch viel Luft nach oben, denn leider siegt auch häufig der Schweinehund.

Manche verstehen unter „Python“ wohl etwas anderes :-)

Bei LinkedIn Learning habe ich ja diverse Videotrainings zu Python und ergänzender Techniken bzw. Themen aufgenommen und auch einen regelmäßigen Entwicklertipp der Woche zu Python am Laufen. Dazu kommt neben häufigen Python-Schulungen noch ein Buch:

Programmierung in Python - Ein kompakter Einstieg für die Praxis - Steyer, Ralph

Programmierung in Python

Programmierung in Python – Ein kompakter Einstieg für die Praxis
  • Autor: Steyer, Ralph
  • 978-3-658-20705-2
  • Umfang in Druckseiten: 257
  • Verlag: Springer Fachmedien Wiesbaden GmbH
  • Erscheinungsjahr: 2018

Aber andere Leute verstehen „Python“ wohl etwas anders bzw. universeller. Ein Vermieter hat nach dem Auszug seiner Mieter in der Wohnung drei zurückgelassene Pythons gefunden. Stellen sich Fragen:

  1. Waren die Mieter Programmierer?
  2. Auf welche Programmiersprachen sind sie umgestiegen, dass die Pythons überflüssig waren?

C# Grundlagen der Programmierung mit Visual Studio 2022

Seit einigen Jahren erstelle ich für den Herdt-Verlag Schulungsunterlagen. Dabei habe ich einige der Schulungsunterlagen von anderen Autoren übernommen, andere aber auch komplett neu entwickelt und geschrieben.

Der Herdt-Verlag ist übrigens mein einziger Kunde, dessen Sitz an meinem Wohnort ist. Weder in Bodenheim noch in Eppstein habe ich sonst jemals einen Kunden gehabt. Wenn ich einen Vertrag unterzeichnet habe, fahre ich mit dem Rad kurz um die Ecke und werfe diesen direkt ein.
Schulungsunterlagen von Herdt nutze ich selbst aber auch schon viele Jahre länger und als ich nach Bodenheim gezogen bin, habe ich das zum Anlass genommen, da einfach meine Expertise vorzustellen.
Und so ist es dazu gekommen, dass heute die Unterlagen C# Grundlagen der Programmierung mit Visual Studio 2022 veröffentlicht wurden. Das ist der überarbeitete Nachfolger der Unterlagen für Visual Studio 2019 und eine der Unterlagen, die ganz früher von einem anderen Autor erstellt wurden. Aber ich habe sie schon vor mindestens 7 oder 8 Jahren übernommen, mehrfach überarbeitet und mittlerweile sind die meisten Bestandteile von mir abgeändert oder neu hinzugefügt worden.

Moduleinbindung absichern

Ich warte gerade auf meine „Gäste“ (Studenten) zur Teams-Sitzung der TH Bingen. Heute ist die letzte Fragestunde, bevor diese die Semesterarbeit abgeben sollen. Diese Fragestunde ist aber optional und vielleicht kommt auch niemand. Nachdem ich gestern mit dem ebike nach Wiesbaden zu meiner Schulung der Fachinformatiker gefahren bin, bin ich danach weiter nach Eppstein zum Training und habe hier übernachtet. Nach der Teams-Sitzung geht es dann wieder mit dem ebike zurück nach Bodenheim. Davor habe ich aber wie am Mittwoch üblich bei bei LinkedIn Learning geschaut, welcher Entwicklertipp der Woche zu Python heute freigeschaltet wurde. Thema ist, wie man die Moduleinbindung absichern kann. Denn wenn man in Python Module einbinden will, braucht man manchmal Informationen über die Module und muss auch ggf. reagieren, wenn eine Einbindung schiefgeht. Eventuell muss man dann andere Module einbinden oder von einem anderen Ort.

Authentifizierungs-Chaos

Im Moment sieht es so aus als würden die meisten IT-Systeme mit 0-Aufwand zu hacken sein und Zugangsdaten bzw. persönliche Informationen von nahezu jeder Person für ganz kleines Geld in öffentlichen Marktplätzen verkauft. Datenschutz bzw. Datensicherheit war gestern, auch wenn „an der Oberfläche“ (also in Medien und Politik sowie der Wirtschaft) totale Hektik und Aktionismus hinsichtlich der Themen abgebrannt wird. Ein Ausfall der bargeldlosen Bezahlsysteme ist sowieso nur noch ein „Running gag“, bei dem bloss die Frage offen ist, wann für Hacker mal wieder Zahltag sein soll? Wie oft melkt man das System, ohne dass die Gemolkenen die Lust an der Sache verlieren und wieder zu Bargeld greifen? Das Verschlüsseln oder Blockieren von IT-Systemen zwecks Gelderwerb über die anschließende Freigabe ist auch ein recht einfaches Geschäft, wie mir scheint.

Aber eigentlich brennt mir eine andere Sache unter den Nägeln – mein SmartPhone hat einen Riss im Display und ich muss sicherstellen, dass ein endgültiger Ausfall keine zu unangenehmen Konsequenzen haben wird. Denn leider werden immer mehr Aktionen auf SmartPhones bzw. Tablets verlagert.

Meine Passworte habe ich mittlerweile gut in einem Passwortsafe gespeichert und heute den auch auf alle mobilen Geräte sowie meine PCs und das NAS (was aber sowieso schon der Fall war) auf dem aktuellen Stand synchronisiert. Und ich habe jetzt Firefox auf allen mobilen Geräten installiert und alle meine Geräte über das Firefox-Konto synchronisiert. Das ist sicher, bequem und vor allen Dingen kann der Ausfall eines Geräts keine wichtigen Informationen löschen. Auch wenn ich in Firefox keine wirklich sensiblen Zugangsdaten speichere – Zugangsdaten für Webseiten auf dem Niveau von (a)sozialen Netzwerken, meinen Blogs etc. speichere ich da schon. Diese Daten sollten überall verfügbar sein – und natürlich dennoch verschlüsselt und sicher.

Dabei käme ich bei Webseitenzugriffen und der Eingabe von Zugangsdaten mit PCs aus, aber das SmartPhone ist für gewisse Aktionen wie der zunehmenden 2-Wege-Authentifizierung notwendig. Dem kann man sich einfach nicht entziehen. Alles soll sicherer werden (und wird scheinbar immer unsicherer) und bequemer (und wird einfach nur umständlicher).

Dem ganzen Prozess begleitet ein nicht mehr zu durchschauender Wust an propietären Zugangsmechanismen von Banken und Versicherungen, geschlossenen Webseiten etc.

Gerade bei Banken und Versicherungen ist die Situation einfach nur grauenvoll. Ich habe das Gefühl, dass jede Bank ihr eigenes System entwickeln und dann auch noch mehrere Verfahren anbieten muss, die zudem laufend geändert/aktualisiert werden. Wenn man nicht mehrere Lesegeräte kaufen will (die dann entweder nicht zu finden sind, man sowieso nie dabei hat oder wo die Batterie im unpassenden Zeitpunkt leer ist), kommt man kaum um die Installation von mehreren Apps herum. Was wieder diese elende Verbindung zu SmartPhone/Tablet erzwingt. Die Apps funktionieren dann aber teils links herum, teils rechts herum und von heute auf morgen nicht mehr wie gewohnt. Jede App für sich ist dabei vielleicht noch ganz brauchbar, aber diese proprietären Eigenheiten jeder App und die Sonderregeln von Banken etc. sind einfach nicht tolerierbar. Warum nicht ein einheitliches System bei allen Banken bzw. Versicherungen? Letztendlich muss man wohl davon Abstand nehmen, mehrere Bankkonten zu haben.

Aber vor allen Dingen hat man eben ein echtes Problem, wenn das SmartPhone/Tablet der Wahl

  • defekt ist,
  • verlegt wurde oder sonst nicht greifbar ist,
  • keinen Akku hat,
  • verloren geht oder
  • auch nur ein neues Gerät angeschafft werden soll.

Denn leider ist es oft nicht so einfach, identische Zugänge mit mehreren Geräten einzurichten. Manchmal geht es, manchmal sogar recht einfach, meist aber ist aus mühevoll oder wird gar von den Anbietern unterbunden. Nach dem Motto

„Neues Gerät oder andere App -> alte Zugangsmöglichkeiten werden gelöscht!“.

Was denken die sich denn? Kommen die nicht auf die Idee, dass man Backup-Zugangsmöglichkeiten unbedingt braucht, um bei Verlust des SmarptPhone/Tablets wegen der obigen Situationen nicht von wichtigen Aktionen getrennt zu werden? Selbst wenn man per Webseite oder Hotline im Katastrophenfall den Zugang irgendwie freibekommt. Das ist aufwändig und dauert garantiert zu lange.

Ich habe nun heute mit viel Aufwand hinbekommen, dass ich zu meinen Bankkonten mindestens ein oder zwei Backup-Geräte registrieren konnte. Aber auch nicht überall.

Und dann bleibt die leidige Tendenz zu der 2-Wege-Authentifizierung bei vielen Webseiten. Auch da ist es nicht so einfach, eine halbwegs taugliche App zu finden und vor allen Dingen redundante Bestätigungsmöglichkeiten einzurichten. Mit dem Authentificator von Microsoft habe ich es bei ein paar wichtigen Zugängen hinbekommen und Authy bei zwei anderen. Aber dummerweise bekomme ich die beiden aber nicht in eine App, denn ich hätte gerne nur eine App und die auf allen meinen mobilen Geräten mit identischer Funktionalität. Aber zumindest konnte ich den Mist schon mal auf zwei Apps zusammenführen und die über mehrere Geräte synchron bekommen. Das sollte jetzt halbwegs sicher sein, wenn mir mein SmartPhone wirklich abraucht.

Die ganze Aktion hat dazu geführt, dass ich mal wieder Apps entmistet habe und auch im Browser Erweiterungen gelöscht, die einfach unnötig sind. Man installiert über die Zeit einfach zuviel Zeug, was irgendwann nicht nur Ressourcen belegt, sondern auch im Weg ist und die Übersichtlichkeit verhindert.

Der Bedingungsoperator in meinem Tutorial zu Python

Ab der Woche habe ich eine regelmäßige Schulungssession jeweils am Montag und Dienstag jeder Woche gestartet. Die geht über mehrere Wochen. Eine Präsenzschulung, was in den aktuellen Zeiten bemerkenswert ist. Aber in Wiesbaden und damit entfallen eine längere Anreise (ich plane sogar, hin und wieder mit dem ebike da hinzufahren) sowie eine externe Übernachtung. Die regelmäßigen Slots werden dann Mittwochs durch die wöchentlichen Veröffentlichung meiner Entwicklertipp der Woche zu Python ergänzt. Der heute bei LinkedIn Learning freigeschaltete Entwicklertipp hat den Bedingungsoperator zum Thema.

Wenn man einen Programmfluss aufgrund einer Bedingung steuern möchte, nutzt man in den meisten Programmiersprachen eine if-Anweisung oder eine if-else- bzw. elif-Anweisung oder so irgendwas in dieser Art oder  in anderen Sprachen wie Python gegebenenfalls auch switch-case oder so irgendwas.

Es gibt aber in fast allen Programmiersprachen einen sogenannten Bedingungsoperator. Man nennt ihn auch den tenären Operator, respektive auch den Konditionaloperator oder den triadischen Operator. Und so etwas gibt es auch in Python.

Pressefreiheit und westliche Werte müssen nur die Anderen einhalten

Der Skandal rund um Wikileaks und Julian Assange zeigt seit Jahren die Doppelmoral der Gesellschaft. Auf der einen Seite tun vor allen Dingen die USA so als wäre sie die Verfechter von Freiheit und Gerechtigkeit. Aber wenn es um die eigenen Verbrechen geht, sieht die Sache anders aus. In Russland darf das Wort „Krieg“ hinsichtlich des Einmarsches in der Ukraine nicht verwendet werden, in China sollte man sich wegen Uriguren zurückhalten und in islamischen Staaten ist Diversität lebensgefährlich. Wer aber die Verbrechen der USA im Krieg belegt, wird da zum  Staatsfeind, der gegen jedes Recht verleumdet und verfolgt wird. Damit geht jede Legitimation verloren. Dass die Briten schon immer ein williges Büttel der USA waren, macht die aktuelle Regierung nur zu deutlich und zwingt die Justiz zu politischen Urteilen, denn die britische Innenministerin Priti Patel hat aktuell die Auslieferung von Julian Assange an die USA abgesegnet.