Der aktuelle Entwickler-Tipp der Woche bei LiL (LinkedIn Learning) behandelt dieses Mal die Erweiterung von Objekten in Python.
Autor: ralph.steyer@rjs.de
Java 16 ist da
Die Version 16 von Java wurde gerade freigegeben. Seit der Einführung von Java 10 im Jahr 2018 verfolgt Oracle einen halbjährlichen Release-Plan. Damit soll man schneller auf Neuerungen im IT-Umfeld reagieren können. Ich persönlich finde die permanenten neuen Versionen allerdings nervig bzw. lästig. Die jeweiligen Neuerungen sind oft nur unter der Oberfläche, eher von kleiner Natur oder werden groß angekündigt und dann doch nicht implementiert. Das habe ich oft genug bei den letzten Versionen mitbekommen.
Aber sei es drum – auch wenn ich mich immer noch als Fan von Java sehe (vor allen Dingen den frühen Versionen), mache ich mit Java die letzten Jahre nicht mehr wirklich viel. Hin und wieder ein paar Online-Training für LiL (LinkedIn Learning) oder das Buch „Jetzt lerne ich Java“ von MuT. Aber irgendwie hat Java für mich ein wenig seinen Reiz verloren und auch die Anfragen für Schulungen oder Projekte im Java-Umfeld haben bei mir exorbitant abgenommen. Java fällt bei mir mittlerweile vor allen Dingen bei Schulungen zugunsten von Python fast komplett hinten runter. Was erstaunlich ist, denn Java war für viele Jahre neben clientseitiger Web-Programmierung meine Hauptsäule.
Was zu dem Fazit führt, dass ich gerade für April eine Java-Einzelschulung angenommen habe. Logisches Fazit, oder? 🙂
Gekaufte Inhalte
Heute habe ich eine Mail bekommen, ob ich hier im Blog nicht über ein IT-Produkt berichten wolle. Als Gegenleistung würde ich dafür eine Jahreslizenz geschenkt bekommen. Was indirekt natürlich bedeutet, dass der Bericht positiv ausfallen sollte. Obwohl das Produkt mir bekannt ist und ich es sogar schätze, habe ich den Deal abgelehnt. Gekaufter Content ist nicht mein Ding.
Klar – ich mache hier im Blog kräftig Werbung für meine Sachen – also meine Webseite, meine Bücher (s.u.) oder meine Onlinevideos bei LiL. Aber es wäre scheinheilig, wenn ich nicht zu meinen eigenen Erzeugnissen stehen und sie nicht vermarkten würde.
Aber Werbung für fremde Produkte, die dann als Content verschleiert wird, geht mir gegen den Strich. Ich bin doch kein „Influenza“. Klar – auf keinen Fall so cool wie diese „Beeinflusser“ (weil ich sowieso zu alt für sowas bin), aber ich habe auch so viel Stolz, nicht auf so ein Niveau (sorry an den Begriff „Niveau“ – du solltest eigentlich gar nicht mit dieser Krankheit in Verbindung gebracht werden, aber ein anderes Wort fällt mir im Moment nicht ein) abzusacken.
Und jetzt nutze ich den Anlass mal wieder, um meine im Eigenverlag publizierten Bücher ein wenig zu promoten.
Reguläre Ausdrücke – Kurz und bündig | |
Reguläre Ausdrücke – Kurz und bündigSeitenzahl: 104 Seiten ISBN: 9783753136493 Verkaufspreis: 11,99 € |
|
XML – Kurz und bündig | |
XML – Kurz und bündigISBN: 9783753133423 Format: DIN A5 hoch Seiten: 128 Softcover 14,99 € Erscheinungsdatum: 13.12.2020 |
|
COBOL – Grundlagenkurs für Ein- und Umsteiger | |
COBOL – Grundlagenkurs für Ein- und UmsteigerSeitenzahl: 188 Seiten Sprache: Deutsch ISBN: 978-3-753139-03-6 Verkaufspreis: 21,99 € |
|
Aufzucht und Pflege kleiner Webseiten mit HTML – Grundlagen der Webseiten-Erstellung | |
Aufzucht und Pflege kleiner Webseiten mit HTML – Grundlagen der Webseiten-ErstellungISBN: 9783741828829 Format: DIN A5 hoch Seiten: 300 Erscheinungsdatum: 01.07.2016 |
Es ist wieder Zeit für meinen Tipp der Woche
Mein Entwickler-Tipp der Woche bei LiL (LinkedIn Learning) behandelt dieses Mal einen kleinen, aber feinen Trick, um sichere Typvergleiche durchführen zu können. Der Trick an sich ist unabhängig von Python und in einigen anderen Sprachen wie JavaScript sogar noch nützlicher.
SmartPhone-Reparatur auf die brutale Art
Nachdem mein Power-Button als auch die Button zum Leiser- und Lauterschalten bei meinem SmartPhone nicht mehr gegangen sind, habe ich diverse Lösungen im Internet gesucht und dazu auch verschiedene Apps installiert, die eine Lösung zu versprechen schienen. Nix ging. Alles Sackgassen.
Eben hatte ich die Faxen dicke. Die Button haben gehangen, nachdem das SmartPhone auf den Boden gefallen war. Also habe ich es mehrfach kräftig auf den Tisch geschlagen.
Feuer mit Feuer bekämpfen sozusagen. Handy-Reparatur mit dem Hammer.
Was soll ich sagen – geht wieder. Vermutlich funktioniert das SmartPhone wieder rein aus Angst :-).
SmartPhone blockiert :-(
Sehr seltsames Phänomen. Mein SmartPhone ist mir runtergefallen und jetzt sind der Power-Button und die Button für Lauter und Leiser auf der Seite blockiert. Das SmartPhone reagiert nicht mehr darauf. Kann es also vermutlich nicht mehr anschalten, wenn es mal aus ist. Aber auch nicht runterfahren. Solange es noch läuft, ist das nur ein ärgerliches, aber nicht wirklich schlimmes Problem. Trotzdem – auf Dauer muss das gelöst werden oder ich brauche ein neues Gerät :-(.
Per pickle-Modul Objekte persistent machen – der neue Python-Entwickler-Tipp
Der Name des Moduls (pickle) klingt vielleicht etwas komisch, aber es ist im Standard-API von Python eine wunderbar einfache Möglichkeit, um damit Objekte persistent zu machen. Mein Entwickler-Tipp der Woche bei LiL (LinkedIn Learning) behandelt genau dieses Thema und ist gerade veröffentlicht worden.
Aufnahmen im Kasten
Die Aufnahmen für mein neustes Videotraining für LiL (LinkedIn Learning) sind im Kasten und es stehen jetzt nur noch ein paar Korrektur- und Nacharbeiten an. Nach dem Chaos-Tag gestern mit diversen Problemen ist es dann heute ganz ok gelaufen. Nur hatte ich auch heute mehrere Abstürze – sowohl von der Aufnahmesoftware, aber auch Browser-Tabs bis hin zu Windows selbst. Letzte Woche hatte ich das Problem bei meiner Remote-Schulung schon einmal, aber da hatte ich das auf das Meeting-Tool geschoben. Das hatte ich vorher noch nie verwendet und einfach als instabil eingestuft.
Nun scheint es mir aber, dass ich bei meinem Notebook ein Problem habe. Dabei fallen mir zwei Gründe ein, die dafür verantwortlich sein könnten:
- Der Platz auf meiner Festplatte ist extrem eng und ich habe schon an der Auslagerungsdatei geknapst, um da etwas Luft zu bekommen. Neben dem Auslagern von Programmen auf eine externe SSD. Aber da wird die Luft verdammt eng.
- Ich arbeite bei Remote-Schulungen und Videoaufnahmen mit drei Bildschirmen. Neben dem Notebookbildschirm schließe ich über Adapter zwei externe Monitore an und an den Adaptern hängen zusätzlich externe Festplatten und andere Periferiegeräte. Das ist ein ziemliches Kuddel-Muddel und möglicherweise kommt da Windows mit den Kanälen durcheinander.
Ich muss beide mögliche Ursachen untersuchen. So Abstürze habe ich sonst nicht und die sind verdammt lästig.
Wieder im „Studio“
Heute habe ich wieder mit neuen Aufnahmen für LiL (LinkedIn Learning) begonnen. Aber die Sache lässt sich ungewöhnlich mühseelig an. Ständig knallen mir Fehler während der Aufnahme rein. Von Rechnerabstürzen über Authentifizierungsprobleme bis hin zu Fehlern bei den Ressourcen. Alles dabei :-(.
Aber so ganz langsam finde ich in die Spur. Ich habe genug Zeit einkalkuliert und hoffe, dass es dann ab morgen besser läuft.
Google My Business
Vor einiger Zeit ist mir bewusst geworden, dass „Hinz und Kunz“ bei Google Maps mit ihren Unternehmen eingetragen sind. Selbst mit den Kleinsten. Klar – das habe ich im Grunde schon häufig „gesehen“, aber eben nicht im klassischen Sinn „wahrgenommen“. Schon gar nicht, dass ich das mit einem „Geschäft“ – also „My Business“ – auch machen sollte. Warum denn nicht?
Gut – nicht zuletzt durch Corona bin ich beruflich mehr oder weniger bis Anschlag ausgelastet und Marketing bzw. Werbung für neue Aufträge muss ich im Moment nicht machen. Aber es ist natürlich nicht klar, dass die Situation auf Dauer so bleibt. Gibt ja den Spruch, dass man für die Krise vorsorgen sollte, wenn es gerade läuft.
Also habe ich mich in Google Maps mit meinen beiden Standort eingetragen. Und wenn es nur Traffic auf meine Webseite leitet und damit meine Bücher und Onlinevideos bei LiL gekauft werden.
Jetzt hat mir nach der Anmeldung Google Post zugeschickt unter dem Stichwort „Google My Business“. Mit einem Gutschein für Google Ads. Den kann ich in der Tat gut nutzen, um meine im Eigenverlag publizierten Bücher ein wenig zu promoten. Denn da gibt es mittlerweile gleich 4 Stück.
Reguläre Ausdrücke – Kurz und bündig | |
Reguläre Ausdrücke – Kurz und bündigSeitenzahl: 104 Seiten ISBN: 9783753136493 Verkaufspreis: 11,99 € |
|
XML – Kurz und bündig | |
XML – Kurz und bündigISBN: 9783753133423 Format: DIN A5 hoch Seiten: 128 Softcover 14,99 € Erscheinungsdatum: 13.12.2020 |
|
COBOL – Grundlagenkurs für Ein- und Umsteiger | |
COBOL – Grundlagenkurs für Ein- und UmsteigerSeitenzahl: 188 Seiten Sprache: Deutsch ISBN: 978-3-753139-03-6 Verkaufspreis: 21,99 € |
|
Aufzucht und Pflege kleiner Webseiten mit HTML – Grundlagen der Webseiten-Erstellung | |
Aufzucht und Pflege kleiner Webseiten mit HTML – Grundlagen der Webseiten-ErstellungISBN: 9783741828829 Format: DIN A5 hoch Seiten: 300 Erscheinungsdatum: 01.07.2016 |
Mein Tipp der Woche – plattformneutrale Skripte mit Python
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.
Registierungszwang
Glücklicherweise hat das Formatieren der Speicherkarte und das gründliche Reinigen der Cam meine alte GoPro wieder einsatzfähig gemacht, wie es scheint. Auch wenn die Qualität der Aufnahmen und insbesondere die Bildstabilisierung heute nicht mehr zeitgemäß ist, bleibe ich dann erst einmal dabei. Der Überwachungswahn nimmt einfach unerträgliche Ausmaße an.
Glasfaser-Drama
Ab heute habe ich in Bodenheim Glasfaser! Angeblich. Von wegen – der Anbieter Herznet macht auf „Toter Mann“. Nix is.
Kann man verstehen. Sie hatten ja nur knapp über 1 Jahr Zeit ;-(.
Oh man, was ein Schrott. Vielleicht ist das aber auch typisch für das digitale Hinterland Deutschland. Vollkommen unfähig in Sachen Digitalisierung. Ich habe das Gefühl, das läuft wie beim BER – eine never-ending-Chaosstorry.
Zwar wurde vor gut 3 – 4 Monaten die Glasfaserleitung ins Haus gelegt, Und es war auch schon einmal ein Techniker da, um diese anzuschliessen. Nur hatte der Provider vergessen, einen Router zu liefern. Der Techniker ist wieder abgezogen mit der Zusage, man würde sich „kurzfristig“ (!) darum kümmern.
Nichts ist bisher passiert und der Freischaltungstermin ist jetzt verstrichen. Wir haben sogar immer noch keinen expliziten Vertrag oder so etwas, sondern nur den Vorvertrag. Damit auch keine Vertragsnummer, mit denen uns telefonisch Auskunft gegeben werden kann. Auch wurde die Zusage aus dem Vorvertag nicht eingehalten, dass mein bisheriger Provider-Vertrag von dem neuen Provider gekündigt wird. Die Kündigungsfrist beträgt 1 Jahr und offensichtlich bin ich immer noch bei meinem alten Provider mit langsamen DSL. Was übrigens auf meine letzte Beschwerde bei Herznet damit begründet wurde, wie würden sonst ab heute vermutlich ganz ohne Internet dastehen.
Das ist alles nur noch ganz grosser Pfusch und Schrott, was die da abliefern 🙁
Aktueller Tipp der Woche bei LiL – die with-Anweisung in Python
Der Apfel fällt nicht weit usw, usw …
Obwohl ich mich als einen eher ruhigen und introvertierten Typen sehe, verdiene ich dessen ungeachtet überwiegend mit „Reden vor Leuten“ im weitesten Sinn mein Geld. Wenn es fachlich wird und ich es bezahlt bekomme, funktioniert das anscheinend ganz gut. Immerhin habe ich einige Jahrzehnte Schulungen, Vorlesungen und Vorträge damit ja schon Erfahrung sowie nicht zuletzt mit meinen Kursen bei LiL samt der neuen Serie mit wöchentlichen Tipps & Tricks zu Python bei LinkedIn Learning. Und anscheinend gilt der alte Spruch vom Apfel, der nicht weit …
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.
Belegexemplare angekommen
Eben kamen die Belegexemplare von der Überarbeitung meiner Schulungsunterlagen beim Herdt-Verlag zum Thema „Programmierung Grundlagen“. Die Unterlagen habe ich vor 6 oder 7 Jahren als Autor übernommen und schon mehrfach aktualisiert.
Bluejeans
Und jetzt habe ich auch einmal Bluejeans für ein Online-Meeting verwendet. Alles irgendwie gleich. Die ganzen Tools nehmen sich im Grunde nichts.
Titanic vs Google Zensur
Google hat sich wieder einmal das Recht herausgenommen zu entscheiden, was Satire darf und was nicht. In der guten (oder üblen) Tradition anderer US-Zensoren wie Apple oder Facebook wurde eine kleingeistige US-Moral als Leitbild der Welt verordnet. Die App von Titanic im Playstore wurde als unseriös gebrandmarkt. Entweder von einem dumpfen Algorithmus oder – noch schlimmer – von dumpfen Zensoren, denen Kunst und Meinungsfreiheit suspekt sind.
Zugegeben – Titanic geht meist bis an die Grenze des Geschmacks und oft darüber hinaus. Ich kann auch persönlich oft damit nichts mehr anfangen. Aber das ist eben die Grundfreiheit unserer Gesellschaft. Die Freiheit der Kunst wird durch unserer Rechtssystem geschützt.
Eigentlich dachte ich, dass die USA auf diesen freiheitlichen Weg zurückkommen, nachdem „ER“ endlich zum Golfen weggeschickt wurde. Aber es zeigt sich ganz deutlich, dass man US-Firmen einfach nie trauen darf. Die kümmern sich weder um unsere Rechtssysteme noch Freiheit der Kunst oder so etwas.
Wenn ich das richtig mitbekommen habe, hat aber Titanic nach der Zensur durch Google das Heft des Handelns in die Hand genommen und seine App aus dem Zensur-Store selbst zurückgezogen.
Skype for Business
Gerade habe ich meine Python-Onlineschulung beendet. Dabei habe ich das erste Mal Skype for Business verwendet (Kundenwunsch). Bisher habe ich immer nur mit Teams geschult bzw. privat Zoom und JamKazam eingesetzt. Aber Skype for Business hat sich wider Erwarten ganz gut geschlagen. Gelegentlich ist meine Bildschirmpräsentation zusammengebrochen und in der letzten Stunde des letzten Tags bin ich 1x aus der Session geflogen – aber sonst ist das System stabil gelaufen.