Im Rahmen meiner Serie mit wöchentlichen Tipps & Tricks zu Python bei LinkedIn Learning (LiL) ist das nächste Video draußen. Es geht die Woche um die Erstellung von plattformneutralen Skripten mit Python.
Schlagwort: LinkedIn Learning
Aktueller Tipp der Woche bei LiL – die with-Anweisung in Python
CronTab, Schedule und Python
Nachdem ich vor ein paar Wochen meinen neuen V-Server auch gleich auf eine neue Version von Ubuntu umgestellt hatte, musste ich sämtliche Webseiten wieder neu einspielen. Bis auf meine Webseite zum Gleitschirmfliegen, in der ich eine Webcam und Wetterdaten von einem Flughang bereitstelle, konnte ich auch alle Seiten problemlos wieder einspielen. Nur diese Seite (ein Joomla!-System) hatte herumgezickt und deshalb habe ich sie einfach neu aufgesetzt (jedoch mit WordPress). Aber ein Feature habe ich da auf die Schnelle nicht hinbekommen – das Kopieren und Sichern des aktuellen Bildes der Webcam, das minütlich mit FTP auf meinen V-Server geladen wird.
Es ist aber ganz hilfreich, wenn man über eine gewisse Zeitspanne verfolgen kann, wie etwa schon vor Ort befindliche Gleitschirme oder Windfahnen sich verhalten, um zu entscheiden, ob sich ein Tripp an den Hang lohnt. Ich wurde sogar explizit gebeten, dieses Feature wieder bereitzustellen.
Die originalen PHP-Skripte hatte ich noch alle, aber das Zeug war so zusammengefrickelt (wie so oft), dass ich erst einmal meine eigenen Codes nicht mehr verstanden habe.
Aber da ich parallel im Moment Themen sammle, die ich irgendwann in meinen wöchentlichen Tipps & Tricks zu Python bei LinkedIn Learning (LiL) verwenden kann, kam ich auf die Idee, das Kopieren doch mit Python statt mit PHP zu machen sowie auch das Schedulen vielleicht auch gleich mit Python. Es gibt ja dazu das sched-Modul und/oder die klassischen Module shutil, datatime und time. Dazu gibt es noch in der Community das zusätzliche Module schedule. Also habe ich mich damit eine Weile beschäftigt. Allerdings kam ich darüber über kurz oder lang auch auf die eigentlichen Crontabs von Linux/Unix. Und wenn man die genauer ansieht, ist es fast einfacher, die direkt zu schreiben, als sie von einem Framework wie dem schedule-Modul generieren zu lassen.
Auf der anderen Seite musste ich zudem noch meinen V-Server weiter konfigurieren. Dabei habe ich auf dem Weg nano nachinstalliert, denn ich greife ja per SSH auf den V-Server zu und mit Erschrecken festgestellt, dass da bisher mir nur vim zur Verfügung stand. Also so rudimentär will ich doch nicht mehr arbeiten.
In der Folge habe ich meine neu erstellen Python-Skripte zum Kopieren der Dateien und dem täglichen Löschen des Verzeichnisses (mein Server soll ja nicht volllaufen) hochgeladen und in die CronTab direkt eingebunden. Das geht ganz einfach und logisch, wenn man sich von der Syntax nicht abschrecken lässt.
- crontab -e öffnet die CronTab-Datei.
- Wenn man mit nano arbeitet, kann man mit Strg+o die Datei speichern und mit Strg+x den Editor verlassen. Mehr braucht man da eigentlich nicht zu wissen.
- Mit crontab -l kann man sich alle Cronjobs anzeigen lassen und
- mit crontab -r bei Bedarf alle Cronjobs löschen (was aber brutal ist, weil direkt alles weg ist).
Die eigentlichen Einträge in der CronTab sehen etwa so aus:
# m h dom mon dow command */2 8-20 * * * python3 [pfad]/copierereichenbach.py >> /var/www/vhosts/rjs.de/rb.autoren-net.de/thumb/log.txt * 5,23 * * * python3 [pfad]/loeschereichenbach.py
Das kopiert dann alle 2 Minuten in der Zeit von 8 bis 20 Uhr das aktuelle Bild der Webcam und um 5 und 23 Uhr wird das Verzeichnis gelöscht.
In Python selbst arbeite ich mit shutil.rmtree() und os.mkdir() beim Löschen des Verzeichnisses. Einfach alles weghauen und dann das Verzeichnis neu erstellen.
Beim Kopieren nehme ich shutil.copy2() und hänge an den Standarddateinamen einfach einen Timestamp an der von datetime.datetime.now().timestamp() geliefert wird.
Das Anzeigen der Bilddateien mache ich natürlich weiter mit PHP – da konnte ich eines meiner altern Skripts nach einer kleinen Anpassung wieder verwenden.
Tipp Nummer 2 der wöchentlichen Python-Entwicklertipps bei LinkedIn Learning
Letzte Woche ist meine Serie mit wöchentlichen Tipps & Tricks zu Python bei LinkedIn Learning (LiL) gestartet, in denen ich ergänzend zu meinen „normalen“ Kursen bei LiL über einige Monate jede Woche neu einzelne Videos mit Python-Entwicklertipps veröffentliche.
Der heute veröffentlichte Beitrag zeigt, wie man in Python über ein Objekt iterieren kann. Die Sache passt ganz gut zu dem heutigen Tag, denn genau das habe ich so ziemlich als Letztes in meiner aktuellen Python-Schulung, die ich über die Woche als Remoteveranstaltung halte, vorgeführt.
Python-Entwicklertipps: Jede Woche neu bei LinkedIn Learning
Heute starten meine wöchentlichen Tipps & Tricks zu Python bei LinkedIn Learning (LiL). Ergänzend zu meinen „normalen“ Kursen bei LiL werden ab sofort über einige Monate jede Woche neu einzelne Videos mit Python-Entwicklertipps veröffentlicht.
Der heute als „Starttipp“ veröffentlichte Beitrag zeigt, wie man in Python eine angepasste To-String-Funktionalität bereitstellen kann.
Performance von SSD und HDD testen
Ich bin mit meinem Huawei Matebook sehr zufrieden. Nur ist die Festplatte einfach zu klein. Ich bin dermaßen am Limit, dass ich immer wieder Sachen löschen muss, wenn ich neue Daten oder Programme da benötige. Gerade aktuell musste ich wegen Cordova noch zusätzlich Visual Studio 2017 installieren und damit ist meine Festplatte jetzt nahezu dicht. Ich habe schon diverse Sachen deinstalliert und nur noch eine Auswahl meiner Daten auf der SSD.
Nun hänge ich sowieso immer wieder eine externe Festplatte per USB an. Das taugt für Daten ganz gut (etwa Videos, die ich für LinkedIn Learning einspiele). Aber da die Festplatte nicht einmal USB-3 unterstützt, ist das Auslagern von Programmen auf die Festplatte nur suboptimal und auch bei großen Datenmengen dauert das Laden und Schreiben mir zu lange. Deshalb habe ich mir eine externe SSD mit USB-3/Thunderbold-Anschluss bestellt. Darauf sollte auch das Installieren von Programmen Sinn machen. Gerade portable Versionen werde ich darauf auslagern.
Um aber überhaupt einmal mitzubekommen, wie groß die Unterschiede beim Lesen und Schreiben sind, habe ich mir gerade das Programm CrystalDiskMark geladen. Aber im Grunde kann man die Performance von Datenträgern auch mit Windows-Bordmitteln testen.
In einer Admin-Console oder der Powershell kann die Tests ausführen:
winsat disk -seq -read -drive x winsat disk -seq -write -drive x
winsat disk -ran -read -drive x winsat disk -ran -write -drive x
Das werde ich mal auf meinen Rechnern durchspielen – sowohl auf die fest verbauten SSD und HDD als auch die externen Ressourcen an verschiedenen Anschlüssen.
Docker und Windows – nicht wirklich prickelnd
Je mehr ich mich mit Docker beschäftige, desto mehr macht mir die Sache Spaß. Docker ist verdammt interessant und ich sehe für mich da wirklich einige Anwendungen – auch über Cordova hinaus.
Ich werde das Docker-Thema auf jeden Fall vertiefen und wohl auch mein Cordova-Training bei LinkedIn Learning (LiL) dahingehend auf Stand bringen. In meiner Linux-VM habe ich jetzt das Cordova-Image soweit aktualisiert, angepasst und erweitert, dass das Kompilieren einer Android-App sauber durchgeht. Das war ja das ursprüngliche Ziel, warum ich mich wieder mit Docker beschäftigt habe.
Aber unter Windows bekomme ich Docker einfach nicht vernünftig zum Laufen. Ich habe den Standard-Docker-Desktop installiert und Docker läuft im Grunde auch unter Windows. Aber ich kann kein Image laden und nicht einmal den beiliegenden Testcontainer starten. Weder auf meiner Workstation mit Windows 10 Pro noch meinem Mate-Notebook mit Windows 10 Home. Die meisten Fehler deuten darauf hin, dass die Docker-Engine nicht gefunden wird (sowas open \\.\pipe\docker_engine_linux), Rechteprobleme oder das Image nicht geladen werden kann. Fängt man an zu schrauben, gibt es auch leicht Probleme mit dem Daemon etc.
Im Internet findet man zu den Problemen gut 30 – 40 verschiedene Lösungsvorschläge. Leider nur die klassischen Ideen, auf die man auch selbst kommt. So etwas wie
- Neustart von Daemon, Console, Rechner etc.,
- Admin-Rechte nutzen,
- an Hyper-V und WLS2 rumdrehen,
- Firewall konfigurieren,
- mit net stop und net start den Service neu starten,
- die Powershell statt der normalen Konsole verwenden bis hin
- zur Neuinstallation von Docker.
Also reine Standardware bzw. die üblichen Tipps, die bei mir nicht den geringsten Erfolg gebracht haben.
Nun kam aber das Komische. Auf meinem alten Notebook – auch mit Windows 10 Pro – läuft Docker. Keine Ahnung warum. Sehr seltsam … – aber ich werde auch da dann mal das Cordova-Image versuchen zu installieren. Es scheint im Moment zu laden, aber im ersten Versuch gab es schon nach einer Weile einen Abbruch :-(.
Ich werde Docker wohl morgen auf meinem iMac testen, aber ich gehe davon aus, dass ich auch da keine Probleme bekomme. Ist ja die gleiche Basis wie Linux.
Aufnahmen im Kasten
Fertig. Die neuen Videoaufnahmen für LinkedIn Learning (LiL) sind im Kasten. Das nächste Projekt ist eine Überarbeitung von einer meiner Schulungsunterlagen für den Herdt-Verlag.
Neue Marketingaktion von LinkedIn Learning: Kurse, die Jobsuchenden zum passenden Job verhelfen
Aktuell bin ich wieder an den Aufnahmen zu einem neuen Training für LiL (LinkedIn Learning). Nachdem ich gestern bis ca 21:30 Uhr am Schaffen war, war ich heute morgen ziemlich früh wach geworden, weil vor dem Haus eine Schneeschippe über den Asphalt gekratz hat. Ein kräftiges Schneegebiet ist in der Nacht über die Gegend gezogen.
Erst einmal bin ich wieder an weitere Aufnahmen gegangen, aber der schöne Schnee hat mich dann gleich zu einer Unterbrechung mit einem Waldlauf gebracht, um das Winterwunderland zu geniesen, bevor wieder alles wegtaut.
Danach bin ich weiter an die Aufnahme, wobei eben die E-Mail reinkam, dass bei einer neue Marketingaktion von LinkedIn Learning, die heute angelaufen ist, mein Kurs zu Python dabei ist. Es handelt sich dabei um 5 Kurse, die bis zum 30. Januar 2021 freigeschaltet sind.
Die Kampagne im Überblick
Die Jobsuche ist immer eine Herausforderung, jedoch in der aktuell schwierigen wirtschaftlichen Situation ist diese noch viel schwerer.
LinkedIn Learning möchte gerne helfen. Dazu haben wurde eine Liste der Top-Kurse aufgestellt, die Mitglieder, die im letzten Jahr erfolgreich einen neuen Job gefunden haben am meisten angesehen haben. Einer dieser Kurse ist eben mein Kurs zu Python.
Es stehen die erste Videoaufnahmen 2021 an
Heute habe ich mich aber schon in meinem „Studio“ in Eppstein eingerichtet, das erste Probevideo aufgenommen und auf Sharepoint geladen.
Während ich der Dinge (sprich – der Kontrolle, ob alle Einstellungen ok sind) geharrt habe, habe ich einen kurzen Waldlauf über den Staufen gemacht. Obwohl es am Anfang brutal hochgeht, ist das meine absolute Lieblingsstrecke. Und da im Moment Eppstein direkt an der Schneefallgrenze liegt, gibt es im Tal zwar kaum Schnee, aber oben auf dem Staufen ist es richtig schön winterlich. Zwar nur ein paar Zentimeter, aber immerhin.
Weihnachtsgeschenk von LinkedIn Learning
Eben kam ein etwas verfrühtes Weihnachtsgeschenk von LinkedIn Learning (LiL) an. Vor einigen Wochen konnte sich alle LinkedIn-Instructors melden, wenn sie eine Kappe aus einem gewissen Kontingent haben wollen. „First come first serve“ oder so. Und bei mir hat es geklappt :-).
KI und Datenauswertung von Facebook anscheinend komplett fehlerhaft
Da redet alle Welt von „Künstlicher Intelligenz“ (KI oder AE) und „Big Data“ bzw. der automatisierten Datenanalyse und gerade Facebook scheint es nicht hinzubekommen, aus Daten die richtigen Schlüsse zu ziehen. Ich werde seit einigen Monaten mit irrelevanter Werbung genervt. Dummerweise habe ich mich auf das Spiel eingelassen und die dann versucht zu verbergen und auch explizit als „irrelevant“ angeklickt. Seit dem bekomme ich sie immer mehr angezeigt. Rein aus Ärger habe ich das Prozedere jetzt gut 20 – 30 Mal gemacht und jetzt bekomme ich als Resultat diese Werbung ausschließlich vorgesetzt.
Frei nach dem Motto. „Dich interessiert das nicht und du wirst es nie kaufen? -Dann nerven wir so lange, bis du aufgibst!“
Es ist so auffällig, dass es nur so sein kann, dass in irgendeinem Auswertealgorithmus von Facebook ein Pluszeichen und ein Minuszeichen wohl vertauscht sind. Je weniger ein Thema interessant ist, desto mehr Werbung aus dem Bereich schicken wir. Das sollten die Werbetreibenden auch mal beachten, bevor sie der Datenkrake Geld für vollkommen falsch platzierte Werbung in den Rachen werfen. Und als Anwender darf man nicht eine der angebotenen Interaktionslinks von Facebook anklicken. Auch wenn man da anscheinend gewisse Dinge einstellen kann – das wird in jedem Fall negative Folgen haben :-(.
Vielleicht sollten die Programmierer bei Facebook mal meine Trainings bei LinkedIn Learning zur Datenanalyse ansehen.
Tools mit Python entwickeln – neuer Onlinekurs
Und da isses ja – mein neues Onlinetraining von LinkedIn Learning (LiL). Gerade rechtzeitig zum Wochenende veröffentlicht. Thema bzw. Titel ist „Tools mit Python entwickeln – Software & Tools„.
Es handelt sich wieder einmal um eine US-Adaption, in der die Strategien und Techniken der Erstellung von Tools mithilfe von Python ausgearbeitet werden.
Künstliche Intelligenz und Überwachung – sehenswerter, wichtiger Beitrag auf ZDF Info
Bei ZDF Info ist ein sehr guter, informativer und ziemlich beunruhigender Beitrag zum Thema „Künstliche Intelligenz und den Wettlauf der Großmächte“ zu finden. Weniger technisch, aber die Auswirkungen auf die Arbeitswelt und vor allen Dingen auf die Privatsphäre werden da beleuchtet. Mit den „üblichen“ Ausführungen zu der kompletten Spionage durch Facebook, Google und Co über ihre Webseiten als auch die sogenannten „Smart“-Geräte (Synonym für Wanzen), aber auch wie Staaten versuchen, mit Überwachung als auch KI (oder auch kurz AI für artifizielle Intelligenz oder englisch AE für artificial intelligence) das ganze Volk unter komplette (Gedanken-)Kontrolle zu bekommen (und leider tut sich da gerade China ziemlich negativ hervor). Aber es wird auch vertieft, wie man durch (as-)soziale Medien gezielt manipulieren kann. Die damalige Cambridge-Manipulation der US-Wahl durch Facebook-Daten als Aufhänger, wird auch das Thema weiter gesponnen.
Alles in allem beunruhigende Vorstellungen, ich mich sowohl als reines Opfer (Bürger bzw Kunde bzw einfach Mensch) betreffen, aber zudem meine eigene Arbeit berühren. Denn ich verdiene ja durchaus an Techniken wie Künstlicher Intelligenz, Datenauswertung im Allgemeinen, Data Science oder Big Data und Maschinenenlernen sowie Datenanalyse. Sei es durch Videotraining bei LinkedIn Learning (LiL), sei es durch Schulungen, die in dem Umfeld ablaufen (gerade heute habe ich ein Vorabgespräch zu so einer Schulung gehabt).
Ich habe definitiv kein schlechtes Gewissen dabei, denn per se sind die Techniken nicht schlecht oder böse. Aber man muss verdammt wachsam sein, dass sie nicht missbraucht werden und wo sie es schon werden – sei es bei Facebook, Google, Apple, Amazon oder auch Staaten, muss man dies immer wieder deutlich machen. Das gilt gerade für Leute für mich, die zumindest im weiteren Zirkel der Entwicklung aktiv sind.
Es gibt einfach zu viele Eloi in der Welt und die Morlocks haben zu leichtes Spiel.
Und was ich gerade beim Schreiben des Beitrags nur beiläufig bemerkt habe – in meinem Firefox Browser war plötzlich die Standardsuchmaschine von DuckDuckGo auf Bing umgestellt. Die Jäger versuchen wirklich mit allen Tricks Opfer zu erlegen. Eine Sekunde nicht aufgepasst und man verwendet keine sichere Suchmaschine wie DuckDuckGo mehr, sondert landet mit Suchanfragen bei einer Datenkrake.
Uffbasse Leute, uffbasse!
Ich habe fertig
Die Aufnahmen des neuen Videotrainings für LiL (LinkedIn Learning) sind beendet. Jetzt steht erst mal wieder nächste Woche eine Remoteschulung an.
Go
Nachdem das Testvideo hochgeladen wurde, bin ich über meinen Kinderspielplatz – den Staufen – gejoggt, um die Zeit zu nutzen, bis das Testvideo begutachtet war. In kurzen Hosen und mir ist die Sonne dermaßen warm auf dem Pelz gebretzelt – das ist im November eigentlich undenkbar.
Nachdem ich zurück war, war auch das Go da und jetzt bin ich kräftig am Aufnehmen.
Wieder am Start
2. November, Lockdown light, unglaubliche 20 Grad im Schatten und ich bin wieder am Start für die Aufnahme eines neuen Videotrainings für LiL (LinkedIn Learning).
Normalerweise wäre ich dazu heute morgen nach Graz geflogen, aber die Umstände haben die Flugreise – wie immer seit Februar – zu einer kurzen Autofahrt in mein Zweitbüro nach Eppstein abgewandelt, wo ich mein Tonstudio eingerichtet habe. Vermutlich habe ich mir dabei bei den hohen Temperaturen die Winterreifen ruiniert ;-).
Das erste Testvideo ist eingespielt und hochgeladen und ich warte auf das Go, um richtig loszulegen. Die Zeit werde ich nutzen und nochmal kurz joggen gehen. Das fühlt sich im Moment wie Sommer an.
Wie beim Brezelbacken – das nächste Online-Training ist da
Ich habe über das Jahr wirklich sehr viele Videotrainings für LiL (LinkedIn Learning) eingespielt und nächste Woche geht es gleich weiter mit Aufnahmen zu einem Framework. Aber die Woche ist erst einmal wieder ein Ergebnis meiner bisherigen Aufnahmen im Sommer veröffentlicht worden. Der Titel ist „Python für Fortgeschrittene – Fortgeschrittene Python-Funktionen kennenlernen und optimal nutzen„.
Es handelt sich bei dem Training um eine Adaption eines US-Kollegen, das sich an Python-Entwickler richtet, die tiefer in die mächtige Programmiersprache einsteigen und seine Leistungsfähigkeit und Flexibilität voll ausnutzen wollen.
Python und Excel: Strukturierte Daten bearbeiten – Daten aus Tabellenkalkulationsprogrammen mit Python bearbeiten
Die 5 wachstumsstärksten Kompetenzen bei Fach- und Führungskräften im deutschsprachigen Raum
LinkedIn Learning (LiL) hat eine neue Kampagne zu den am schnellsten wachsenden Kenntnissen und Fähigkeiten ins Leben gerufen und mein Kurs „Python lernen“ ist Teil dieser Kampagne. In der Kampagne sind 5 Kurse vom 20. Oktober bis 20. November freigeschaltet und mein Python-Kurs steht da sogar als Top 1.
Die Kursthemen ergaben sich auf der Grund der Fragen, welche Kompetenzen deutsche, österreichische und Schweizer Fach- und Führungskräfte derzeit für besonders wichtig halten? Und mit welchen Kenntnissen und Fähigkeiten wollen sie potenzielle Arbeitgeber überzeugen? Dass das Thema Python hier dabei ist, deckt sich auch mit den Erfahrungen, die ich im Moment hinsichtlich der Nachfrage von Schulungsthemen habe.
Das ist schon das zweite Mal, dass Kurse von mir bei solchen Aktionen dabei sind :-). Vor geraumer Zeit wurden zwei meiner Kurse bei LiL in einer Kampagne von Microsoft und LinkedIn ausgewählt. Und zwar Python für die Datenanalyse 1: Grundlagen und Python für die Datenanalyse 2: Machine Learning. Es handelte sich dabei zwar „nur“ um Adaptionen von US-Kursen, aber ich bin dennoch stolz auf die Aufnahme und erst Recht auf diese neue Auswahl mit einem vollständig eigenständigem Kurs.