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.

Aufnahmen soweit fertig und neuer Entwicklertipp der Woche

Ich sollte mit den Aufnahmen zu meinem neuen Videotraining bei LinkedIn Learning durch sein. Zumindest bis auf ein paar Abschlussarbeiten oder wenn ich etwas übersehen habe. Da morgen Feiertag ist, fahre ich nachher wieder von meinem Zweitbüro in Eppstein zurück nach Hause, wobei ich morgen abend oder am Freitag nochmal herkomme, weil noch ein weiteres Projekt für LiL diese Woche ansteht. Zwischenzeitlich ist auch der neueste Entwicklertipp der Woche zu Python verfügbar. Der Zugriff auf das „Top-level script environment“ in Python ist das aktuelle Thema.  Ein module-Objekt wird in Python durch verschiedene Attribute charakterisiert. Unter anderem gibt es Attributnamen, die mit einem doppelten Unterstrich vor- und nachgestellt werden, und diese kann man über ein name-Attribut auswerten. Wenn nun Python als ausführbarer Code auf der obersten Ebene, dem sogenannten Top-Level Script Environment, ausgeführt wird, dann wird in diesem name-Attribut der Wert main stehen (mit Underscores vorne und hinten gekennzeichnet). Das kann man aktiv verwenden.

Was gibt es zu importieren?

Die Woche bin ich an Aufnahmen für LinkedIn Learning (LiL). Das hat aber keinen Einfluss auf meine wöchentlichen erscheinenden Entwicklertipps der Woche zu Python. Diese Woche geht es um Details beim Import.

Eppsteiner Graz

Außerhalb von Corona-Zeiten wäre ich die Woche ziemlich sicher in Graz, um bei LinkedIn Learning (LiL)  neue Videos aufzunehmen. Ich wäre gestern Abend von FFM nach Graz geflogen (so, wie ich es über viele Jahre erst zu Video2Brain und dann eben LiL gemacht habe), hätte mich im Hotel eingecheckt und wäre jetzt so langsam ins Studio rüber gegangen – was vom Daniel aus nur ein paar Meter auf die andere Seite des Bahnhofs sind.

Aber wegen Corona sind weiter die Aufnahmen vor Ort unterbunden und so bin ich gestern am Abend in mein „Aufnahmestudio“ nach Eppstein gewechselt, habe dort alles eingerichtet, bereits das Probevideo aufgenommen und hochgeladen. Nun warte ich auf das virtuelle Go aus Graz und dann wird die Woche halt wieder in Eppstein statt in Graz aufgenommen.

So gerne ich auch in meinem Elternhaus und meiner alten Umgebung bin – wie einer meiner LiL-Trainerkollegen mir gegenüber schon mehrfach geäußert hat:

„Zu den Aufnahmen nach Graz kommen ist wie ein bisschen Urlaub. Man wird umsorgt, ist im Hotel untergebracht, kann nach den Aufnahmen die Gegend erkunden oder mit Kollegen losziehen und kommt einfach raus aus dem gewohnten Trott.“

Das geht auch mir jetzt seit 1,5 Jahren ab – denn so lange war ich schon nicht mehr in Graz.

Casting-Show

Die letzten zwei Tage habe ich mal wieder eine Online-Schulung gehalten. Thema war UML. Und als diese fertig war, war auch der regelmäßige Entwicklertipps der Woche zu Python bei LinkedIn Learning (LiL)  freigeschaltet. Thema diese Woche ist die Typumwandlung.

Immutable vs. Mutable

Same procedure as every ….

Mittwoch!

… James.

Im Rahmen meiner regelmäßen Veröffentlichungen eines  neuen Entwicklertipps der Woche zu Python für LinkedIn Learning (LiL)  geht es diese Woche um Immutable versus Mutable und was Python dabei im Hintergrund macht.

Mittwoch – mit 2 regelmäßigen Events

Es ist Mittwoch und da stehen bei mir 2 regelmäßig auftretende Ereignisse an. Bereits seit Jahrzehnten ist Mittwochs der Probetermin meiner Band. Zwar Corona-bedingt die letzte Zeit nur virtuell mit JamKazam, aber ab heute stellen wir wieder um.

Nicht ganz so lange, dass man das – wie bei der Bandprobe – „traditionell“ nennen kann, gibt es aber als 2. Event regelmäßig neuen IT-Content.  Aber nun doch schon mehrere Monate wird Mittwochs ein neuer  Entwicklertipp der Woche zu Python bei LinkedIn Learning (LiL)  veröffentlicht. Diese Woche geht es um den Einsatz von Default-Parametern beim Aufruf einer Funktion.

Defaultparameter aus dem Kurs „Python-Entwicklertipps: Jede Woche neu“ von Ralph Steyer

Protektion in Python

Weiter geht es mit meinen regelmäßigen Entwicklertipps der Woche zu Python bei LinkedIn Learning (LiL).  Diese Woche behandle ich das Thema „protected“ in Python. Diese Beschränkung auf die Zugänglichkeit aus Subklassen wird in Python mit einem vorangestellten Unterstrich gekennzeichnet, ist aber streng genommen nur eine unverbindliche Empfehlung.

Da isser ja

Eigentlich hätte mein Entwicklertipp der Woche zu Python schon am Mittwoch veröffentlicht werden sollen, denke ich. Die Webseite bei LinkedIn Learning (LiL) hatte für den Kurs auch eine Aktualisierung am Mittwoch angezeigt, aber es wurde noch der Tipp von letzter Woche als neuster Tipp angezeigt. Da war wohl mit der Freigabe der etwas schiefgegangen, aber jetzt ist der neue Tipp da. Es geht diese Woche um variable Parameter einer Funktion.

Weiter geht es

Es ist Mitte der Woche, ich habe gerade meinen Einzel-Crashkurs zu erweiterten Java-Themen abgeschlossen und ein neuer Entwicklertipp der Woche zu Python ist heute bei LiL (LinkedIn Learning) herausgekommen. Die Woche geht es darum, wie man in Python privat deklarierte Elemente von außen manipulieren kann.

eval is evil – der aktuelle Python Entwickler-Tipp

Die Woche ist wieder rum und mein neuer Entwickler-Tipp der Woche bei LiL (LinkedIn Learning) ist freigegeben. Dieses Mal behandele ich das Thema Strings evaluieren in Python. Das geht mit der eval-Funktion, die aber nicht ganz unkritisch ist. Der Tipp stammt – wie die anderen bisher veröffentlichten Tipps – aus dem Kurs: Python-Entwicklertipps: Jede Woche neu.

Kein Tipp der Woche – LinkedIn macht Urlaub

Wir Autoren wurden schon vor einiger Zeit darüber informiert und die Tage stand es auch in diversen Medien – LinkedIn hat alle Mitarbeiter weltweit in Urlaub geschickt. Nicht aus der Not heraus, sondern als eine Art Belohnung für die gestiegenen Belastungen während der Corona-Krise. Davon profitieren auch meine Kontaktpersonen bei LiL und deshalb gibt es die Woche keinen neuen Entwickler-Tipp der Woche zu Python. Aber es gibt ja schon ein paar, die über die letzten Wochen veröffentlicht wurden und nächste Woche geht es weiter mit neuen Tipps.