Neue Videos im Online-Training zu JavaScript

Bei LinkedIn Learning (LiL) wurde mein eines Videotraining zu JavaScript um zwei Themen erweitert. Das eine dreht sich um Promises und das andere, wie man Elemente mit querySelector und querySelectorAll auswählen kann.

Django bzw. 2-facher Doppelschlag

„Doppelschlag“ aus der Überschrift kann man auf zwei Arten verstehen:

  1. In der Woche wurden bei LinkedIn Learning (LiL) gleich 2 neue Video-Training von mir veröffentlicht. Anfang der Woche die Überarbeitung meines Grundlagen-Trainings zu C und gestern dann ein brandneues Django-Training.
  2. Mit dem neuen Django Grundkurs verbinde ich die beiden IT-Technologien (Python und Web-Programmierung), die ich in den letzten Jahren wohl am meisten verwendet habe.

Django ist ein quelloffenes und serverseitiges Webframework, das die Programmiersprache Python mit einer modernen Architektur zur Generierung der klassischen Webtechnologien für den Client kombiniert. In meinem Grundlagenkurs zeige ich die Philosophie des Frameworks und beschreibe ausführlich die Installation und den Dateiaufbau eines Django-Projekts sowie den Betrieb in einer virtuellen Umgebung. Weitere Filme beschreiben den Unterschied zwischen einem Projekt und einer App, beleuchten das MVT-Schema, Views und Templates, und Sie sehen, wie Sie mittels QuerySets auf Datenbanken zugreifen. Schritt für Schritt lernen Sie, wie Sie ein eigenes Projekt starten und eine eigene Webapplikation entwickeln.

Es gibt ein neues LiL-Videotraining – mein neuer C Grundkurs

Heute ist bei LinkedIn Learning (LiL) ein neues Video-Training von mir erschienen. Wobei „neu“ etwas genauer beschrieben werden muss, denn es handelt sich um eine Überarbeitung eines Trainings, das ich schon vor vielen Jahren aufgenommen hatte. Aber die Überarbeitung ist sehr umfangreich gewesen und deshalb kann man in der Tat von „neu“ sprechen. Thema ist die Programmiersprache C. Also die Kernsprache fast aller modernen Programmiersprachen. Das Video-Training stellt das Syntaxkonzept von C ausführlich vor und Sie lernen Schritt für Schritt, wie Sie mit einer geeigneten Entwicklungsumgebung Programme schreiben können. Durch seine Strenge zwingt Sie C von Anfang an zu einem sauberen und strukturierten Programmierstil, was in Ihrer späteren Karriere zur/zum Entwickler:in von unschätzbarem Vorteil sein wird. Mit Hilfe zahlreicher Challenge/Solutions-Filme können Sie Ihr erworbenes Wissen immer wieder testen und Ihre Lösungen mit vorgegebenen Lösungen vergleichen.

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.

Thunderbird und das Zertifikat :-(

Diese Woche war ich zum Aufnehmen eines Videotrainings für LinkedIn Learning sowie der Erledigung einer weiteren Zusatzaufgabe hauptsächlich in meinem Büro in Eppstein. Da arbeite ich mit meinem Mate-Notebook. Ab Mittwoch konnte ich von da aber keine Mails mehr mit meinem Standard-Email-Account verschicken. Empfang ging und auch das Versenden meiner anderen Accounts beim GMX ging problemlos. Seltsamerweise ging das Versenden über meinen Standard-Email-Account per SmartPhone weiter ohne Probleme. Also habe ich ein Problem auf dem Matebook angenommen und mich erst einmal nicht weiter darum gekümmert. Aber zurück in Bodenheim konnte ich auch an der Workstation keine Emails mit dem Standard-Email-Account versenden. Was mich dazu gebracht hat, mir die Fehlermeldung anzusehen.

Ich habe nun einen eigenen V-Server und den zertifiziere ich mit Let’s Encryp. Thunderbird hat nun gemeldet, dass das Zertifikat meines Servers aber nicht ok wäre. Von einen Tag auf den anderen. Mein Zertifikat wird automatisiert in regelmäßigen Abständen erneuert und mittlerweile wird Let’s Encryp auch recht gut akzeptiert. Die plötzliche Meldung von Thunderbird war daher für mich unverständlich, auch wenn in der Tat der eingetragene Server im Zertifikat durch meinen V-Server wohl etwas kritisch sein kann. Aber man kann da ja Sicherheitsausnahmen  in Thunderbird einrichten. Und genau das habe ich gemacht.

Wirkungslos. Beim Versenden per SMTP immer wieder die Fehlermeldung.

Also alle Einstellungen in Thunderbird von links auf rechts gedreht und wieder zurück. Verschlüsselungsverfahren, Ports, etc. in allen denkbaren Varianten ausprobiert.

Wirkungslos.

Dann auf dem Server explizit alle Zertifikatseinstellungen untersucht und aktualisiert bis hin zum Neustart des Servers.

Wirkungslos. Weiter die Fehlermeldung in Thunderbird und kein Versenden möglich.

Dann mich erinnert, dass das Versenden mit dem SmartPhone doch ging. Weiterhin keine Probleme. Und dann erinnert, dass ich auf meinem alten Terra-Notebook noch eine ältere Version von Thunderbird installiert hatte. Ausprobiert. Versenden problemlos möglich. Alle Einstellungen verglichen (inklusive Zertifikate). Identisch. Älterer Thunderbird – keine Probleme. Neuerer Thunderbird – ignoriert Sicherheitsausnahme und kein Versenden möglich. Angeblich könnte der Fehler in Thunderbird auch von Antivirenprogrammen kommen. Deaktiviert.

Wirkungslos.

Aus Verzweiflung andere E-Mail-Clients wie eM, Pegasus und sogar Outlook (was ich eigentlich unter keinen Umständen nutzen will) ausprobiert. Maximal ein Hinweis auf das Zertifikat und ob ich trotzdem den Server nutzen will? Danach Versenden problemlos möglich.

Nun nutze ich eine portable Version von Thunderbird und auf den NAS habe ich davon eine lauffähige Kopie, die ich aber schon seit vielen Monaten nicht mehr gestartet hatte. Mit all den gleichen Einstellungen, wie auf dem Notebook und der Workstation. Ausprobiert – Warnung hinsichtlich des Zertifikats. Sicherheitsausnahme eingerichtet. Versenden danach problemlos. Laden der Emails ebenso.

Alle Einstellungen verglichen – identisch.

Thunderbird – was machst Du?

Ich arbeite jetzt mit der Version vom NAS weiter, denn da ist vermutlich ein Update von Thunderbird unterblieben, das diesen ganzen Müll bewirkt, und vermeide eine Aktualisierung dieser Version. Außerdem behalte ich für alle Fälle noch Pegasus – auch wenn das Programm optisch schon antik daherkommt. Zudem hoffe ich, dass die Version von Thunderbird, die im Moment das Problem hat, durch ein kommendes Update vielleicht wieder korrigiert wird. Aber Spass machen diese elenden Probleme wirklich nicht und obwohl ich Thunderbird seit vielen Jahren die Treue halte – ich bin massiv am Überlegen, ob ich nicht auf ein anderes Email-Programm umsteige. Und wie ernst es mir ist, sollte man daran erkennen, dass ich sogar Outlook in Erwägung ziehe.

 

 

OpenStreetMap statt Google oder Bing

Im Rahmen meiner Vorlesung zur Entwicklung von plattformneutralen Apps mit Cordova an der TH Bingen ist mir aufgefallen, dass die Verwendung des Google Map-APIs nicht mehr so funktioniert hat, wie ich es gewohnt war. Ältere, aber erprobte/getestete Codes haben einen Fehler produziert. Ich stelle den Studenten schon seit ein paar Semestern als eine mögliche Semesterarbeit eine App als Aufgabe, die unter anderem die aktuelle Position in einer Karte zeigen soll. Dabei habe ich bisher Google Maps und als Alternative Bing Maps verwendet. Die jeweiligen APIs ließen sich bisher problemlos verwenden. Nur benötigt man mittlerweile bei neuen Versionen der APIs dafür API-Keys. Die sind zwar kostenfrei zu bekommen (mit ein paar Einschränkungen hinsichtlich der erlaubten Verwendung), aber die Generierung ist dennoch mittlerweile etwas umständlich bzw. ich komme mit den unendlich vielen Details und unübersichtlichen Entwicklerwebseiten einfach nicht klar. Die speziellen Features der neuen Versionen habe ich auch bisher nicht benötigt.

Die Version 2 des Google Maps API hat aber keinen API-Key erfordert und war deshalb sowohl für meine Beispiel-Apps als auch viele Webseiten immer noch eine sehr gute Wahl. Nur das Problem in der Vorlesung beim Verwenden der alten Codes hat mich zu der Info auf den Entwicklerseiten von Google gebracht:

The Maps JavaScript API v2 is no longer available as of May 26, 2021. As a result, your site’s v2 maps will stop working, and will return JavaScript errors. To continue using maps on your site, migrate to the Maps JavaScript API v3. This guide will help you through the process.

Ganz toll – einfach die API-Version eingestellt und die bisherigen Webseiten und Apps sind an die Wand gefahren. Bei Bing Maps war es nicht besser – die alten Codes funktionieren auch nicht mehr.

Oft haben das die Betreiber von Webseiten auch gar nicht bemerkt bisher, denke ich. Gestern war ich auf einer entsprechenden Webseite eines Gleitschirmvereins, wo die Karte nicht mehr funktioniert. Klar – man kann argumentieren, dass Entwickler die Verantwortung haben, die Funktion ihrer Produkte regelmässig zu kontrollieren. Aber das ist m.E. nur die eine Seite der Medaille. Man kann auch argumentieren, dass es eine Art „Bestandschutz“ gibt. Was einmal getestet ist, sollte auf Dauer funktionieren. Da sieht man mal wieder, in welche Abhängigkeiten man sich begibt, wenn man fremde Ressourcen und Leistungen nutzt. Die aktuellen Probleme bei einigen Cloud-Anbietern passen in diese Problematik.

Und me culpa – auch auf einer meiner Seiten hatte ich eine Karte mit dem Google Maps API, die nicht mehr korrekt angezeigt wurde und was ich bisher nicht bemerkt hatte – es hatte sich bisher auch kein Besucher beschwert.

Einer meiner Studenten hatte sich vor einigen Tagen wegen dieser ganzen Umstände mit dem Google Maps bzw. Bing Maps API so geäußert, dass er auf OpenStreetMap umsteigen würde. Fand ich eine gute Idee und deshalb hatte ich schon vor ein paar Tagen damit sowie Mapbox experimentiert. Auch in Verbindung mit einer Django-Webseite, weil ich die nächsten Wochen dazu ein Videotraining bei  LinkedIn Learning einspielen will, wo ich diese Techniken in Beispielen nutzen will.

Aber erst einmal habe ich jetzt die Webseite, die ich betreue, auf OpenStreetMap umgestellt.

Die Seite arbeitet mit Joomla! und da taugt das OSModul ziemlich gut, um auf einfache Weise eine Karte von OpenStreetMap in eine Webseite zu integrieren.

 

Fingerprinting

Ich bin gerade über einen Beitrag gestolpert, der die Vermeidung von Spuren im Internet zum Thema hat. Ich finde den Beitrag wirklich gut. Nicht zu technisch, aber auch nicht zu trivial wie sonst meistens.

Nun achte ich natürlich stark darauf, dass ich wenige Spuren im Internet hinterlasse bzw. die Spuren ganz bewusst lege, um Datenspione gezielt irrezuführen. Aber so ganz man kann nicht komplett unsichtbar bleiben. Sonst wird es zu mühselig und viele Dinge im Internet funktionieren sogar gar nicht.

Klar akzeptiere ich Cookies. Vollkommen uneingeschränkt. Und ebenso selbstverständlich werden die beim Schließen eines Browser komplett beseitigt. Ein Nullsummenspiel sozusagen. Cookies sind aber sowieso harmlos und werden ja nur als Ablenkungsmanöver missbraucht, um Anwender solange mit nervigen Meldungen mürbe zu machen, damit Datenschutz nur noch als Belästigung gesehen wird und sie nicht mehr auf echte Datenschutzprobleme achten. Tja – die DSGVO. Vielleicht gut gedacht, aber grottenschlecht gemacht.

Natürlich bin ich auch nicht bei Fratzenbuch, Google, Amazon etc angemeldet, wenn ich andere Webseiten besuche oder gar in Suchmaschinen etwas suche und ja – DuckDuckGo und Ecosia statt Google oder Bing sind selbstverständlich.

Tracking wird mit Browsereinstellungen und ein paar Zusatztools blockiert und wenn es mir wichtig ist, nutze ich auch ein VPN (ist ja in Opera integriert) oder gar Tor. Dazu kommen regelmäßige Einsätze von Reinigungstools wie CCleaner, PrivZer und BleachBit.

Aber das Fingerprinting ist und bleibt ein Problem. Das zu verhindern ist nicht ganz so einfach. Im Gegensatz zum Fingerprinting selbst. Ich bin ja kein Hacker, aber selbst in meinen gewöhnlichen JavaScript-Büchern und meinen Videotrainings für LinkedIn Learning (LiL) zeige ich, wie einfach das im Grunde ist.

Nun habe ich gerade eine Webseite (Cover Your tracks) ausprobiert, die in dem Beitrag empfohlen wird, um zu testen, wie sicher der Browser ist. Und tatsächlich sind meine Standardbrowser nicht vernünftig gegen Fingerprinting gesichert. Vivaldi und Opera so gut wie gar nicht und es konnte ein eindeutiger Fingerprint ermittelt werden, Firefox ist etwas besser, aber auch noch nicht wirklich sicher und nur der Tor-Browser stoppt das Fingerprinting effektiv. Edge, Chrome etc. oder gar IE werde ich nicht testen, denn die Browser verwende ich sowieso nicht, da sie aus meiner Sicht noch in anderer Hinsicht unbrauchbar sind.

Ich werde mal auf die Suche gehen, ob es geeignete Erweiterungen gibt, mit denen ich Vivaldi, Opera und Firefox richtig schützen kann. Denn so sicher der Tor-Browser ist – darüber ist das Surfen langsamer und machen Seiten gehen auch nicht.

Und Action – LAMAX W9.1

Ich habe eine neue Action Cam! Was sowohl beruflich als auch für die Freizeit von Bedeutung ist.

Für meinen Fliegerblog nehme ich seit vielen Jahren Videos und Bilder mit einer Action Cam auf, die ich meist am Helm befestigt habe. Gelegentlich brauche ich so ein Multimediamaterial aber auch beruflich, denn wenn ich etwa Videos in meinen Videotraining bei LinkedIn Learning zum Zeigen von Mutimedia-Features verwenden will, ist das mittlerweile ein echtes Rechteproblem – bei fremden Material. Also nehme ich dazu selbst aufgenommene Bilder und Videos, aber im Fall von Audiodateien auch Musik, die selbst komponiert und eingespielt habe oder die von meiner Band stammt.
Nun kam als Action Cam bei mir bisher eine GoPro zum Einsatz. Eine GoPro der 2. Generation! Was darauf hindeutet, dass die schon viele Jahre alt ist – ca 12 Jahre genau genommen. Das merkt man an der Bildqualität, aber das ist nicht einmal das Schlimmste – die GoPro muckt rum. Immer mehr. Im Grunde schon seit etwa 1 Jahr. Ich habe sie vor einiger Zeit zerlegt, richtig sauber gemacht und zurückgesetzt und danach hat sie teils wieder schöne Dauerbilder gemacht, aber sich auch teils vollkommen ohne Anlass abgeschaltet. Nun hat meine GoPro 2 über viele Jahre gute Arbeit geleistet, obwohl ich sie wirklich oft verwendet und ziemlich hart rangenommen habe und die Cam hat ihr Geld wirklich verdient. Also sei es ihr verziehen, dass sie so langsam müde wird.
Nur – mit dem Zustand, dass das Ding einfach nicht mehr zuverlässig ist, habe ich mich nun längere Zeit herumgeschlagen und mehrere Flugtage keine Bilder oder Videos sauber hinbekommen. Für den kommenden Black-Friday hatte ich daher schon seit Monaten vor, nach einem Ersatz zu schauen. Aber der Ausfall am letzten Wochenende hat mich dann doch ziemlich geärgert, weil ich einen wirklich schönen Flug mit dem Gleitschirm hatte, von dem ich gerne die Aufnahme gesehen hätte.
Damit war die GoPro einfach reif. Ich habe über Wochen bereits Preise und Testberichte der verschiedenen aktuellen GoPros als auch mehrerer Cams von Billig-China-Marken verfolgt. Ich hatte in der Folge mehrere Billig-China-Cams in der Auswahl, denn im Grunde brauche ich die super Features der teureren GoPros nicht. Ich war kurz davor, mich für eine der China-Cams zu entscheiden, aber dann habe ich mir für alle infrage kommende Cams Referenzvideos auf YouTube angesehen. Und die Qualität fand ich erschreckend schlecht. Besonders dann, wenn das gleiche Material von einer teuren Cam von GoPro oder DJI im Vergleich gezeigt wurde.
Durch Zufall bin ich beim weiteren Suchen nach GoPro-Alternativen in einer seriösen Computerzeitschrift auf einen Test gestossen, bei dem eine Cam mit Namen LAMAX W9.1 REAL 4K 60fps als ungewöhnlich gut in der Klasse unter 200 EUR bewertet wurde. Die ist wohl nicht wirklich bekannt und hatte auf Amazon gerade einmal 3 Rezensionen – im Gegensatz zu zig Tausenden von Rezensionen bei den China-Cams oder den GoPros und anderen Platzhirschen. Wobei die Rezensionen bei den China-Cams in großen Umfang durch Geschenke bei 5-Sterne-Bewertungen gekauft bzw. verzerrt werden und dementsprechend für die Tonne sind.
Aber der Test in der PC-Zeitschrift war so überzeugend, dass ich kurzentschlossen am Sonntag – noch gefrustet von dem Ausfall der GoPro an dem Flugtag – die Lamax-Cam bestellt habe. Sie war auch nicht teurerer als die etwas besseren China-Cams, die auf Amazon so prägnant beworben werden, und ich habe mich einfach auf den Test verlassen. Erst nach der Bestellung habe ich gemerkt, dass die Lamax W9.1 auch gar keine China-Cam ist, sondern aus Tschechien kommt. Was in Hinsicht auf Geld in der EU lassen auch von Vorteil ist.
Vorhin kam die W9.1 an und natürlich musste ich sie gleich ausprobieren. Was gleich mit dem Problem verbunden war, dass nur eine Micro-SD als Speichermedium geht und ich sowas ich nicht da habe. Nur in einem SmartPhone für alte Daten. Die Daten darauf habe ich dann gesichert und die Karte in die Cam eingelegt. Mit dem Resultat, dass die SD-Karte zu langsam wäre. Alle Videos mit besserer Qualität werden verweigert. Erst bei HD mit 30 fps hat sich die Cam erbarmt und ein Video aufgenommen.

Aber eigentlich wollte ich erst einmal sehen, wie die W9.1 sich bei 4K schlägt. Ich war ob des recht niedrigen Preises unsicher, ob die Cam wirklich eine gute Wahl ist und wollte sie erst einmal ausführlich testen. Der Plan – wenn sie nichts taugt, soll sie zurückgehen und dann gibt es am Black Friday doch eine GoPro.

Das Thema ist durch.

Nach den kurzen Tests fällt mir nur negativ an der Lamax auf, dass die Verschlüsse sehr schwer bzw. fummlig aufzumachen sind und bei Dunkelheit die Bildqualität mau ist. Selbst das Video in der niedrigen Qualität ist jedoch eine Revolution gegenüber dem, was ich von der GoPro 2 gewohnt war. Wenn ich eine schnelle Micro-SD dann habe und 4K-Aufnahmen mache, kann das eigentlich nur noch besser werden. Dazu wird mit der Cam ein Zubehör geliefert, dass kaum ein Wunsch offen bleibt. Auch die App samt der WiFi-Verbindung ist der Burner.
Ich bin gespannt, wie die Qualität dann bei echten Aufnahmen wird, aber spontan bin ich von dem Ding begeistert. Ich frage mich echt, was eine GoPro der neuen Generation besser leistet, um den mehrfachen Preis zu rechtfertigen? Ich müsste mal Videos im direkten Vergleich sehen.

Gulp.js: Workflow in Webprojekten

Zur Zeit habe ich ja jede Woche die Veröffentlichung eines neuen  Entwicklertipps der Woche zu Python bei LinkedIn Learning (LiL) zu vermelden.

Aber es werden zusätzlich immer wieder vollständige Videotrainings publiziert. Natürlich nicht wöchentlich, sondern in unregelmäßigen Intervallen – halt gerade so, wie ich komplette Trainings aufgenommen habe und diese bei LiL fertig produziert wurden.

Jetzt ist es wieder soweit – Gulp.js: Workflow in Webprojekten ist da. Wieder eine US-Adaption eines Trainings. Das Original ist von meinem amerikanischen Kollegen Ray Villalobos konzipiert worden.

Es geht um die Optimierung des Erstellens von Websites. Denn so etwas ist im Laufe der Jahre ein ziemlich komplizierter Prozess geworden. Man erstellt nicht nur mehr einfach HTML-, CSS- und/oder JavaScript-Dateien. Oft verwendet man zusätzlich Tools wie CSS-Prozessoren wie Sass, um vor allen Dingen auch mit älteren Browser kompatibel zu sein.
Diesen Prozess der Webseiten-Erstellung kann man mit einem Tool namens gulp.js verwalten und optimieren. Damit gibt es eine konsistente, einfach zu verwendende Sprache auf Basis von JavaScript für die Erstellung und Verwaltung gängiger Aufgaben. In diesem Kurs geht es um die Konzepte hinter gulp.js.

Webseitenerstellung mit gulp.js optimieren aus dem Kurs „Gulp.js: Workflow in Webprojekten“ von Ralph Steyer und Ray Villalobos

Auf „Videotour“

Seit gestern bin ich wieder an neuen Aufnahmen für LinkedIn Learning (LiL). Dabei sind gleich 3 Aufgaben zu erledigen.

  1. Eine kleine Fehlerkorrektur über gut 10 Sekunden in einem schon recht alten UML-Training. Ein Wortdreher ist erst nach zig Jahren aufgefallen.
  2. Eine komplette Aktualisierung eines Trainings aus dem Jahr 2013. Da ist definitiv klar, dass das nicht mehr ganz auf dem aktuellen Stand sein kann.
  3. Ein paar weitere Entwicklertipps der Woche zu Python.

Es stehen also reine Aktualisierungen und Erweiterungen zu bereits vorhandenen Trainings von mir an.

Dynamische Klassen und Typinformationen generieren – aus dem LiL-Tutorial zu Python

In Python kann man mit type nicht nur zur Laufzeit den Typ eines Objektes bestimmen, sondern sogar dynamisch eine Klasse generieren. Und genau das ist das Thema meinem Entwickler-Tipp der Woche bei LiL (LinkedIn Learning).


Dynamische Klassen und Typinformationen generieren aus dem Kurs „Python-Entwicklertipps: Jede Woche neu“ von Ralph Steyer

An apple a day keeps the doctor away

Äpfel sind gesund und schmecken meist (nicht zuletzt in Form von Äppler im Gerippten – also unserem regionalen Apfelwein). Aber zu technischen Äpfeln habe ich ein sehr gespaltenes Verhältnis. Die Zeit, wo ich auf Apple-Produkte herab geschaut habe, nur um mich als etwas Besseres zu fühlen, sind vorbei. Man wird Altersmilde. Und auch wenn ich niemals ein Apfel-SmartPhone, -Tablet oder sonstiges -Consumergerät haben will. Mich hat ein uralter Mac Mini, den ich eigentlich nur vor Jahren im Rahmen meiner Videotrainings zu iOS-Entwicklung für LinkedIn Learning (LiL) eingesetzt hatte, vor einigen Monaten bei den Corona-bedingten virtuellen Proben meiner Band komplett beeindruckt.

Wir nutzen bei den regelmässigen virtuellen Proben ein Programm mit Namen JamKazam und damit kann man – einen entsprechenden Account, gutes Internet und passende Hardware vorausgesetzt – fast Latenzfrei direkt live zusammenspielen. Mein Highend USB Interface, das ich von LinkedIn Learning (LiL) für meine Remote-Videotrainings gestellt bekomme, ist schon mal ideal, aber nur mit dem Mac Mini gibt es das perfekte Zusammenspiel – im wahrsten Sinn des Wortes. Mit drei anderen Rechnern (alle mit Windows 10) gab es immer irgendwelche kleinen oder grossen Macken.

Nur beim Mac läuft alles „out-of-the-box“. Das hat mich zu der Überlegung gebracht, ob ich mir nicht doch mal einen neuen Apple-Rechner zulegen sollte. Der neue M1-Prozessor soll ja verdammt gut sein. Vielleicht einen Mac Mini der neuen Generation? Nur gibt es die Dinger leider nur mit winzigem RAM und minimaler SSD. Da ein späteres Aufrüsten nicht geht, wäre eine Anschaffung nur dann sinnvoll, wenn man den Rechner 2 oder 3 Jahre als Hauptrechner einsetzt und dann abstösst. Da ich aber die Sache mehr oder weniger als „Hobby“ bzw. zum Aufbau von etwas mehr Erfahrung in der fremden Apple-Welt betrachte, ist mir die Angelegenheit zu teuer. Das ist ja immer das Apple-Problem – mindestens doppelt so teuer wie die direkte Konkurrenz und Aufrüsten ist nicht vorgesehen. Der neue All-in-one-Rechner von Apple hat mich jetzt auch komplett abgeschreckt. Die Vermarktung und die Schwerpunkte sowie die erkennbaren Produktausrichtungen sind nicht meine Welt.

Aber es gibt ja noch den alten Mac Mini, der in meinem Büro in Eppstein verstaubt und nur seit einiger Zeit zu den besagten Bandproben 2 -3 x im Monat erwacht ist. Den habe wieder in mein Bodenheimer Büro mitgenommen, denn er ist immer noch leistungsfähig genug, auch wenn die neuste Version von macOS darauf schon nicht mehr läuft. Ausserdem kann ich einen Monitor drauf stellen und muss dafür nicht wie bisher ein Buch nehmen, um den etwas höher zu bekommen. Zwar habe ich keinen Monitor und auch keine Tastatur für den Mac Mini übrig, aber dem lästigen Umstecken begegne ich mit VNC. Damit bleibt auch der Schreibtisch leerer. Die minimale Verzögerung bei den Signalen kann ich akzeptieren und sollte ich wider Erwarten ernsthaft mit dem Mac arbeiten, kann ich ja für den Fall tatsächlich die Peripherie umstecken.

Das sollte für meine Apple-Ambitionen genügen und ich schaffe mir doch lieber wieder für weniger Geld einen leistungsfähigeren Rechner an. Aber auch das hat keine Eile – noch geht meiner Workstation, das Matebook sowieso und selbst mein altes Terra-Notebook kann als Backup-Rechner alles liefern, was sich brauche (wenn auch etwas gemütlicher).

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:

  1. 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.
  2. 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.

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

 

Nächste Woche geht es richtig los mit neuen Videoaufnahmen für LinkedIn Learning (LiL).
Das Jahr 2021 startet für mich also direkt mit Videoaufnahmen.

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 :-).

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!

 

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.

Beginnender Lagerkoller?

Beim morgendlichen Sondieren des Arbeitstags habe ich gerade mal ohne konkreten Anlass die verschiedenen Webcams von Graz angesehen und auf dem Schöckl liegt der erste Schnee – unglaublich.

So gut mir das Corona-bedingte Arbeiten zu Hause bzw. remote auch gefällt (insbesondere die Schulungen ohne Reiseaufwand) – ich vermisse meine regelmäßigen Trips nach Graz zu LinkedIn Learning. Rein aufnahmetechnisch geht es auch wunderbar in meinem „Studio“ in Eppstein, aber das ganze Rundherum bei LinkedIn Learning und in Graz geht mir schon ab. Da dieses Jahr die Trainer nicht mehr nach Graz kommen dürfen, bin ich also in 2020 nur 1x vor der Corona-Krise dort gewesen. Sonst die letzten 10 -12 Jahre mindestens 3 – 4 x im Jahr. Wirklich ungewohnt.

Die nächsten zwei neuen Videotraining sind freigegeben

Da bin ich doch gerade erst mit meinen aktuellen Aufzeichnungen fertig und dann fällt mir eben beim Besuch der Seiten von LinkedIn Learning auf, dass vor einer Woche gleich zwei neue Videotraining bei LiL freigegeben wurden.

Das eine Training ist JavaScript: In HTML 5 arbeiten.

Dabei geht es darum:


HTML und JavaScript zusammen bieten für alle Webprogrammierer das optimale (Programmier-)Sprachendoppel, wenn es um die Entwicklung moderner Webauftritte geht. Tatsächlich laufen viele Features, die unter HTML5 geführt werden, in Wirklichkeit unter JavaScript: Manchmal gehen sie zwar mit neuen HTML-Tags einher, andererseits gibt es oft nicht einmal eine zwingende Verbindung zu HTML. In diesem Video-Training werden ein paar anschauliche Beispiele zusammengetragen und der optimalen Code gezeigt, wenn es um Techniken wie Geolocation, Local Storage und Session Storage, Web Worker, Canvas oder auch SVG samt der dynamischen Manipulation geht. Auch Web Sockets als Grundlagen mächtiger Rich Internet Applications lernen Sie im Laufe des Kurses kennen.

Der zweite Kurs behandelt Java. Genau genommen geht es um die Neuerungen von Java 14.
Kursdetails – Java feiert im Jahr 2020 seinen 25. Geburtstag – und zählt immer noch zu den populärsten und wichtigsten Programmiersprachen. Da inzwischen neue Versionen im gefühlt halbjährlichen Turnus erscheinen, tut rechtzeitige Aufklärung Not. Ich habe mir für den Kurs Java 14 angeschaut und die wichtigsten Neuerungen in diesem Übersichtskurs zusammengefasst. Sie lernen zum Beispiel relevante Syntaxneuerungen kennen, sehen, wie Sie TextBlocks und Records nutzen und erfahren auch mehr zu den Erweiterungen des instanceof-Operators. Im Kontext stehen auch immer ältere Versionen und ein Blick in die Zukunft von Java.