Tag 2 der Schulung in Marburg

Schiet-Wetter. Anders kann man derzeit die Lage nicht beschreiben. Aber dennoch wollte ich nach dem zweiten Schulungstag nochmal ganz kurz ein Touri-Programm durchziehen. Sowas mache ich eigentlich immer, wenn ich irgendwo beruflich übernachte.

Und da meine letzte berufliche Tour 2 Jahre her ist, musste es mal wieder sein – trotz des Mistwetters. Ich bin nach der Schulung nochmal kurz hoch zum Marburger Schloss und im Schnelldurchgang außen rum gelaufen. Mit Schirm und Handschuhen.

Ich war schon einmal auf dem Schloss, aber das ist eine „Weile“ her. Zu der Zeit hatte ich gerade angefangen zu studieren und war mit meinem allerersten Mopped auf einer Fete hier in Marburg, bei der ich irgendwo in einem Garten gezeltet hatte. Ist also definitiv eine große „Weile“ her, denn auch wenn ich noch mehrfach in Marburg war – zum Schloss bin ich nie mehr hoch.

Dennoch habe ich mich noch ganz gut an die Ecke erinnert. Aber das Wetter hat mich recht schnell wieder ins Trockene getrieben.

Nach 2 Jahren – erstmals wieder auf Tour

Es ist 2 Jahre her, seit ich das letzte Mal beruflich auf Tour war. Dank Corona ist wirklich „Alles!“ auf remote umgestellt. Doch diese Woche bin ich bei einer Präsensschulung. Wirklich vor Ort in einem Schulungsraum. Mit Teilnehmern. Unglaublich. Ich erinnere mich kaum noch, wie das geht.

Wobei die Maßnahme hybrid abläuft. Insgesamt 4 Wochen (mit Pause über Weihnachten) sind das 160 Stunden, von denen ich 120 Stunden betreue und der Rest von den Teilnehmern mit Praxis gefüllt wird. Anders ging es nicht und ich werde auch nur einen Teil der Zeit live vor Ort sein (ab nächster Woche teils parallel bzw. im Wechsel mit einer anderen Maßnahme). Den Rest schalte ich mich per Teams dazu.

Die gesamte Woche ist vor Ort geplant und ich bin heute morgen ganz früh losgefahren. Die Schulung ist in Marburg, was eine blöde Entfernung ist. Im Grunde kann ich das täglich anfahren, aber das kostet Zeit und rechnet sich nicht wirklich. Ich brauche einfach (ohne Stau) gut 80 – 90 Minuten. Vom Umweltgedanken ganz zu schweigen.

Also habe ich ein Monteuerszimmer in der Nähe gemietet. Etwa 8 – 10 Kilometer von Marburg weg und ziemlich „Hinter den 7 Bergen bei den 7 Zwergen“. Nur soviele Zwerge gibt es hier nicht. Keine Gaststätte, kein Supermarkt oder sonst etwas. Aber das Zimmer ist okay und ich bin allein im Haus. Ich hab meine Ruhe und werde die nächsten Tage vielleicht mal rumlaufen. Hier in dem Dorf und/oder in Marburg. Aber heute muss ich noch was arbeiten und gehe früh ins Bett, denn ich bin verdammt früh losgefahren. Die Schulung geht um 8:00 Uhr los und ich hatte ziemlich Sicherheitsreserve einkalkuliert. Und ich muss mich erstmal wieder auf extern einstellen. Bin wirklich total aus der Übung und die Abwechselung vom Remote-Trott tut gut – auch wenn ich hier wirklich komplett in der Walachei bin.

Die Schulung selbst dreht sich um JavaScript und jQuery und ist Teil einer Fachinformatikerausbildung im Rahmen einer Umschulungsmaßnahme. So ganz sicher ist auch noch nicht, ob die Angelegenheit nach dieser Woche nicht auch komplett auf remote umgestellt wird. Auch heute waren drei Teilnehmer nicht vor Ort, sondern aus verschiedenen Gründen per Teams dabei. Der Rest saß mit Maske da. Eigentlich wollte ich die kommenden 2 Wochen 1x die Woche anfahren und im nächsten Jahr nochmal mehrere Tage vor Ort sein. Aber die Informationen zu Corona werden immer unangenehmer. Mal sehen, aber erst einmal mache ich hier den Vor-Ort-Job.

Deepin Linux

In der Familie wird ein Notebook für ein bisschen Textverarbeitung benötigt und wegen Black Friday & Co stand zur Diskussion, ein solches zu kaufen. Doch da ich die Preise eine Weile schon verfolge – das lohnt sich n.E. im Moment gar nicht. Für mich sieht es nach meinen Aufzeichnungen der Preise über die letzten Wochen so aus als wären die – wie üblich – die letzten Tage massiv erhöht und jetzt nur auf einen Stand reduziert worden, der immer noch über dem vor einigen Wochen liegt. Gerade bei Notebooks und anderer PC-Hardware.

Zudem schlummerten unter dem Sofa noch ein paar uralte Notebooks, für die eine Wiederbelebung eine Option war. Mein altes HP EliteBook habe ich mit diversen Tools komplett bereinigt und es scheint halbwegs zu laufen. Windows 10 und Office ist drauf und deshalb durchaus eine Option. Allerdings ist das Teil ziemlich „träge“.

Ein anderes Notebook von meinem Sohn musste ich erst an verschiedenen Stellen kleben und da war Windows nicht wirklich mehr vernünftig instand zu setzen gewesen.

Also ein Kandidat für Linux. Deepin Linux ist mir da untergekommen. Kommt aus China und basiert vom Unterbau auf Debian. Von der Oberfläche ein Mix aus macOS und Windows 11 verspricht es dennoch geringe Hardwareanforderungen. Ausprobiert und ich muss sagen – sieht verdammt schön von der Oberfläche aus und läuft smart auf dem uralten Notebook. Sonst nutze ich Mint Linux mit Xfce auf alter Hardware, aber Deepin scheint auch auf alter Hardware eine modernere und schöne GUI hinzuzaubern. Auch wenn mir Design und Optik eigentlich vollkommen egal sind – wenn es von der Funktionalität gleichwertig ist – warum nicht das optisch schöne System verwenden? Die Nachinstallation von Software, die nicht standardmäßig in den Repos zu finden ist, ist nach ersten Versuchen mau, aber als „Out-of-the-box“-System für reine Anwender scheint das zu taugen.

Kurzsession im „Tonstudio“

Heute bin ich für eine ganz  kurze Session in mein „Tonstudio“ in Eppstein gegangen, um mein Training
zu den aktuellen Features in Java bei LinkedIn Learning um ein paar kleine Ergänzungen zu Java 17 zu erweitern. Viel war es nicht und in der Zeit hat wohl der Winter Einzug gehalten. Ganz schwacher Schneefall. Weiter oben im Taunus muss es aber schon etwas stärker schneien (wenngleich immer noch nicht richtig.).

Neu erschienen – mein JavaFX Grundkurs bei LiL

Über den Sommer habe ich mehrere Training bzw. Aktualisierungen für LinkedIn Learning eingespielt, deren endgültige Fertigstellung bzw. Produktion sich dann doch ziemlich hingezogen haben. Nicht zuletzt Corona hat Arbeitsabläufe und Kapazitäten sowie Prioritäten im Griff,. Aber die Woche ging es wie beim Bretzelbacken und neben der Aktualisierung meines Training zu den Neuerungen der verschiedenen Versionen von Java und meinem aktuellen Entwickler-Tipp zu Python ist diese Woche auch der JavaFX Kurs erschienen. Dabei geht es neben JavaFX auch um FXML und den Sceen Builder sowie NetBeans, Maven, Ant, Gradle, JDK etc..

Ich habe schon früher Kurse zu JavaFX eingespielt (sogar schon zu Zeiten von Video2Brain (V2B), aber auch dann Aktualisierungen für LiL), aber die sind mittlerweile komplett veraltet. Der neue JavaFX Kurs ist deshalb vollkommen neu konzipiert und vollständig neu eingespielt. Außer ein paar Ideen für Beispiele ist nichts mehr identisch zu den alten Kursen.

Was übrigens auch JavaFX als Technologie betrifft. Diese hat sich zum Teil komplett inkompatibel zu älteren Versionen weiterentwickelt. Offiziell heisst sie jetzt sogar nicht mehr JavaFX, sondern OpenJFX und wird nicht mehr von Orcale verantwortet, sondern einer OpenSource-Organisation. Wobei sich der Bezeichner „OpenJFX“ wohl nicht so richtig etablieren will und man deshalb an den meisten Stellen doch wieder den ursprünglichen Bezeichner „JavaFX“ beibehält.

Aktualisierung meines Trainings zu den Neuerungen von Java

Bei LinkedIn Learning habe ich ein Training am Start, das sich um die Neuerungen der verschiedenen Versionen von Java kümmert. Bekanntlich erscheinen neue Versionen von Java mittlerweile alle 6 Monate und deshalb wird dieses Training immer wieder erweitert bzw. auf den neuen Stand gebracht. Derzeit behandle ich in diesem Training die Neuerung von Java 14, 15 und 16. Die Neuerungen der Version 17 spiele ich Ende dieser Woche neu ein und dann wird das Training noch einmal aktualisiert/erweitert und auf eine Art „Endstand“ gebracht. Denn die Version 17 ist nach vielen Jahren wieder eine LTS-Version, die in der Praxis auf viele Jahre die relevante neuste Version bilden wird. Wie der Name LTS – Long-Term-Support – aussagt, werden nur diese Versionen explizit über einen langen Zeitraum unterstützt. Während private Programmierer gerne schnell auf neue Versionen umsteigen, wird man in der professionellen Programmierung bzw. bei Business-Anwendungen fast immer nur solche LTS-Versionen berücksichtigen.

Neuer Tipp zum Verketten von Vergleichsoperatoren

Bei LinkedIn Learning ist wieder ein aktueller Entwickler-Tipp zu Python verfügbar. Es geht dieses Mal um die Verkettung von Vergleichsoperatoren. Dabei geht es darum, mehrere Bedingungen zu verknüpfen und über eine einfache Schreibweise das zu machen. Und wer es noch nicht mitbekommen hat – in der Woche der Veröffentlichung ist der aktuelle Tipp frei (d.h. kostenlos) verfügbar.

Mac Mini als Druckserver

Im Rahmen der Neugestaltung meines Büros mit eingeschlossenem grundlegendem Neuaufbau meiner IT bin ich zwei Probleme bzw. Fragen angegangen, die ich schon viele Monate nicht so richtig gelöst habe.

  1. Wie bekomme ich meinen Drucker-Fehlkauf – den Samsung Xpress M2026w Laserdrucker – doch noch vernünftig im Netzwerk zu laufen?
  2. Was mache ich mit meinem uralten, überzähligen Mac Mini?

Der Samsung-Drucker bekommt von mir die Krone für meine schlechteste IT-Anschaffung ever. Billig war er, aber ständig hat das Dreckding Ärger gemacht. Dabei ist es nicht einmal so schlimm, dass man den Papierschacht nur halb voll machen kann und Papierstau oder nicht richtig eingezogene Blätter den Ausdruck behindern. Das Schriftbild ist zumindest ok. Aber – der Drucker ist funktioniert im W-LAN total unzuverlässig. Deshalb habe ich ihn nach viel Arbeit und Ärger irgendwann per USB an mein NAS angeschlossen. Von ein paar Rechnern – vor allen Dingen aus Linux heraus – war er damit halbwegs zuverlässig anzusprechen. Aber von mehreren anderen Rechnern ging auch dann einfach nichts. Nun habe ich beim Neuaufbau der IT in meinem Büro eine Weile experimentiert. Sowohl an mehreren Windows- als auch Linux-Rechnern wird der Drucker per USB erkannt. Aber im Netzwerk ist er – trotz Freigabe und allen denkbaren Einrichtungen – nicht anzusprechen. Man sieht ihn, aber er reagiert einfach nicht auf Druckaufträge oder die Abfrage des Status. In alle Richtungen:

  • Linux -> Linux
  • Linux -> Windows
  • Windows-> Linux
  • Windows-> Windows

Keine Chance. Ich habe sogar meinen Rasberry PI 1 als Druckserver ausprobiert, aber da wurde der Drucker noch nicht einmal richtig erkannt.

Dann kam mir mein zweites IT-Problem in den Sinn – was mache ich mit dem Mac Mini? Meine Abneigung gegen Apple-Produkte ist ja bekannt, wenn man meinen Blog liest. Die Dinger sind viel zu teuer, zu unfrei bzw. zensiert, zu eigenwillig zu bedienen und zu viel auf Schein statt Sein optimiert (Design statt Funktionalität). Aber in einem Punkt hatte ich meinen alten Mac Mini über die Corona-Krise schätzen gelernt. Über mehrere Monate musste ich mit meiner Band Corona-bedingt eine Pause hinsichtlich von Live-Proben einhalten. Aber wir hatten uns zu regelmäßigen virtuellen Proben mit JamKazam aufgerafft und das ging mit keiner anderen Hardware auch nur ansatzweise so gut wie mit dem Mac Mini. Seit wir aber wieder live proben können, habe ich einfach keinen Bedarf mehr an dem Mac Mini. Ich kann das macOS einfach nicht bedienen. Es ist mir (!) viel zu wenig intuitiv, unlogisch, beschränkt und unbequem.

Aber unter dieser unangenehmen Oberfläche und hinter dem ganzen lächerlichen Rummel um Apple befindet sich eine solide Basis. Denn der Drucker war am Mac Mini sofort eingerichtet (ok – das ging unter Linux und Windows am USB-Port auch) als auch direkt im Netzwerk verfügbar. Und das habe ich wie gesagt mit keiner anderen Konstellation hinbekommen.

Der alte Mac Mini von 2013 wird also sein – vermutlich 4. oder 5. – Leben in Zukunft als Druckserver fristen. Ohne Monitor, Tastatur oder Maus. Aber natürlich ist SSH- und VNC-Zugriff auf dem Teilchen eingerichtet – für alle Fälle.

Apropos „Für alle Fälle“: wenn die Sache mit Corona sich weiter so schlimm entwickelt, kann er (leider) vielleicht seinen Zwei-Job für virtuelle Proben mit JamKazam wiederaufnehmen :-(.

Vier gewinnt

So ganz langsam nimmt mein Büro in Bodenheim wieder einen Zustand an, in dem ich vernünftig arbeiten kann. Da u.a. 4 Regale, ein kleiner Rollcontainer und ein kleiner Tisch entfallen und dennoch mittlerweile fast alle Sachen wieder eingeräumt sind, wurde offensichtlich umfangreich entmistet als auch – hoffentlich sinnvoll – der Rest sortiert. Ein paar Sachen müssen noch weggeräumt, ein paar neue Dingen wie eine bessere Steckerleiste mit ganz viel Überspannungsschutz und eine Bodenschutzmatte ergänzt und ein paar Bilder aufgehängt werden, Aber dann sollte es das weitgehend gewesen sein.

Wobei ich eigentlich noch bei den nächsten Schnäppchen-Wochen im November einen neuen Bildschirm im Auge habe. Oder vielleicht auch „hatte“. Denn mir ist bisher gar nicht aufgefallen – oder besser: ich hatte es nicht ausprobiert – meine Workstation kann sogar 4 Monitore versorgen. Ich habe mal zusätzlich zu meinen 3 Monitoren an der Grafikkarte über den VGA-Ausgang an der internen Grafikschnittstelle des Mainboards einen weiteren alten Monitor gehängt. Das ist dann schon eine wahre visuelle Wand vor Einem.

Ich frage mich, ob ich dann wirklich noch einen weiteren Monitor brauche? Wobei – an meinen beiden Notebooks fehlt jetzt ein externer Monitor und wenn ich den kleinen Monitor wieder dafür abtrete, kann vielleicht oder ein 32″- oder 34″-Monitor das visuelle Raumgefühl noch verbessern. Mal sehen, ob da die nächsten Tage gute Angebote kommen …

Neu im Python-Tutorial – Argumente mit dem Scatter-Operator ein- und auspacken

Argumente mit dem Scatter-Operator ein- und auspacken ist das Thema in meinem aktuellen Entwickler-Tipp zu Python aus meinem Tutorial bei LinkedIn Learning. Python stellt damit interessante Möglichkeiten bereit, um sequentielle Datenstrukturen zu packen und zu entpacken. Man spricht in dem Fall oft auch von dem Scatter-Operator. Wobei dieser Begriff nicht standardisiert ist.

Präsenzschulung auf der Kippe

Seit fast 2 Jahren habe ich – mit einer Ausnahme einer Einzelschulung bei mir in meinem Büro in Eppstein – keine Präsenzschulung mehr gehalten. Ab Ende November ist jedoch eine große Schulungsmassnahme angesetzt, die im Umfang 120 Stunden (also 15 Tage) umfasst. Diese 120 Stunden werden auf 8 Wochen verteilt (inkl. 2 Wochen Ferien über die Jahre). Die ersten 5 Tage sind dabei als Präsensschulung in Marburg vorgesehen und die restlichen 10 Tage sollen auf Remote- und Präsenztermine aufgeteilt werden. Die Remotetermine sind auch teils nur ein oder zwei Stunden am Tag, denn seit letzter Woche habe ich parallel eine Remote-Schulung mit 16 halben Tagen bis Ende Januar laufen, in deren Terminablauf sich die Marburger Massnahme (da später beauftragt) einfügen muss. So der Plan.

Heute morgen kam aber schon die vorsichtige Information, dass die ganze Sache ob der steigenden Corona-Zahlen vielleicht doch auf vollständig remote umgestellt werden muss. Das wird sich aber die nächsten Tage noch kären.

Notbetrieb

Seit gut 2 Wochen räume ich mein Büro leer, damit die Wände gestrichen und ein neuer Boden gelegt werden kann. Am Donnerstag habe ich dann meine IT abgebaut und mit dem übrigen Rest komplett ausgeräumt. Gestern wurden dann die Wände gestrichen und die Unterlage für den neuen Boden gegossen. Aber am Wochenende muss ich auch etwas arbeiten und deshalb läuft hier gerade eine Art „Notbetrieb“ in einem extrem „kahlen“ Umfeld mit Bürostuhl, Notebook und Campingtisch. Für meine beiden Schulungstermin am Montag und Dienstag verziehe ich mich in das Büro in Eppstein und ab Mittwoch sollte ich das Büro wieder neu aufbauen können. So aufwändig solch eine Aktion auch ist – es ist die große Chance auf ein umfangreiches Entmisten und eine saubere Neuorganistation der Einrichtung als auch gesamten IT-Infrastruktur.

F-Strings zur Verwendung von Variablen in Strings – ein neuer Tipp aus meinem Tutorial zu Python

Um die Verwendung von F-Strings bei Variablen geht es in meinem aktuellen Entwickler-Tipp zu Python aus meinem Tutorial bei LinkedIn Learning. Es geht darum, dass man Variablen direkt in einem String auswerten lassen kann. Das vermeidet mühselige und oft unübersichtliche Stringverkettungen.

Ausmisten

Es heisst ja, dass 3x Umziehen 1x Abbrennen entspricht. Ich ziehe nicht um, aber in meinem Büro in Bodenheim kommt ein neuer Boden rein und die Wände werden neu gestrichen. Das bedeutet, dass ich das komplette Büro samt Flur ausräumen muss. Ich bin da schon seit mehreren Tagen immer wieder dran, denn so etwas ist verdammt viel Arbeit. Aber wenn ich die schon investiere, durchforste ich all den Kram, der sich über die Jahre angesammelt hat.

Sortieren, Verlagern und/oder Wegwerfen ist die Devise.

Diverse Sachen habe ich schon in mein Büro nach Eppstein verlagert, denn da habe ich eine Menge Platz. Aber es ist fast unglaublich, welches Zeug mir in die Finger gefallen ist, das es definitiv nicht wert war aufgehoben zu werden. Ich habe etwa so viel Schmierpapier aufgehoben, dass ich über Jahre versorgt wäre – wenn nicht neues Papier dazukommen würde. Ich habe einige Hundert Blatt aufgehoben und der Rest ist in die Altpapiertonne gewandert. Zusammen mit zig Bedienungsanleitungen, alten Unterlagen, Landkarten, Aufzeichnungen etc.

Aber auch Elektroschrott, den ich nie mehr brauche. Von uralter Hardware bis zu mehreren Dutzend Ladekabeln. Die Teile sind weitgehend auf den Wertstoffhof gekommen.

Eben bin ich über meinen Schatten gesprungen und an meine Belegexemplare meiner vielen Bücher bzw. Schulungsunterlagen und auch die Video-DVDs aus Zeiten von Video2Brain (jetzt LiL) gegangen. Da sind im Laufe der Jahre über die zig Neuauflagen und Übersetzungen um die 100 Bücher bzw. Schulungsunterlagen und einige DVDs angefallen. Von den meisten hatte ich noch zig Belegexemplare gehortet. Das macht wirklich keinen Sinn. Die vollkommen aus der Zeit gefallenen IT-Bücher von teils vor 20 oder mehr Jahren braucht kein Mensch mehr – außer mir als Andenken. Die kann ich nicht einmal verschenken. Ich habe von allen meinen Büchern ein Belegexemplar aufgehoben, dazu die Bücher und Schulungsunterlagen, die noch aktuell sind und von mir in Schulungen eingesetzt werden können sowie und ein paar zusätzliche Belegexemplare von Büchern, die für mich besonders wichtig waren (insbesondere von meinem allerersten Buch). Der Rest ist aber – schweren Herzens – ebenfalls in die Altpapiertonne gewandert.

So langsam leert sich das Büro und wenn das dann irgendwann wieder fertig ist. sollte es auch nicht mehr so beengt – ich will nicht sagen „zugemüllt“ hier sein.

YouTube-Downloader erstellen – aus meinem Tutorial zu Python

Mit Python und geeigneten Frameworks wird der Download von frei zugänglichen Videos fast zum Kinderspiel. Das zeige ich im aktuellen Entwickler-Tipp zu Python bei LinkedIn Learning. Sie sehen in dem Tipp, wie Sie das auf einfache Weise mit einem YouTube-Downloader als Grundlage für eigene Erweiterungen nutzen können – auf Basis eines Frameworks mit Namen pytube. Und bevor wir jetzt in die falsche Richtung denken – es geht nicht um einen YouTube-Downloader, der illegale Inhalte laden kann. Geschützte Dateien werden damit nicht geladen, aber wir können damit freie Videos laden, freie Multimediadateien.