KI bei Suchmaschinen

Ich habe gerade mit Bing die Suche per KI genutzt. Einfach um es auszuprobieren. Dazu habe ich sogar Edge verwendet. Schande, große Schande. Ist mir klar. Aber angeblich ist ja ChatGPT-4 mit Edge bzw. Bing mittlerweile direkt verknüpft. Zumindest kann man auf dem Weg recht einfach und ohne Warteliste schauen, was die Version 4 von GPT so drauf hat.

Man kann also bei der Suche im Internet die KI-Chat-Funktionalität nutzen, die derzeit in aller Munde ist und worüber ich ja auch im Kontext von Programmierung mein LiL-Videotraining „KI-unterstütztes Programmieren mit OpenAI und ChatGPT“ veröffentlicht habe. Aber ich muss sagen, dass ich diese Art der Verwendung einer Suchmaschine nur grauenvoll finde. Vollkommen ineffizient. „KI bei Suchmaschinen“ weiterlesen

GTP-4 API Warteliste

Ich habe mich eben auf die Warteliste für das GTP-4 API gesetzt. Ich glaube zwar nicht, dass die Sperre von ChatGPT in Deutschland wirklich durchkommt und zudem sollte so eine Zensur – falls sie denn doch kommt – keinen Einfluss auf die Zugänglichkeit von dem API haben (denke ich). Aber dennoch will ich rechtzeitig die Version 4 ansehen und schauen, ob ich die Fortschritte gegenüber GPT-3 erkennen kann. Die sollen ja riesig sein, wobei mich schon GTP-3 umgeworfen hat. Auch wenn in manchen Foren gelästert wird, dass die Möglichkeiten der KI eher mau und Ergebnisse oft falsch wären, sehe ich das ganz anders. Insbesondere ich Art der Interaktion ist für mich immer noch beeindruckend – auch wenn ich jetzt schon eine Weile damit experimentiere.

Interessanter Nebeneffekt – oder ehrlich gesagt für mich mehr als Nebeneffekt 😉 – der ständigen Medienpräsenz von KI (engl. Artificial Intelligence oder kurz AI) und wohl unabhängig davon, die Meldungen gut oder schlecht sind:

Die Besucherzahlen meiner Onlinevideos von LinkedIn Learning (LiL), die sich mit Künstlicher Intelligenz im weiteren Sinn oder auch mathematischen Grundlagen davon beschäftigen, haben gut angezogen. „GTP-4 API Warteliste“ weiterlesen

KI-unterstütztes Programmieren mit OpenAI und ChatGPT

Nachdem ich erst vorgestern aus Graz von neuen Videoaufnahmen bei LinkedIn Learning (LiL) zurückgekommen bin, habe ich direkt eine Mail von LiL zu einer internationaler Aktion erhalten, in der Kurse über künstlichen Intelligenz (KI) im Mittelpunkt stehen und auch ein Kurs von mir dabei wäre (Python für die Datenanalyse 2: Machine Learning von Lillian Pierson und Ralph Steyer). LinkedIn Learning hat weltweit etwa 100 LinkedIn Learning-Kursen zum Thema KI (engl. Artificial Intelligence oder kurz AI), die in der Kampange ab sofort bis zum 15. Juni kostenlos angeboten werden. Schon in dem Blogbeitrag zu der Aktion habe ich angekündigt, dass sehr bald von mir ein weiteres Training zum Thema KI folgen wird. Und tatsächlich ist es heute bereits soweit.

Das Videotraining „KI-unterstütztes Programmieren mit OpenAI und ChatGPT“ wurde veröffentlicht.

„KI-unterstütztes Programmieren mit OpenAI und ChatGPT“ weiterlesen

Achtung Aufnahme

Die ersten Tage der Woche nehme ich mal wieder Videotraining für LinkedIn Learning (LiL) auf. Allerdings nicht in Graz (da geht es im März wieder hin) sondern in Form von Homerekording in meinem Büro in Eppstein. Ein kleines neues Training zu einem derzeit extrem gehypten Thema und mehrere Ergänzungsvideos zu schon veröffentlichten Training stehen auf der Agenda.

KI, ChatGPT und OpenAI API

Man kommt aktuell in den Medien gar nicht daran vorbei. KI und vor allen Dingen die Möglichkeiten von ChatGPT fluten die Berichte, soweit zwischen den üblichen Meldungen rund um Krieg, Umwelt und Fussball noch Platz ist.

Da ich mich im Rahmen einiger Videotraining bei LiL ja mit Künstlicher Intelligenz (KI oder engl. AI für „artificial intelligence“) bzw. Maschinenlernen, Big Data und Co beschäftigt habe, musste bzw. muss ich mich mehr oder weniger zwangsläufig dem Hype um ChatGPT widmen. Auch deshalb, weil angeblich die Möglichkeiten von solchen Systemen gleich mehrere berufliche Tätigkeitsbereiche von mir massiv beeinflussen werden. „KI, ChatGPT und OpenAI API“ weiterlesen

Leaving Graz

Meine beiden Videotraining bei LinkedIn Learning sind eingespielt und ich verlasse Graz nach dem Mittagessen wieder. Das Aufnehmen hier in den Tonstudios ist vom Feeling als auch Arbeitsablauf etwas ganz Anderes als wenn ich Training im Homerekording aufnehme. Vermutlich merkt dennoch niemand, der ein Training ansieht, ob dieses in einem der Grazer Tonstudios oder im Homerekording aufgenommen wurde. Nur an einer Sache kann man m.E. erkennen, ob die Aufnahmen in Graz oder im Homerekording erstellt wurden – die Trailer zu den beiden Videotraining wurden im Filmstudio mit MeinerEiner vor der Kamera aufgenommen. „Leaving Graz“ weiterlesen

Graz calling

Ich warte am Flughafen Frankfurt auf meinen Flieger nach Graz. Es geht nach fast 3 Jahren endlich mal wieder zu  Videoaufnahmen bei LinkedIn Learning. Das bedeutet keinesfalls, dass ich in der Zeit keine Videotraining für LIL aufgenommen habe. „Graz calling“ weiterlesen

Schulungsjahr 2022 beendet

Gestern habe ich meinen letzten Schulungstag 2022 (falls nicht noch ganz kurzfristig was aufläuft) gehalten (zu Python) und eben habe ich die letzte Rechnung für eine Schulung erstellt und versendet. Damit schließe ich das Schulungsjahr 2022 ab. Allerdings kommt vor Weihnachten noch eine Woche mit Videoaufnahmen bei LinkedIn Learning in Graz, worauf ich mich richtig freue.

Einführung in JavaFX/OpenJFX

Wenn ich die Schulungen dieses Jahr durchgehe, kamen wieder eine ganze Reihe an Themen vor. Wie üblich mit einigen Schwerpunkten, die sich im Vergleich zu den Jahren zuvor aber teils verschoben haben. Andere Themen sind komplett weggebrochen oder ich habe sie nicht annehmen können und ich muss mir überlegen, ob ich die weiter im Schulungsprogramm behalte. Auch wenn ich sie persönlich meist immer noch interessant finde (etwa F#, GWT oder Perl) bzw. unabhängig von direkten Schulungen oft verwende (etwa Eclipse oder alles rund um mein Lieblingsbetriebssystem Linux, wofür ich aber keine aktuelles Schulungsagenda mehr ausgearbeitet habe – zu nahezu allen anderen Schulungthemen habe ich ja eigene Bücher und Schulungsunterlagen und/oder Videotraining bei LiL erstellt).

„Schulungsjahr 2022 beendet“ weiterlesen

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