Variablen tauschen – Tutorial zu Python

Schon seltsamer Zufall. Ich halte gerade eine Remote-Schulung zu C# und habe eben als Abschluss-Übung ein Beispiel durchgespielt, in dem die Teilnehmer mit einer Methode den Inhalt von zwei Variablen vertauschen sollen. Eben schaue ich, was der heute veröffentlichte Entwickler-Tipp zu Python für ein Thema hat. Tja – Variablen tauschen mit Python. Ich wusste es wirklich nicht, denn die Reihenfolge der Tipps und deren Veröffentlichung wird bei LinkedIn Learning entschieden. Bei Python geht so ein Vertauschen allerdings extrem elegant und kompakt. Weit weniger aufwändig als etwa in C#.

TV als preiswerter Monitor

Die Preise für Monitoren sind ja – wie auch bei anderer PC-Hardware – im Moment jenseits von Gut und Böse. Ich hatte jedoch eine Weile in meinem Haus in Eppstein die Einliegerwohnung neben dem Büro als Monteurswohnung angeboten und dafür einen kleinen und damals äußerst billigen Fernseher angeschafft. Wenn ich bedenke, dass ich für dieses Gerät kaum mehr als 100 EUR bezahlt hatte und sogar ein Receiver verbaut ist, habe ich keine Ahnung, wie sich so etwas rechnen kann. Klar – war ein Sonderangebot damals, aber der Leistungsumfang ist dennoch Wahnsinn. Nachdem ich die Wohnung mittlerweile aber dauerhaft vermietet habe, war das TV-Gerät überzählig.

An der Dockingstation von meinem alten Terra-Notebook hat dafür ein Monitor gefehlt. Den habe ich mittlerweile als 4. Bildschirm an meine Workstation angeschlossen.  Also aus der Not eine Tugend gemacht und bevor unnütz Geld für eine neuen Monitor ausgegeben, habe ich mal ausprobiert, wie sich das kleine TV-Gerät als Zweitmonitor macht. Das Teilchen ist wie gesagt für den Preis absolut gut ausgestattet und hat auch ein durchaus gutes Bild.

Auch – und darum geht es ja mir gerade – als Zweitmonitor taugt das Gerät. Ich bekomme bei Anschluss an die Dockingstation die gleiche Auflösung wie auf dem alten Terra-Notebook (die ist zugegeben auch verdammt niedrig mit 1366 x 768, aber das genügt).  Funktioniert wunderbar unter Linux, aber sogar auch unter Windows. Wenn man die aktuellen Preise von Monitoren betrachtet, ist also ein einfaches TV-Gerät eine mehr als preiswerte Alternative, um – zumindest bei älteren PCs bzw. Notebooks – einen Zweitmonitor zur Verfügung zu haben. Wobei ich mit dem Gerät auch nicht dauerhaft arbeite, denn ob das dann gut für die Augen ist, bin ich wirklich nicht sicher.

Firefox-GAU

Zwischen der Probe meiner Band am Mittwoch-Abend und dem heutigen Tag habe ich meinem Büro in Eppstein übernachtet, weil ich heute von da aus eine kleine Wintertour mit dem eBike durch die Berge vom Vorder-Taunus Richtung Feldberg machen wollte.

Nach dem Aufstehen war es aber noch so neblig, dass ich erst einmal mit den Korrekturen für die ILS angefangen und auch erst einmal die Webcams im Taunus gechecked habe, ob denn in der Höhe bereits die Sonne rausgekommen ist. Ich habe für so Zwecke ja mein CHUWI UBook Tablet in Eppstein deponiert. Nur wurden nach den ersten Korrekturen bzw. Minuten im Internet plötzlich keine Webseiten mehr geladen. Ich habe das Problem auf meinen Internet-Anschluss in Eppstein geschoben, denn der ist manchmal instabil und die letzten Wochen hatte die Telekom da massive Netzstörungen. Bei meinem Anschluss hilft oft auch mal der Neustart des Routers.

Nachdem ich das gemacht hatte, kamen aber immer noch keine Webseiten in den Browser. Seltsamer Weise ging aber E-Mail. Ich habe das Problem dann erst einmal auf das doch recht billige CHUWI UBook Tablet geschoben, aber als ich mehr oder weniger zufällig die Webseiten mit Opera aufgerufen hatte, waren die sofort da. Und in Firefox ging weiter gar nichts.

Eben habe ich die Meldung dann in den Computer-Onlinemagazinen gelesen:

Firefox außer Gefecht

Zahlreiche Firefox-Nutzer hatten seit Donnerstagmorgen etwa 9:00 Uhr (genau die Zeit, wo die Probleme bei mir los gingen) Startschwierigkeiten mit dem Programm selbst als auch beim Schließen von Firefox und eben dem Aufrufen von Websites. Über mehrere Versionen von Firefox und auch mehrere Plattformen hinweg.

Ich habe in der Zeit halt mit Opera weitergearbeitet und bin dann um 10:15 Uhr auf die geplante Tour gegangen. Bei Firefox hat sich das Problem wohl gegen 13:00 Uhr beruhigt und auch bei mir läuft – allerdings im Büro in Bodenheim – der Browser wieder. Angeblich war ein Load-Balancer oder ein Cloud-Anbieter, mit dem sich Firefox mit Mozilla-Servern verbindet, in Verbindung mit einem bekannten HTTP3-Bug nach einem Update die Ursache für die massiven Probleme.

Missbrauch der Luca-App

Um mich gleich richtig zu positionieren – ich bin geimpft und sogar geboostert und (leider) führt m.E. kein Weg daran vorbei, dass sich alle impfen lassen.

Aber der Missbrauch der Daten, die zur Kontaktverfolgung von Corona-Infektionen von einer App wie Luca oder was auch immer gesammelt werden, geht gar nicht. Klar ist die Klärung eines Tötungsdelikts, wie es in dem konkreten Missbrauchsfall durch die Polizei der Hintergrund war, ein im Grunde legitimer Grund. Aber zum Einen werden jetzt alle Verschwörungstheoretiker Wasser auf ihre Mühlen und ein verdammt schweres Argument geliefert bekommen, warum sie die Corona-Maßnahmen ablehnen. Zum Anderen gelten Gesetze auch für Behörden. Klar – die Verantwortlichen bei der Polizei, welche die Daten in der Luca-App missbraucht haben, werden jetzt aufgrund des politischen Drucks einen Kopf kürzer gemacht.

Das sind aber Bauernopfer. Das eigentliche Problem ist unter der Oberfläche und besteht weiter – wenn Daten von Personen erfasst wurden, gibt es Begehrlichkeiten. Was auch immer dabei versprochen wird – die zusagte Sicherheit bzw. Vertraulichkeit wird niemals eingehalten. Das sollte jedem klar sein, der dieser aktuellen Aushebelung des Datenschutzes aufgrund der Corona-Lage unkritisch zustimmt.  So gesehen ist dieser aktuelle Fall aus Mainz einfach nur der Beweis. Man sollte sich auch fragen, wie viele Fälle dieser Art nicht bekannt wurden bzw. werden?

jQuery Mobile is no longer supported

Ralph Steyer jQueryIch beschäftige mich schon ziemlich lange mit jQuery und habe dazu ja auch ein Buch geschrieben, das mittlerweile schon in der zweiten Auflage vorliegt. Es gibt es allerdings nur noch als eBook. Was durchaus ein Indiz ist, dass jQuery kein Hype-Thema mehr ist. Ebenso, dass alle Schulungstermine zu jQuery, die ich ich in Köln regelmäßig anbiete, seit gut 2 Jahren ausgefallen sind. Wobei hier Corona die Sache verzerrt.
Denn im Rahmen der Schulung in Marburg über 4 Wochen habe ich jetzt wieder einmal eine komplette Woche jQuery und jQuery UI unterrichtet. Auch im Rahmen meiner parallelen Maßnahme mit den 16 halben Tagen, die sich über fast ein viertel Jahr verteilen, wird jQuery mindestens eine Session einnehmen.
jQuery ist also sicher kein Hype mehr, aber ganz und gar nicht aus dem Geschäft.
Aber ich habe es schon vor einigen Tage ganz am Rande mitbekommen und gestern in der Schulung in Marburg dann auch auf der Webseite des Projekts gesehen – die weitere Entwicklung von jQuery Mobile wird eingestellt.

Das bedeutet nicht, dass jQuery Mobile nicht mehr geht oder verwendet werden kann – das Projekt wird nur nicht mehr weiterentwickelt.

Der Grund dürfte ziemlich sicher sein, dass die Trennung zwischen Desktop und mobilen Webseiten überholt ist und der Ansatz „Mobile First“ diese Trennung komplett aufhebt. Bootstrap ist damit in der bessere Position und in gewisser Weise eine Art vereinheitlichter Nachfolger von jQuery Mobile und im Grunde auch jQuery UI. Aber da Bootstrap ja auch auf jQuery direkt aufsetzt, macht das die grundsätzliche weitere Bedeutung von jQuery nur noch deutlicher.

Der erste neue Tipp des Jahres

Nachdem es zwischen den Jahren keinen neuen Tipp gab, wurde heute bei LinkedIn Learning wieder der nächste regelmäßige Entwickler-Tipp zu Python freigeschaltet. Der erste Tipp im Jahr 2022. Dieses Mal verbinde ich die Themen Python und Docker. Gerade mit Docker habe ich ja Anfang letzten Jahres etwas mehr beschäftigt, um eine Cordova-Umgebung für meine Vorlesung bei der TH Bingen bereitzustellen. Damit kann man ja alle möglichen verschiedenen Konfigurationen und Systeme bereitstellen, ohne immer wieder seinen Rechner umkonfigurieren zu müssen. Auch für Python.

Wenn man Docker installiert hat, dann kann man ein Python-Image laden und auf dem Rechner installieren. Das heißt, man hat eine virtuelle Laufzeitumgebung für Python. Das ist vor allen Dingen dann interessant, wenn man verschiedene Versionen von Python benötigt. Dazu muss allerdings auf dem Rechner Docker installiert sein. Das Zusammenspiel zwischen Python und Docker geht in zwei Richtungen. Nicht nur kann man mit Docker eine Python-Umgebung, eine virtuelle Python-Umgebung schaffen, es gibt auch die Möglichkeit, ein Docker-SDK für Python zu installieren.

2022 und direkt on the road

Es ist für mich aus 2 Gründen bemerkenswert, aber ich bin „on the road again“. Zum Einen kann ich mich nicht entsinnen, dass ich schon einmal bereits am 3. Januar eines Jahres beruflich unterwegs war und zum Anderen gab es die letzten 2 Jahre wegen Corona so gut wie keine Vor-Ort-Schulung oder sonst einen Termin bei einem Kunden vor Ort.

Nur die Maßnahme in Marburg, die ich Ende November letzten Jahres begonnen hatte, läuft noch diese Woche im neuen Jahr. Und das nicht remote, wie die letzten 2 Wochen vor Weihnachten, sondern vor Ort in Marburg. Zumindest bis Donnerstag. Am Freitag komme ich nochmal remote in den Kurs.

Ich übernachte wieder in der gleichen Monteurs-Wohnung wie bei der ersten Vor-Ort-Session. Bei den 7 Zwergen hinter den 7 Bergen – aber ok.

Mein Gerät finden – oder besser nicht?

Gerade überlege ich, ob ich das Feature „Mein Gerät finden“ auf meinem SmartPhone aktiviere – oder eben besser nicht. Auf der einen Seite wird das SmartPhone immer wichtiger. Nicht zuletzt durch Corona. Ob man will oder nicht. Auf der anderen Seite wird man durch zig Unternehmen und Organisationen bereits bis auf die letzten privaten Dingen ausspioniert. Neben Fratzenbuch und anderen a(sozialen) Netzwerken zeichnet sich ja auch Google (wahlweise Apple) durch ungebremste und vollkommen unkontrollierte Sammelwut aller persönlichen Daten aus. Jetzt auch noch permanent den Standort des SmartPhones denen überlassen? Irgendwo erinnert mich das an Faust und den Teufel.

Andererseits kann der Verlust des SmartPhones oder sogar nur die temporäre Nichtverfügbarkeit mittlerweile ziemlich negative Konsequenzen haben.

Klar – wer finanzielle Transaktionen mit dem SmartPhone macht, der ist selbst daran Schuld. Zahlungen mit Bargeld sind ja sowieso der beste Schutz der gesellschaftlichen Freiheit (unter dem Wirtschaftsaspekt) und wenn man schon nicht bar bezahlen kann, dann nimmt man eine EC-Karte oder macht Onlineüberweisung an einem etwas sicheren PC und nicht einem Tablet oder SmartPhone. Aber selbst dann kommen Freischaltcodes oft auf das SmartPhone.

Die Sache mit dem Impfstatus und Zugangsregeln wegen Corona wird auch aktuell ohne SmartPhone ebenso ziemlich unbequem bis schwierig. Als ich mich am Mittwoch „geboostert“ habe, war vor mir eine Schlange von über 50 Leuten, die alle vor dem Gebäude getestet werden mussten. Die Schlange war innerhalb von vielleicht 10 Minuten abgearbeitet – aber nur, weil das Testergebnis per E-Mail auf das Handy geschickt wurde. Eine andere Möglichkeit zum Erfahren des Testergebnisses gab es nicht. Deshalb extrem flotte Abarbeitung, aber Ausschluss von Leuten ohne SmartPhone. Echte Impfausweise aus Papier sollen ja in einigen Situationen demnächst auch nicht mehr anerkannt werden. Das zwingt zum SmartPhone, auch wenn damit m.E. das Fälschen von Impfzertifikaten extrem leichter ist. Aber das ist ein anderes Thema.

Schleichend ist das SmartPhone also immer wichtiger geworden und deshalb muss man es – zumindest aktuell – immer griffbereit haben, wenn man aus dem Haus geht. Ob man es gut findet oder nicht. Tja – und deshalb ist dieses Feature, mit dem man über ein anderes Android-Gerät oder einen Webbrowser herausfinden kann, wo sich sein Smartphone gerade befindet, so verführerisch. Ist es verloren, kann man das Gerät außerdem einen Ton abspielen lassen, sperren oder sogar Daten darauf löschen.

Aber damit das funktioniert, muss die Geolocation ständig an sein und natürlich das Gerät selbst. Punkt 1 habe ich immer deaktiviert – außer bei der Navigation – und auch sonst schalte ich das SmartPhone immer wieder aus oder zumindest offline. Das müsste ich lassen und mich damit voll in des Teufels Fänge begeben. Es ist ja so einfach – nur in den Einstellungen auf „Sicherheit“ tippen und dort „Mein Gerät finden“ aktivieren. Dann kann ich es halt leichter finden. Ich, Google und wer weis noch alles. Nur dann muss man ja auch über die Spracheingabe, die Kamera, das W-LAN, die mobilen Daten im Hintergrund etc. nachdenken und eigentlich alles deaktivieren. Was das SmartPhone letztendlich nutzlos macht. Klassisches „Wasch mich, aber mach mich nicht nass“-Problem.

EDIT: Mittlerweile habe ich die Sache mal ausprobiert. Wenn ich mich mit meinem Google-Account anmelde, kann ich aus dem Browser heraus auch das Gerät klingeln lassen, bei dem ich das Feature ausgestellt(!) habe und das Gerät auf lautlos steht. Krass – nur die Lokalisierung geht nicht. Zumindest nicht genau, denn in welchem W-LAN das Gerät angemeldet ist bzw. vor ein paar Minuten war, bekomme ich dennoch mitgeteilt. Da ich mehrere SmartPhones habe, habe ich auf meinem Testgerät das Feature aktiviert und da bekomme ich die Position so genau, wie es etwa bei der Navigation üblich ist. Einfach nur krass – in positiver als auch negativer Hinsicht.

Liegengebliebene Tasks

Nachdem ich mit einer Remote-UML-Einzelschulung am Montag und Dienstag eine brutal lange Schulungsphase erst einmal abgeschlossen bzw. unterbrochen habe, kann ich mich jetzt endlich ein paar Tage liegengebliebenen Aufgaben widmen. Ich kann mich nicht mehr entsinnen, wann ich das letzte Mal so viele Schulungen so lange Zeit mehr oder weniger am Stück gehalten habe. Die letzten Jahre definitiv nicht mehr. Im Grunde ging diese Phase am 1. Oktober los und wurde zwar von einer Videosession für LiL und auch hin und wieder von einigen Tagen ohne Schulung unterbrochen. Aber an denen musste ich ja meine andere Arbeit samt den dauerhaften ILS-Korrekturen und Vorbereitungen der Schulungs-Sesions erledigen. Wenn man die letzten 3 Monate betrachtet, war meine Schulungsaktivität also prozentual höher als zig Jahre zuvor.
Was ich auch merke, denn ich habe die letzten Tage schon abgebaut. Ich bin mit der falschen Brille zum Radfahren gegangen, habe Stufen auf der Treppe übersehen, hatte Rücken vom vielen Sitzen, war gereizt etc. Die freien Tage über das Jahresende kommen dieses Mal wirklich dringend.
Ein Teil meiner liegengebliebenen Aufgaben dreht sich auch um die Synchronisation, Bereinigung und Neuinstallation meiner Rechner bzw. Datensicherungen. Das ist zwar auch Arbeit, aber macht mir Spaß und ist – für mich zumindest – eine entspannte bzw. sogar entspannende Tätigkeit.
Da ich gestern „geboostert“ wurde, hänge ich heute mit leichten Impfreaktionen sowieso etwas in den Seilen – zu der angesprochenen Erschöpfung durch die letzten Monate – und habe mal im Hintergrund meine Datensicherungen bereinigt bzw. mehrere externe Festplatten bereinigt und aufeinander abgestimmt. Bei der Datensicherung bin ich grundsätzlich „übervorsichtig“ und speichere im Grunde „ALLES“ redundant sowie zeitlich in ziemlich kurzen Abständen. Aber damit wird die Datenmenge auch gewaltig groß und nicht mehr wirklich überschaubar. Eine Bereinigung hatte wirklich Sinn gemacht.
Dazu habe ich mit meinem Matebook ein wirklich super schnelles, leistungsfähiges, transportables und hochwertiges Notebook. Aber als ich es Anfang 2019 gekauft hatte, gab es das Gerät zu einem adäquaten Preis nur mit einer Mini-SSD. Demensprechend bin ich dort leider immer am Limit der 256 GByte und muss regelmäßig das Teil säubern. Damit das aber nicht zu extrem wird, arbeite ich mit externen Festplatten – auch weil ich oft zwischen meiner Workstation und dem Notebook wechsele. Workstation in Bodenheim, das Matebook in Eppstein oder bei externen Einsätzen jeder Art. Die Daten will ich nicht ständig in die Cloud verschieben müssen – zumal ich der Verwendung einer Cloud sowieso in vielen Bereichen kritisch gegenüberstehe.
Nur habe ich mittlerweile zwei externe USB-Festplatten im Einsatz – eine große HD und eine kleine SSD mit 1 TByte. Zuerst war die HD (USB-2) da, aber der Performancegewinn mit der externen SSD (USB-3 bzw. Firewire) ist so groß (gemessen – Zugriffszeiten fast identisch wie bei der internen SSD), dass ich immer mehr Daten (Programme sowieso) auf diese verlagere. Damit schlägt die fehlende Kapazität meiner internen SSD nicht mehr so zu. Nur große Daten wie Videos für LiL und eines der Backups der NAS bleiben auf jeden Fall auf der externen HD. Aber …
Ich habe in der letzten UML-Schulung gemerkt, dass sich über die letzten Monate die Daten ziemlich unstrukturiert auf die externe HD und die externe SSD verteilt haben und ich auch da komplett die Übersicht verloren habe. Suchtools sei Dank habe ich zwar immer gefunden, was ich gebraucht habe. Aber die Abstimmung bzw. Neustrukturierung der beiden externen Datenträger aufeinander war mal dringend gegeben.
Eine weitere Aufgabe, die ich mir für die Jahresendtage aufgeschrieben habe, war die Reaktivierung meines uralten HP EliteBook. Das hatte ich mal als Gebrauchtgerät gekauft und es muss m.E. mindestens 12 – 15 Jahre alt sein. Vermutlich noch älter. Ich brauche es nicht wirklich und die Reaktivierung kann man fast als „Hobby“ abtun. Aber es läuft in der Tat mit Windows 10 und ich habe darauf auch lizenziertes MS-Office installiert. Die Lizenzen will ich eigentlich nicht verlieren und deshalb habe ich die Lizenzen versucht auszulesen, um sie ggfls. auf einem anderen Gerät noch zu nutzen. Das war leider nur teils erfolgreich und deshalb habe ich versucht, das EliteBook mit allen denkbaren Tools zu bereinigen, zu entschlacken und zu beschleunigen. Denn der Start von Windows als auch vor allen Dingen Programmen ist dermaßen langsam – eigentlich kann man damit nicht arbeiten. Wenn nur nicht die Lizenzen wären, die ich zum Teil einfach nicht mehr rausbekomme bzw. deren Keys ich nicht mehr finde. Als Resultat meiner Optimierung läuft das EliteBook jetzt wirklich etwas besser, aber es ist absolut an der Grenze der Verwendbarkeit. Ich bin noch am Überlegen, ob die Lizenzen es wert sind oder ich nicht lieber ein Linux darauf installieren, dass mit der uralten Hardware besser zurecht kommen wird. Wie gesagt – ich brauche das EliteBook nicht wirklich und auch die Neuinstallation mit Linux wäre unter „Hobby“ bzw. ggf.. Wissenserweiterung (wobei da nichts Neues auftreten sollte) zu verbuchen.

Der letzte Tipp mit leichter Verspätung, der aktuelle dafür schon heute am frühen Morgen

Mein regelmäßiger Entwickler-Tipp zu Python wurde letzte Woche bei LinkedIn Learning erst an Freitag freigeschaltet, aber der Entwickler-Tipp zu Python in der Woche ist heute – als am üblichen Mittwoch – schon früh  am Morgen da.

Ich begebe mich dieses Mal etwas in die Welt der Administration bzw. von Administratoren. Eigentlich für mich ein etwas fremdes Gebiet, denn ich bewege mich sonst in der Regel rein im Umfeld der Programmierung. Genaugenommen sogar überwiegend der Anwendungs- und Web-Entwicklung. Aber über die Jahre kommt man auch immer wieder mit Themen aus dem Admin-Bereich in Berührung. Ich behaupte, dass ich mittlerweile theoretisch sogar als Admin arbeiten könnte. Vielleicht wäre ich kein wirklich guter Admin, aber die meisten administrativen Dinge – insbesondere unter Linux – würde ich wohl hingekommen.

Und bei dem aktuellen Tipp geht es ja immer noch um Python. Nur halt um einen Einsatzzweck, der für Admins von Interesse ist – wie man mit Python zeitgesteuerte Befehle auf dem Server ausführen kann. Konkret nutze ich dabei Linux als Serversystem und zeige, wie man CronJobs erstellen bzw. CronTabs mit Python schreiben kann.

Was denn mit dem ZDF los? Bekommen das mit der Cookie-Warnung einfach nicht hin.

Von den Webseiten von n-tv kenne ich es seit Monaten, dass deren Videos meine Workstation komplett zum Absturz bringen. Bei jedem Browser. Ich habe keine Ahnung, was die da machen, denn das passiert bei keiner anderen Webseite. Aber – zugegeben – auch nur bei meiner Workstation.

Aber seit einigen Tagen funzt die Webseite vom ZDF auch nicht mehr. Das aber Rechner-übergreifend. Ich könnte mal kurz mit dem Rad über den Berg zum Sendezentrum fahren und nachfragen, aber ich habe lieber meinem Sohn den Tipp gegeben, dass er in der Online-Redaktion das Problem weitergibt, wenn er mal wieder als Werksstudent da aktiv ist.

Zwischenzeitlich habe ich rausbekommen, wo wohl das Hauptproblem liegt. Ich habe es zuerst darauf geschoben, dass sie einfach beim ZDF nicht in der Lage sind, den Firefox richtig zu unterstützen. Die Seite vom ZDF wird seit ein paar Tagen geladen, nur sämtliche Videos nicht und die Seite friert ein. Auf allen meinen Rechnern.

Nachdem das heute aber auch bei Vivaldi passiert ist, kam mir die Idee, dass es an der Extension „I don’t care about cookies“ liegen könnte. Denn diese absolut notwendige Erweiterung habe ich gestern auch in Vivaldi nachinstalliert und vorher wurde die Seite vom ZDF noch geladen.

Nachdem ich für die Webseite des ZDF den Schutz durch diese Erweiterung deaktiviert habe, wurde die Seite – nach Abarbeitung der dann folgenden, belästigenden Cookie-Meldung – tatsächlich geladen. Allerdings laufen die Videos immer noch nicht richtig bzw. zuverlässig – zumindest auf der Workstation. Aber diesen Fehler kann ich nicht zuverlässig auf das ZDF schieben – auch wenn Youtube oder andere Medienanbieter nie Probleme machen.

Was aber unglaublich schlecht ist – dass man „I don’t care about cookies“ nicht nutzen kann bzw. darf. Denn diese lächerlichen, belästigenden und im Grunde vollkommen irreführenden Cookie-Warnungen will ich nicht jedes Mal sehen. „I don’t care about cookies“ macht eigentlich nicht viel – es klickt diese verdammten Cookie-Warnfenster einfach weg und gut ist. Außer einer kleinen Verzögerung hat man als Anwender keine weiteren Nachteile. Warum zur Hölle will das ZDF das verhindern? Das ist ein Angriff auf den Besucher und ein Diebstahl von Zeit und Nerven eines Gebührenzahlers.

ZDF – macht Euere Hausaufgaben und wenn Ihr schon so einen Mist vor die Anzeige der Webseite schaltet – macht es richtig und nicht so unprofessionell!

Vivaldi rockt

Ich habe jetzt eine Weile mit Vivaldi gearbeitet und muss sagen, dass der Browser wirklich das hält, was ich mir davon versprochen habe. Da der Unterbau mit Chrome übereinstimmt, kann man auch die dafür entwickelten Extensions verwenden und eine brauche ich unbedingt (I don’t care about cookies), um diesem staatlich verordneten Terror mit den Cookie-Warnungen zu begegnen.

Ansonsten erscheint mir Vivaldi beim täglichen Surfen sogar noch bequemer als Firefox. Dazu sind die Darstellungs- und Kompatiblitätsprobleme auf schlecht gemachten Webseiten scheinbar auch hinfällig. Selbst die Videos von n-tv, die bisher zuverlässig meinen kompletten PC eingefroren haben, scheinen in Vivaldi ihre Schädlichkeit nicht entfalten zu können.

Ich werde Firefox sicher nicht verabschieden, aber vermutlich immer öfter beim normalen Surfen auf Vivaldi setzen. Firefox bleibt dessen ungeachtet meine 1. Wahl als Entwickler-Browser.

Wie Struppi – ach nein, Vivaldi

Firefox ist immer noch mein Lieblingsbrowser. Gerade aus Entwicklersicht. Es gibt für mich keinen besseren Browser für die Webentwicklung. An die integrierten Tools kommt einfach kein anderer Browser ran. Die bieten solche Tools zwar alle auch und sind von der Leistung gleichwertig. Aber es fehlt das gewisse „Etwas“, was einfach nur Firefox hat. Da ist alles da, wo ich es erwarte, und alle Infos werden genauso angezeigt, wie ich sie brauche. Bei allen anderen Browser habe ich immer das Gefühl, ich hätte eine Brille auf, die nicht ganz in der Sehschärfe passt. Ich muss mich anstrengen, um da „scharf zu sehen“.

Aber leider habe ich – wie schon früher gebloggt – beim reinen Surfen auf immer mehr Webseiten Probleme mit Firefox. Gerade in Verbindung mit Mulimediasachen und dem Tracking des Users.  Da werden offensichtlich Techniken eingesetzt, die – warum auch immer – in Firefox nicht gehen. Zumindest in der Konfiguration bei mir – ich habe einige sicherheitskritische Einstellungen sicher konfiguriert.

Für so Fälle brauche ich einfach einen Zweitbrowser. Chrome und Edge kommen wegen der Hersteller nicht infrage, IE ist – wie ebenfalls schon mehrfach geäußert – mehr Virus als Browser und dann wird es dünne.

Chromium ist ganz ok und Opera fand ich schon immer klasse. Aber „ganz ok“ langt mir nicht und Opera ist ja leider nicht mehr wirklich Opera. Der „echte“ Opera ist seit ein paar Jahren Vivaldi. Den hatte ich schon mehrfach installiert, aber eigentlich immer weitgehend links liegen gelassen und stattdessen Opera oder (zu meiner Schande) sogar Chrome (bzw. seit einigen Wochen Chromium) verwendet.

Damit soll jetzt aber Schluss sein. Ich versuche bewusst Vivaldi als Alternative zu etablieren. Ich habe alle Daten (Lesezeichen, Passworte) mit Firefox synchronisiert (etwas mühsam, geht aber) und ein Vivaldi-Konto angelegt, um den Browser auf all meinen Geräten synchron zu halten. Wie ich es ja auch schon mit Firefox mache.

Wobei die Synchronisation bei den Desktop-Applikationen gut funktioniert, nicht aber mit der Android-Version. Da muss ich mal schauen, woran das liegt.

Aber ansonsten macht Vivaldi wirklich einen guten Eindruck und da darunter ja sowieso die Chromium-Engine läuft, sollten alle Webseite da funktionieren, die auch die anderen Browser auf der Basis (also Edge, Chrome, Safari, Opera) darstellen können. Nur der Überbau und der bessere Datenschutz wird halt von Vivaldi geliefert.

Mal sehen, ob mich Vivaldi auf Dauer überzeugt. Time will tell!

Log4shell oder warum angeblich das Internet brennt

Die Medien berichten mal wieder über einen Hacker-Angriff. Oder genauer – eine Schwachstelle in Log4J, über die wohl im Moment ziemlich viele Angriffe auf Server gefahren werden. Log4J bezeichnet eine sehr oft eingesetzte Java-Bibliothek zum Protokollieren von Serverzugriffen.

Schon eigenartig, aber es sieht so aus, als hätte ich etwas von Nostradamus. Denn gerade halte ich zwei Schulung zu JavaScript und in der Einleitung zu solchen Schulungen erzähle ich immer davon, wie stark JavaScript in der Vergangenheit unterschätzt wurde. Und dass man immer mehr Projekte finden kann, bei denen JavaScript zum Einsatz kommt und sogar teils Java verdrängt, da JavaScript schlanker und vor allen Dingen einfacher und wartbarer ist. M.W. steigt etwa Paypal seit Jahren Server-seitig immer mehr von Java auf JavaScript um.

Das zweite eigenartige Phänomen ist, das ich bei JavaScript immer die Build-In-Funktion eval vorstelle – mit dem Merksatz „Eval ist evil“. Denn damit ist Code injection ein Kinderspiel – wenn freie Daten eingegeben werden können. Auch beim Server.

Und Punkt Nummero 3 ist, dass ich mit Node.js letzte Woche in der Schulung ein kleines Protokollier-Skript für einen Webserver unter Node.js vorgestellt habe. Also so etwas wie Log4J-Light mit JavaScript.

Als hätte ich es geahnt, dass die Sache am Wochenende nach meinen Schulungen ein großes Thema wird. Oder haben die Hacker sich bei meiner Schulung die Anregung geholt? Muss mal meine Schulungsteilnehmer befragen, ob die eine Praxisübung machen wollten und die aus dem Ruder gelaufen ist ;-).

Ach nein – Log4J ist ja Java – und kein JavaScript.

Es tut gut, wenn man seit Jahrzehnten Fan des lange verlachten JavaScript ist und nun JavaScript sich als sicherer und vor allen Dingen schlanker und wartbarer erweist als die hochgelobten, schwergewichtigen Konkurrenten. Bei denen kann man oft in den Unmengen an Code einfach nicht mehr erkennen, wie die Geschichte wirklich abläuft. Und daraus resultieren eben Schwachstellen und Sicherheitslücken, die in einem schlankeren System viel schneller aufgedeckt und beseitigt werden können.

Aschenbrödel hat sich durchgesetzt.

Deepin Linux 2

Deepin Linux taugt als komfortables und schön gestaltetes OS echt was, um alte Hardware neu zu beleben. Nach dem ersten Versuch mit einem uralten Windows-Notebook habe deshalb auch das identische Schwestergerät gerade darauf umgestellt.

Britisches Gericht stimmt Auslieferung von Julian Assange an die USA zu

Das Urteil, mit dem ein Britisches Gericht der Auslieferung von Julian Assange an die USA zustimmt, ist schon ein Hammer. Natürlich geht es dabei nicht um Julian Assange selbst und vermutlich nicht einmal Wikileaks als Organisation, sondern es ist eine offensichtliche Einschüchterung aller Journalisten, Menschenrechtler und Wistleblower sowie ein kaum getarnter Angriff auf die Pressefreiheit.

So etwas kennt man aus den üblichen Diktaturen und Unrechtsstaaten, aber dass so etwas in England möglich ist, ist schon erschreckend. Die Rolle, die die USA in diesem Skandal spielt, ist ja von Anfang an klar. Denn die sind  hinsichtlich Ihrer Kriegsverbrechen von Wikileaks an den Pranger gestellt worden und wollen blinde Rache.

Das einzig Gute an dem Skandalurteil – die Aufmerksamkeit wird wieder auf diese Praktiken und die Kriegsverbrechen der USA gelenkt. Und man sieht, wie weit der moralische Anspruch von Ländern wie USA oder Klein-Britanien von dem abweichen, was sie in ihrer Politik und der davon korrumpierten Justiz praktizieren. Schlecht ist aber jetzt auch, dass zumindest diese beiden Staaten damit jede Legitimation verlieren, wenn Sie Ländern wie China, Russland oder Kuwait moralisch kritisieren wollen.

Firefox-Boykott?

Ich bekomme in der letzten Zeit immer mehr Probleme, wenn ich mit Firefox auf Webseiten gehe. Was ist da denn los? Ist das ein gekaufter Angriff gegen Firefox oder sind die Betreiber der Webseiten zu blöd, um Firefox richtig zu unterstützen? Und ich halte Firefox immer aktuell.

Wenn es nur ein oder zwei Seiten wären, würde ich auf die 2. Sache tippen. Aber wie gesagt – es sind einige Seiten und die Anzahl scheint mir rein subjektiv zuzunehmen.

Was dazu führt, dass ich Probleme habe, einen adäquaten Browser zu finden.

  • IE ist kein Browser, sondern eine Krankheit,
  • Edge zwar halbwegs ok, aber dennoch nichts Halbes und nichts Ganzes,
  • Chrome ist Google und damit die Vollüberwachung und
  • Opera kämpft mehr oder weniger wie Firefox (mehr noch) um seine Existenz.

Derzeit nutze ich in Fällen solcher fehlerhafte Webseiten teils Chromium, aber der Browser überzeugt mich auch nicht wirklich.

Es gibt aus meiner Erfahrung eigentlich nur einen perfekten Browser und das ist Firefox. Aber die Machtmarkt von Google und Microsoft drängen immer mehr Anwender in deren Fänge und Webseitenbetreiber folgen der Masse – ohne Rücksicht auf Besucher, die nicht dem Mainstream folgen. Nach dem Motto „Millionen Fliegen können sich nicht irren!“,

Ausnahmsweise Donnerstag

Diese Woche ist erst am Donnerstag der neue Entwickler-Tipp zu Python bei LinkedIn Learning freigeschaltet worden. Es geht hier darum, wie man aus Python eine automatische Quelltextdokumentation generieren kann. So eine Dokumentation von Softwareprojekten ist eine oft leidige, aber immens wichtige Aufgabe und in nahezu allen modernen Programmiersprachen gibt es Möglichkeiten, diese Dokumentation aus dem Quellcode heraus etwas zu erleichtern, indem man bestimmte Token in den Quellcode schreibt und daraus eine HTML-Dokumentation oder auch in einem anderen Format erzeugt werden. In Python kann man etwa pydoc bzw. dessen Fork pydoc3 verwendet werden, was in dem Tipp gezeigt wird.