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.

Zum Ende vom Internet Explorer

In den üblichen Fachzeitschriften finden sich diverse Artikel zum endgültigen Ende des Internet Explorers. Dabei merke ich, dass ich wohl alt werde. Wenn die Journalisten in den Blättern behaupten, dass der Internet Explorer für viele Leute der erste Browser und das Tor zum Internet gewesen wäre, kann ich mich nur wundern. Zitat:

Für eine ganze Generation war der Internet Explorer ihr erster Browser.

Wer hat denn jemals ernsthaft diese Krücke benutzt, außer Firmen, die ihre ganze Infrastruktur auf Microsoft ausgerichtet hatten? Der Internet Explorer war über seine gesamte Existenz bei IT-Fachleuten das (!) Beispiel eines schlechten Programms. Der klassische „Running Gag“, wenn etwas nicht oder nicht standardkonform funktioniert hat: „Internet Explorer“.

Natürlich kann ich dankbar sein, denn mit seinen ganzen Sonderwürsten und Schwächen hat der Internet Explorer Leuten wie mir die Basis für eine gute Auftragslage geschaffen. Hätte er sich standardkonform und wie die Konkurrenz verhalten, wäre uns viel Geld durch die Lappen gegangen.
Aber selbst den IE zu verwenden wäre mir im Traum nicht eingefallen. Niemals, denn mein erster Browser war der Netscape Navigator, der bereits vor dem IE verfügbar war (selbst Mosaic kannte ich noch) und  der war für eine ganze Generation von IT-lern tatsächlich das Tor zum Internet. Dem halte ich auch heute noch die Treue – auch wenn er jetzt halt Firefox genannt wird.

Vor der Hitze da – der neue Entwicklertipp

Das soll im Laufe der Woche immer heißer werden und darauf freue ich mich schon so richtig :-(. Denn mein Büro unter dem nicht-isolierten Dach wird dann vermutlich wieder die 40 Grad deutlich überschreiten – trotz einer kleinen, mobilen Klimaanlage. Aber zur potentiellen Abkühlung habe ich zumindest meinen „Pool“ schon mal vorbereitet.

Zumindest ist bei LinkedIn Learning der neueste Entwicklertipp der Woche zu Python heute schon vor der Hitze verfügbar. Thema ist die Anwendung der format-Funktion auf Strings in Python. Python stellt dazu diese mächtige und im Grunde auch recht einfach anzuwendende Funktion bzw. Methode bereit, um Variablen und deren Werte in einen String an einer bestimmten Stelle einzufügen und dabei die für die Ausgabe zu formatieren.

E-Mail-Spam – Kampf gegen Windmühlen

Es sah eine Zeit so aus als hätte ich die Flut an Spam-Mails etwas eingedämmt. Aber der Damm ist vor einigen Tagen wieder gebrochen und im Moment werde ich pro Tag mit gut 50 Spammails überrollt. Und das sind nur diejenigen, die durchkommen. Vermutlich wird die x-fache Menge bereits vorher abgefangen.

Klassisches Blockieren von Absendern und Domains funktioniert nicht mehr. Oder zumindest kommen eben noch unglaublich viele Dreckmails durch, weil nach meiner Erfahrung von den Gaunern derzeit nur Einmalmails verwendet werden. Ohne tatsächlichen Server hinter dem DNS-Namen zudem.

Das läuft vermutlich ähnlich wie bei Brute-Force-Angriffen. Aus Wortlisten werden Absendernamen und Domainnamen zusammengesetzt und dann die gleiche Mail zig-fach an eine E-Mail-Adresse geschickt. Der Betreff wird genauso generiert, aber da müssen natürlich die passenden Reizworte stehen. Und das ist dann die einzige Stelle, wo man außer Gray-Filtern funktionierende Filter ansetzen kann. Leider funktioniert auf meinem Server weder Gray-Filtern noch das Einrichten von Inhaltsfiltern. Ich habe keine Ahnung warum, aber ich kann und will meinen Server nicht von links auf rechts drehen mit der Gefahr, dass hinterher gar nichts mehr läuft. Der Preis ist aber, dass ich hier nur eine Brandschutzmauer der klassischen Art über Adressfilter und Standard-Tools wie SpamAssassin aufbauen kann.

Mein Python-Skript, das die letzten Monate Inhalte gefiltert hat, hat plötzlich Probleme gemacht. Da wurde an irgendeiner Stelle eine Aktualisierung oder Änderung im API oder meinen Protokolldaten des E-Mail-Servers vorgenommen und ich habe noch nicht raus, was deshalb einen Fehler auslöst. Deshalb habe die Skripte im Moment deaktiviert, wobei ich da sicher nochmal rangehe.

Bleiben noch die Mail-Agents, um damit Inhaltsfilter anzulegen. Die arbeiten ganz gut, nur muss eben erst einmal der passende Mail-Agent aufgerufen werden, der auch richtig filtert. Die Filter von Thunderbird greifen (und komischer Weise funktioniert bei  Thunderbird das Einrichten einer Zertifikatsausnahme auch wieder, nachdem ich die portable Version älterer Bauart einfach in einen anderen Ordner entpackt hat – und die wurde mittlerweile automatisch aktualisiert, aber es geht immer noch) bzw. die habe ich mittlerweile soweit angepasst, dass der meiste Dreck zuverlässig in den Spam-Ordner wandert.

Nur unter Android klappt das nicht so ganz bei MailDroid. Inhaltsfilter gibt es da nur gegen das Verschicken von Werbung für das Programm an 10 Kontakte. Das finde ich nicht gut und lasse es deshalb. Jetzt habe ich ein neues, kostenloses E-Mail-Programm für Android entdeckt. Nennt sich einfach „E-Mail“ von Edison Software (oder auch Edison-Mail) und macht auf den ersten Blick einen sehr guten Eindruck. Man kann mehrere Accounts einrichten (was out-of-the-box funktioniert hat) und ein sogenannter „Fokussierter Modus“ filtert nach meinen ersten Versuchen den Spam-Dreck auch auf dem SmartPhone ziemlich gut. Damit sollte das Problem entfallen, dass die Drecksmails zwar nicht belästigen, wenn ich zuerst den PC starte und Thuderbird aufrufe, aber wenn ich bisher zuerst auf dem SmartPhone geschaut hatte und dann der Schmutz sofort da war und das E-Mail-Postfach verdreckt hat.

Und ja – ich bin stinksauer auf diese Dreckschleudern und deshalb die wütende Wortwahl.

Erledigt

Die Aufnahmen für die Überarbeitung eines meiner Videotraining aus dem Jahr 2015 bei LinkedIn Learning ist durch. Auch wenn das Training noch in vielen Teilen aktuell war, da es um pures C geht und sich da in den letzten Jahren eigentlich nicht viel getan hat, war die Auffrischung doch aufwändig. Zwar habe ich diverse Videos beibehalten können, aber durch eine Umstrukturierung der Kapitel sind statt weniger Kapitel mit vielen Unterkapiteln nun 13 Kapitel daraus geworden. Und bei denen habe ich jeweils eine Challenge-Solution ergänzt. Das wird bei neuen Kursen von LinkedIn Learning immer mehr eingeführt und damit passt der Kurs auch vom Stil jetzt zu den neusten Kursen. Zudem habe ich einige lange Videos auf mehrere Videos aufgeteilt, Videos ein bisschen am Ende gestrafft, diejenigen mit veralteten Programmen und Ressourcen neu aufgenommen und Powerpoint-Slides neu gemacht. Wenn das durch die Postproduktion durch ist, wird vermutlich 50% des Kurses neu sein. Durch die vielen neuen Videos zu Challenge-Solution ist das Training auch nochmal gut 45 Minuten länger wie vorher – obwohl ich einzelne Videos sogar weggelassen und eben viele Videos gestrafft habe, indem ich die Abschlusssätze weggestrichen habe.

Und obwohl ich heute noch am Aufnehmen war, habe ich mir es nicht nehmen lassen, den Vormittag auf den Alteburger Markt zu gehen. Das ist ein traditioneller Viehmarkt zwischen dem Stadtrand von Eppstein und Heftrich, der 3x im Jahr stattfindet und auf den meine Familie schon seit Generationen geht. Allerdings ist der wegen Corona 2 Jahre komplett ausgefallen und heute war der 1. Alteburger seit über 2,5 Jahren.

IO 2

Die kommenden Wochen und Monate stehen ungewöhnlich viele Schulungen auf meiner Agenda. Sogar einige Tage mit Vor-Ort-Terminen sind dabei, was in Zeiten von Corona bemerkenswert ist. Diese sind allerdings bei mir in der Gegend und ich brauche damit nicht zu reisen. Die entfernten Termine sind die nächsten Monate alle remote. Aber in der Woche ziehe ich noch neue Aufnahmen wegen der grundlegenden Überarbeitung eines meiner Videotraining bei LinkedIn Learning durch.

Damit habe ich gestern schon begonnen, jedoch unter erheblichen Schwierigkeiten! Diese betrafen nicht das Training oder die eigentliche Aufnahme, sondern SharePoint. Wieder einmal, denn meine Probleme damit sind irgendwie ein Running Gag. Ich war gestern schon sehr früh in meinem Büro in Eppstein angekommen und habe soweit alles für die Aufnahmen eingerichtet. Da wir bei LinkedIn Learning mittels Office 365 und besagtem SharePoint zusammenarbeiten, habe ich mich da angemeldet. In dem eigentlichen SharePoint-Bereich tauschen wir alle Dateien aus. Was für mich bedeutet, dass ich da meine Videos hochlade und der Proofer diese dann kontrolliert. Auch Folien und Quelltexte (wobei die mittlerweile auf Github landen und hier nur redundant geführt werden) werden von mir dahin geladen. Dazu gibt es in Excel 365 eine Indexdatei für die Aufnahme, an der wir gemeinsam im Team arbeiten.

Bis 9:00 Uhr war alles ok. Dann bin ich plötzlich aus SharePoint geflogen mit der Meldung, dass ich keine Rechte hätte, auf diesen Content zuzugreifen. Es hat bis 15:00 Uhr gedauert, bis ein Techniker meinen Zugang freibekommen hat. Ich hatte bis dahin so ziemlich alles probiert, um von meiner Seite den Zugang wieder zu bekommen, was mir eingefallen und möglich ist.

  • Panikflagge bei LiL gehisst
  • abgemeldet und neu angemeldet
  • PC neu gestartet
  • Rechner mit Bereinigungsprogrammen gesäubert
  • mehrere Browser ausprobiert und zum Teil auch erst nachinstalliert
  • 3 verschiedene E-Mail-Adressen/Accounts, die alle (angeblich) legitimiert sind ausprobiert
  • 2 verschiedene PCs mit Windows 10 und Windows 11 ausprobiert und die ganzen Sachen kombiniert
  • Selbst einen Zugriff über SmartPhone versucht

Immer das gleiche Resultat. Auf allen neuen/gesäuberten Rechnern/Systemen gab es jeweils beim ersten Versuch des Zugriffs auf SharePoint eine Fehlermeldung, dass SharePoint ein Problem hat. Beim 2. Zugriffsversuch ist die weg, aber dafür mein Account zu. Jeder Account. Noch verwirrender – bei anderen Mitgliedern der Gruppe gab es m.W. keine Probleme.

Ich hasse SharePoint und bin dieser ständigen Probleme wirklich leid. Zumindest konnte ich meine Aufnahmen halbwegs durchziehen und ab 15:00 Uhr dann auch zur Kontrolle einreichen bzw. die Indexdatei pflegen. Aber die endlosen nutzlosen Versuche, um Zugriff auf SharePoint zu bekommen, haben viel Zeit gekostet. Und im Gegensatz zu sonstigen technischen Problemen, bei denen ich immer etwas gelernt habe und damit für mich noch etwas Positives meist mitnehmen konnte, habe ich keinerlei neue Erkenntnisse aus der Aktion gezogen –  außer dass SharePoint ganz großer Mist ist. Solange es keine Probleme macht, ist die Sache ja ok, aber es gibt einfach zu oft Probleme. Selbst die Lösung nach vielen Stunden und ist durch einen Admin erfolgt, der auch diverse Zeit erfolglos rumprobiert hatte. Soweit ich das erkennen konnte, wurden alle meine Accounts vollkommen beseitigt und komplett neu eingerichtet.

Und da heute wieder Mittwoch ist, ist auch der neueste Entwicklertipp der Woche zu Python verfügbar, weshalb die Überschrift des Beitrags „IO“ beinhaltet – für Input-Output. Die „2“ deshalb, weil das vor zwei Wochen schon mal der Fall war, dass ich sowohl produziert habe als auch ein Videotraining veröffentlicht wurde. Thema des Tipps sind Enumerationen in Python. Ein sogenannter Enum ist ein Aufzählungstyp, den es schon sehr lange gibt. Schon vor der objektorientierten Programmierung hat man damit gearbeitet. Beispielsweise in C, was gerade das Thema meiner Überarbeitung ist, gibt es solche Typen. In Python gibt es zwei Strategien, wie man solche Aufzählungstypen nun umsetzt. Einerseits gibt es eine Built-in-Funktion enumerate() und es gibt aber auch eine Klasse Enum aus dem Modul enum.

Sprung in der Schüssel

Mein SmartPhone hat einen Sprung im Display. Es funktioniert zwar immer noch problemlos, aber das ist auf Bewährung. Es kann jederzeit sein, dass ich das Teil nicht mehr bedienen kann und das wäre ziemlich dumm. Auch wenn ich absolut nicht SmartPhone-süchtig bin, habe auch ich natürlich sehr viele Dinge mittlerweile auf dem SmartPhone, die wichtig sind. Darüber muss ich mir keine Illusionen machen.

Nun musste ich eben erst einmal nachsehen, wann ich mir das Honor View 10 geholt hatte. Es ist nicht so alt, wie ich gedacht habe. Erst von Anfang Januar 2020. Das Gerät war zwar zu dem damaligen Zeitpunkt schon ein Auslaufmodell, aber ich stelle ja die Sinnhaftigkeit der Entwicklung bei SmartPhones die letzten 10 Jahre massiv infrage. Was klar ist, denn bereits vor 10 – 15 Jahren hatten die SmartPhones alle Features, die man wirklich braucht. Nachfolgende Geräte hatten nur von allem „mehr“ (Pixel, RAM, Chips, etc.) oder „weniger“ (Dicke, Gewicht, …) oder waren „schneller“. Es gab die letzten Jahre nichts wirklich Notwendiges oder Neues. Ich bin also definitiv kein Typ, der alle 2 – 3 Jahre ein neues SmartPhone braucht bzw. haben will.

Aber der Riss im Display macht eine Vorbereitung auf einen wahrscheinlichen Abgang von den Honor notwendig. Auf der einen Seite liebäugle ich schon geraume Zeit mit einem Outdoor-Handy. Denn die haben dann doch ein paar Features, die für mich wirklich interessant sind, da ich ja sehr oft in der freien Natur aktiv bin. Vom Montainbiken bis hin zum Gleitschirmfliegen. Ein robustes Gerät mit langer Laufzeit bzw. wirklich viel Akku, gutem GPS, guter Netzwerkverbindung, vernünftigen Outdoor-Sensoren und einem Display, was im grellen Sonnenlicht gut abzulesen und auch mit Handschuhen zu bedienen ist, wäre schon nett.

Andererseits will ich eben dem Konsumterror nicht nachgeben und aus Nachhaltigkeitsgründen Dinge solange wie möglich verwenden. Das gilt auch für technische Geräte – oder vielleicht da sogar besonders. Solange das Honor eben noch funktioniert, will ich nichts Neues anschaffen. Zumal ich noch ein Nokia 3.2 rumliegen habe. Das ist ein ganz einfaches SmartPhone, was schon beim Erscheinen nicht einmal Mittelklassenniveau dargestellt hat, das aber im Grunde neuwertig ist, da ich es ausschließlich als Testsystem bei meinen Vorlesungen zur Entwicklung von plattformneutralen Apps mit Cordova an der TH Bingen verwende.

Ich bereite mich daher aktuell mit zwei Strategien auf einen endgültigen Ausfall von dem Honor vor.

  1. Ich kopiere alle wichtigen Daten vom internen Speicher als Backup auf mein NAS.
  2. Ich richte das Nokia als eine Art Klon des Honors ein und installiere dort alle wichtigen Apps, die ich auf dem Honor habe und konfiguriere alle Accounts so, dass ich bei einem Ausfall nur die SIM-Karte aus dem Honor in das Nokia wechseln muss.

Damit sollte ich erst einmal vorbereitet sein und vielleicht hält das Honor ja doch weiter durch.

Edit: Die Strategien zeigen Schwächen :-(. Das Nokia 3.2 hat nur 16 GByte internen Speicher, von dem bereits gut 10 GByte von Android weggenommen werden. Selbst wenn ich weder Musik noch Bilder oder Videos darauf speichere, bleibt nicht gut Platz für alle Apps, die ich im Grunde gerne installiert hätte. Ich muss mich also auf die wichtigsten Apps beschränken und das ist suboptimal. Und das Backup der Bilder und Daten aus dem internen Speicher des Nokia auf das NAS dauert nach den Schätzungen in Windows 17 Stunden. Wow. Da will mich wohl wirklich jemand zu einem neuen SmartPhone verleiten.

 

Angestellte sollen woanders so tun, als würden sie arbeiten

Elon Musk schafft es immer wieder in die Schlagzeile. Gerade geht eine angeblich „geleakte“ Email von ihm viral, in der er alle Mitarbeiter aus dem Home-Office holt. Arbeiten aus dem Home Office sei für ihn „nicht mehr akzeptabel“. Jeder der Mitarbeiter, der noch von zuhause arbeiten will, müsse zusätzlich (!) mindestens (!) 40 Stunden im Büro verbringen. Ansonsten würde man davon ausgehen, der Mitarbeiter hätte Tesla verlassen und könne sich einen neuen Arbeitgeber suchen.

Krasse Ansage, aber konsequent. Auch wenn für mich mittlerweile Angestelltenregeln vollkommen irrelevant sind (deshalb habe ich mich ja selbständig gemacht) und ich Remote-Arbeit in vielen Bereichen als sehr sinnvoll und nützlich erachte (Zeitersparnis, Umwelt, weniger Verkehr, Kostenersparnis, persönliche Komfortzone, …), kann ich die Argumentation verstehen. Es ist beim Home-Office nicht alles Gold was glänzt. Das gilt für die selbständige, individuelle Remotearbeit, aber vor allen Dingen für die Arbeit im Team und Angestelltentätigkeit. Auch wenn bei diversen Tätigkeiten Home-Office bzw. Remotearbeit vielleicht sogar besser ist – wer bezahlt, bestimmt.

Ich habe im Moment den Eindruck eine Tendenz bei vielen Leuten (vor allen Dingen jüngeren) zu beobachten, die sich vereinfacht so ausdrücken lässt:

Ich fordere Dein Geld, aber zu meinen Bedingungen!

Das funktioniert einfach nicht. Zudem verurteilen diejenigen, die Home-Office als Grundrecht beanspruchen, Personen mit Tätigkeiten, die einfach so nicht zu erledigen sind, zu einer Arbeit 2. Klasse. Diese Ungleichheit der Chancen bewirkt natürlich, dass diese Tätigkeiten unattraktiver werden. Dabei sind es vor allen Dingen die gesellschaftlich wichtigen Arbeiten, die eben nicht von zuhause aus zu erledigen sind. Wenn jemand wie Musk jetzt gleiche Rechte und Pflichten für alle Mitarbeiter festlegt, ist das eben nicht per se schlecht. Auch wenn das Wasser auf die Mühlen der Unternehmen ist, denen Home-Office gegen den Strich geht. Nach dem Motto:

Wenn schon die wohl derzeit modernste und innovativste Firma der Welt Home-Office abschafft, dann können wir erst recht Home-Office wieder verbieten.

Bitte nicht falsch verstehen – ich würde in einer solchen Firma nicht arbeiten wollen und kündigen, wenn ich mir das leisten könnte. Aber diese Konsequenzen muss man halt auch ziehen können bzw. bereit sein zu tragen, wenn man damit nicht einverstanden ist.

Firefox statt Chrome

Gerade lese ich in der PC Welt den Beitrag: „8 gute Gründe, um von Chrome zu Firefox zu wechseln“. Kann ich nicht, denn ich nutze sowieso Firefox und meide Chrome. Nur Vivaldi und Opera nutze ich als Alternativen zu Firefox.

Aber ich habe noch einen 9. Grund, warum Firefox für mich der bester Browser auf dem Markt ist. Die Entwickler-Tools! Die gibt es mittlerweile auch bei der Konkurrenz, aber nur in Firefox ist alles da, wo ich es erwarte. Ich finde intuitiv alle Dinge, die ich brauche. Bei der Konkurrenz finde ich die irgendwann auch, aber ich muss suchen. Und nur im Firefox sehe ich die Informationen so, wie ich sie brauche. Bei der Konkurrenz sind diese so aufbereitet, dass ich erst umdenken muss. Firefox kann ich „aus dem Rückemark heraus“ bedienen, die Konkurrenz macht Nachdenken und Aufwand nötig. Also gibt es (mindestens) 9 Gründe für Firefox statt Chrome oder die anderen Browser.

Entwarnung

Da ist der Kelch nochmal an mir vorbeigegangen. Obwohl die akustische Leckortung das Problem bei meinem Hausanschluss lokalisiert hatte, hat sich beim Aufgraben der Strasse gezeigt, dass das Leck stattdessen an der Hauptleitung war. Dort war vor einigen Monaten schon mal ein Schaden und da wurde bei der Reperatur entweder gepfutsch oder die Leitung war noch an einer anderen Stelle  angegriffen.

Anyway – auch wenn vermutlich meine Versicherung gegriffen hätte, wenn das Problem bei meinem Hausanschluss gewesen wäre – der Aufwand und die Beeinträchtigungen wären groß gewesen und hätten die geplanten Aufnahmen für LinkedIn Learning in der nächsten Woche ziemlich beieinflusst. Das Loch ist aber wieder verschlossen und Wasser sollte auch wieder da sein. Somit sollte den Aufnahmen hier aber nichts mehr im Weg stehen.

Zip und Büroprobleme mit eventueller Umplanung der neuen Aufnahmen

Wie üblich steht am heutigen Mittwoch bei LinkedIn Learning der neueste Entwicklertipp der Woche zu Python verfügbar. Thema ist die zip-Funktion in Python Diese lässt einen normalerweise an Komprimierung denken, aber das ist der falsche Ansatz. Wenn man  an einen Reißverschluss denkt, kommt man der Funktionalität näher. Wie bei einem Reißverschluss werden die einzelnen  Elemente von iterierbaren Strukturen damit zusammengefügt. Es gibt einige nützliche Anwendungen, die ich in dem Tipp bespreche.

Allerdings ist für mich das Erscheinen des Entwicklertipps heute eher zweitrangig, denn vor meinem Büro in Eppstein ist ein Bautrupp angefahren. Es gibt ein Leck in der Wasserleitung. Allerdings mit Ankündigung und deshalb war ich heute vor Ort, um die Leute zur Ortung des Lecks in den Keller zu lassen. So wie es aussieht, betrifft das Leck den Teil der Leitung, die auf meinem Grundstück verläuft.

Eben fangen sie an, die Straße aufzureißen. Was immer hier eine besondere Situation ist, denn es handelt sich um eine sehr enge, einsprurige Sackgasse. Und wenn da was gemacht wird, ist alles hinter der Stelle komplett von der Welt abgeschnitten. Aber meine Videokonferenz habe ich zumindest noch vor dem Lärm durchbekommen.

Die ganze Angelegenheit wird jedoch sehr aufwändig, denn es ist hier nicht nur eng. Es gibt hier eine hohe Trockenmauer aus Naturstein und vermutlich viel Stein im Boden. Wenn es schlecht läuft, müssen die nicht nur die Strasse aufreißen und da ein Loch baggern, sondern von meinem Hof mehrere Meter tief nach unten sowie auch ein Loch in die Wand des Kellers bohren. Denn wahrscheinlich muss die gesamte Leitung ausgetauscht werden. Und das dauert dann mehrere Tage, womit meine neuen Videoaufnahmen für LinkedIn Learning in der kommenden Woche betroffen wären. Denn nach Pfingsten steht die Neuaufnahme von einem Training an, das ein bisschen aktualisiert und aufgehübscht werden muss. Falls es dann noch Baulärm gibt, kann ich die Aufnahmen hier knicken. Dann werde ich das in Bodenheim machen müssen, was grundsätzlich auch möglich ist. Nur ist da die Gefahr von Ablenkung sowie Störungen einfach höher und vermutlich werde ich immer wieder Videos unterbrechen oder mehrfach aufnehmen müssen. Aber es wird schon gehen und vielleicht schaffen die es hier auch bis zum Wochenende. Wichtiger ist mir natürlich, was die Versicherung zu der Sache sagen wird. Denn es kommt im Moment schon dicke, da auch in meiner der vermieteten Wohnung in Vockenhausen mehrere Schäden zu reparieren sind. Da war ich gestern abend zur Besichtiung. Zudem wurde gerade hier in Eppstein der Stromzähler getauscht. Alles zeitaufwändig und mit Arbeit verbunden. Das einzig Gute – in der Woche laufen die „normalen“ Jobs wie Schulungen, Korrekturen oder Aufnahmen nur auf Sparflamme und ich kann die Termine halbwegs organisieren.