In der Werkstatt

Im Rahmen der Fachinformatikerausbildung, für die ich regelmäßig Kurse halte, gibt es das Konzept der sogenannten „Programmierwerkstatt“. Die Azubis erhalten mehr oder weniger aufwändige Programmieraufgaben und der Dozent (also meinereiner) lässt sie weitgehend eigenständig daran schaffen. Nur wenn es Probleme gibt oder ich von mir aus etwas habe (neue Aufgabe, Pausen, Anmerkungen), muss ich aktiv werden. Das klingt nach leicht verdientem Geld, aber zum Einen steckt Zeit in der Vorbereitung und zum Anderen muss ich mich die Zeit ja auch selbst beschäftigen bzw. für Fragen bereithalten. Das erinnert mich an meine Zeit als Rettungssanitäter. So auf Abruf bereitzustehen ist auch Arbeit und sogar ziemlich ermündend.

Ich betreue aktuell für 5 Tage die Gruppe, mit der ich letzte Woche in Eschborn den Grundlagenkurs hatte. Für die Werkstatt ist die Sache aber remote und das gut so. Ich bin allerdings nach Eppstein gefahren, denn gestern kam ganz kurzfristig die Info, dass heute das bestellte Heizöl für mein Haus mit dem Zweitbüro kommt.

 

Alles Neu macht der November

Wiederkehrende Besucher meiner Webseite oder meines Blog fällt eventuell auf, dass das Design neu ist. Ich musste mal wieder einen Tapetenwechsel vollziehen und denke, dass ich mit Modern-Design ein feines neues Template gefunden habe. Dabei habe ich die Seite, über die ich einiger meiner Bücher im Selbstverlag anbiete, auch gleich auf das Template umgestellt, um eine Corporate identity einzuhalten.

Präsenzschulung

Es ist schon bemerkenswert, dass eine Präsenzschulung etwas Besonderes ist. Denn vor Corona war das ja der Standardfall – auch für mich. Aktuell ist das aber für mich die Ausnahme. Und darüber bin ich froh. Denn auf den täglichen Weg zur Arbeit im Berufsverkehr kann ich verzichten. Gerade nach Eschborn, wo ich ab heute bis Ende der Woche hinfahren muss. Das ist ein echter Kampf, wenn man da von der A66 runter nach Eschborn Süd rein muss. Auch wenn es durch verbreitetes Homeoffice weniger Verkehr gibt als früher.

Aber die Parkplatzsituation ist immer noch übel und ich hatte mich heute in eine Parklücke quetschen müssen, bei der ich kaum noch die Tür öffnen und aussteigen konnte.

Ich kenne die Sitution noch gut von früher, denn ein Kunde hatte in der Ecke seine Schulungsräume und da war ich vor Corona recht oft. Schon damals bin ich ob der Verkehrs- und Parksituation sogar einmal mit dem eBike dahingefahren. Und prompt wurde es da geklaut. „Präsenzschulung“ weiterlesen

Trump kommt wieder – muss man gehen?

Ich verstehe nicht den Plan, den Elon Musk mit Twitter hat. Versucht er einfach Twitter zu ruinieren? Aber was ist der Sinn, so viel Geld zu verbrennen? Oder liegt dahinter ein Plan, das alte Twitter komplett runterzubrennen, möglichst viele Angestellte loszuwerden und aus der Asche ein neues Twitter zu bauen? So ein Twitter 2.0 oder Phoenix-Twitter oder so?

Bisher habe ich den Niedergang von Twitter nur beobachtet und per WordPress-PlugIn einfach dort meine Tweets weiter abgesetzt. Kein Aufwand und wenn jemand meine Twitter-Tweets lesen will, ist das ok. Wenn nicht, ist es für mich auch ok. Ein Follower bin ich selbst sowieso nicht. Im Grunde auf keinem Netzwerk und von niemanden. Abgesehen von einigen „Follower-Leicheneinträgen“, die ich aber nie nutze und auch vergessen habe.

Aber nun hat Musk Trump wieder zu Twitter zugelassen. Das habe ich selbst von einem Typen wie Musk nicht erwartet und erzwingt die Antworten auf mehrere Fragen:

  • Will ich im gleichen Netzwerk sein mit einer Person, die erwiesenermaßen ein Lügner, Hetzer, Spalter und Ignorant von Fakten ist? Ich glaube nicht.
  • Will ich auf dem gleichen Planten leben mit einer Person, die erwiesenermaßen ein Lügner, Hetzer, Spalter und Ignorant von Fakten ist? Antwort ist nein, aber entsprechende Wünsche gehen an der Realität vorbei.
  • Was nützt es mir, wenn ich auf Twitter bin? Ehrlich gesagt habe ich keine Ahnung.
  • Was würde es mir schaden, wenn ich Twitter verlasse? Ergibt sich aus der vorherigen Frage – keine Ahnung.
  • Was interessiert den Mond, ob ihn ein Hund anbellt? Gleiche Bedeutung hat es, ob ich Twitter verlasse oder nicht. Aber ein Hund fühlt sich vermutlich besser, wenn er das macht. Und wenn viele Hunde anfangen zu bellen, bemerkt man es vielleicht auch auf dem Mond.

Ich lasse die Info, dass Musk dem abgedrehten Lügner wieder eine Plattform bietet, erst einmal sacken und reagiere dann.

Edit: Die Sache wird immer verworrener, denn angeblich hat Trump nach der Freischaltung durch Musk gar kein Interesse mehr an einem Twitter-Account. Was ein Theater …

 

Der Winter klopft an

Zwar bleibt nichts liegen, aber erste Schneeflocken sind auch in Bodenheim in den Regen gemischt. Die Kamera in meinem Eppsteiner Büro zeigt sogar echten Schneefall oder zumindest Schneeregen – auch wenn nichts liegen bleibt.

„Der Winter klopft an“ weiterlesen

Scrum, agile Methoden und ganz viel heiße Luft

Derzeit wird m.E. versucht, mit allen möglichen Tricks zum (angeblichen) Energiesparen Kunden Geld aus der Tasche zu ziehen. Ziemlich perfide, denn das hat für mich so etwas von wegen Veranlassen zum „Selbstmord aus Angst vor dem Tot“. Da werden etwa Geräte für viel Geld angepriesen, mit dem man angeblich Heizkosten sparen kann. Sogenannte Heizverstärker für Unterheizungen und Heizkörper sind so ein Trick, um teils für extrem viel Geld ein paar Ventilatoren unter einem angesagten Namen in Umlauf zu bringen. Dabei scheint es zwar sogar wirklich zu einer besseren Verteilung von heißer Luft und besserer Effizenz von Heizungen zu kommen, wenn man die warme Luft mit Ventilatoren ein bisschen im Zimmer verteilt. Nur statt 100 Eur oder mehr für ein hipp belabeltes Produkt tut es ebenso ein einfachster Ventilator für vielleicht 10 € – 20 €. Ich habe mir sogar gerade einen solchen bei eBay besorgt, der mit Akku läuft, damit von meinem Solarpanel geladen werden kann und überzähligen Solarstrom entgegennimmt sowie zudem als kleine Powerstation zum Laden von SmartPhone & Co dienen kann. Da ich von ein paar eBay-Versteigerungen noch Punkte über hatte, die vermutlich verfallen wären, habe ich mit Versand dafür 1,86 € bezahlt. Das kann man investieren, um mit dem Verteilen von heißer Luft eventuell etwas Heizkosten zu sparen.

Was mich zu agilen Methoden und Scrum führt. Obwohl ich die Schlagworte natürlich seit vielen Jahren kenne und ganz grob eine Vorstellung davon hatte, habe ich mich bisher nie genauer damit beschäftigt. Eben habe ich mir aber einen kleinen Kurs mit einer Übersicht reingezogen. Ich werde wohl wirklich alt, denn ich kam mir vor als wäre ich um 30 Jahre in die Vergangenheit katapuliert worden. Hoffentlich trete ich niemanden auf den Schlipps, aber diese ganzen Ausführungen zu agilen Methoden haben eine Arbeitsweise beschrieben, die wir bereits zu meiner Zeit als Programmierer bei einer Versicherung nahezu zu 100% durchgezogen haben. Nur wurde das nicht „agil“ genannt. Es war einfach Tagesgeschäft mit permanenter Abstimmung von uns Programmierern mit den jeweiligen Fachabteilungen. Und wenn etwas neu eingebaut war, wurde es sofort von der Fachabteilung begutachtet. Manchmal auf Zuruf in der gemeinsamen Mittagspause.

Wenn ich dann Scrum dazu sehe, wird m.E. diese für mich vollkommen natürliche Arbeitsweise nur mit ein paar hippen Denglish-Buzzwords (wie Sprint, Product Owner, Scrum Master, Impendiments etc.) umkleistert sowie mit ständigen Meetings der Arbeitsfluss unterbrochen. Sorry – das ist m.E. noch mehr heiße Luft als von Heizverstärkerm im Raum verteilt wird.

JavaScript-import, Firefox und Verseuchung durch den Google Tag Manager

Im Moment stehe ich beim Firefox auf meiner Workstation vor einem Rätsel. Denn dieser scheint durch den Google Tag Manager (kurz gtag oder GTM) „verseucht“ zu sein. Das ist mir aufgefallen als ich wegen einer Hilfeanfrage durch einen Kumpel eine kleine Beispielwebseite mit dem Nachladen von JavaScripts bzw. JavaScript-Modulen mittels der import-Anweisung geschrieben und getestet habe.

Dieser Google Tag Manager ist ein Spionage-Tool (kann man nicht anders sagen) von Google, das sich seit den letzten Urteilen hinsichtlich der DSGVO kaum noch konform nutzen lässt (spätestens seit der Annullierung des Privacy-Shield-Abkommens durch den Europäischen Gerichtshof im Juli 2020). Die aktuelle Abmahnwelle wegen viel harmloserer Google Fonts zeigt, dass solche Verstöße dann auch gnadenlos von unseriösen Geiern ausgenutzt werden.

Im Grunde geht es beim GTM darum, dass man damit die Besucher einer Webseite Tracken kann. Dies erfolgt unter Verwendung von Cookies, Conversion-Pixel oder Tracking-Codes von Programmen wie Google Analytics oder Bing Ads. Aber man muss keine Quellcodes explizit in Webseiten einbinden oder gar selbst programmieren, sondern das geht über eine Verwaltungsoberfläche. Damit können auch komplette Laien (also im Wesentlichen Marketing-Leute) dieses Tracking anstoßen.

Natürlich nutze ich so etwas auf meinen Webseiten nicht und auch bei meinem Google-Konto ist kein entsprechendes Feature aktiviert. Aber als ich gerade eine einfache Webseite (besagtes Experiment mit der import-Anweisung) mit den Entwicklertools von Firefox zur Laufzeit untersucht habe, ist dort Skripting-Code zum Einbinden von diesem GTM aufgetaucht, den ich im Quelltext nicht notiert habe. Zwar scheinen die referenzierten Skripte nicht nachgeladen zu werden und es wird wohl auch nicht zu Google telefoniert (soweit ich das im Sniffer gesehen habe), aber irgendwoher muss das Zeug ja kommen.

Prinzipiell ist das Auftauchen von zusätzlichen Quellcode-Passagen im tatsächlich vom Browser ausgeführten Quellcode jetzt nicht verwunderlich, denn ein Browser kann natürlich Codes automatisch selbst in Webseiten einfügen und die gesamte Struktur der Webseite verändern. Das ist ja auch das Wesen von Frameworks wie jQuery. Der geschriebene Quellcode und der vom Browser tatsächlich ausgeführte Code haben nur noch rudimentär etwas gemeinsam. Die Verwendung von dem Google Tag Manager beruht auf der gleichen Idee und die Tracking-Features werden nicht im Quellcode der Seite, sondern in einem speziellen Container hinterlegt.

Nun ist das besagte Rätsel, dass mir absolut nicht klar ist, warum Firefox auf meiner Workstation bei meinen eigenen Skripten diese Skriptreferenzen zum Google Tag Manager im Hintergrund einfügt. Also so etwas:


<script type=“text/javascript“ async=““ src=“https://www.google-analytics.com/analytics.js“></script><script type=“text/javascript“ async=““ src=“https://www.googletagmanager.com/gtag/js?id=…&amp;l=dataLayer&amp;cx=c“></script><script async=““ src=“https://www.googletagmanager.com/gtm.js?id=…“></script><script id=“…“ type=“text/javascript“>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({‚gtm.start‘:
new Date().getTime(),event:’gtm.js‘});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!=’dataLayer‘?’&l=’+l:“;j.async=true;j.src=
‚https://www.googletagmanager.com/gtm.js?id=’+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,’script‘,’dataLayer‘,’…‘);</script>


<div class=“jsr5671059327_sc_0″>

</div><script id=“jsr5671059327_html_0″ type=“text/javascript“>

</script><script type=“text/javascript“ src=“https://www.googletagmanager.com/gtag/js?id=…“></script><script type=“text/javascript“>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag(‚js‘, new Date());

gtag(‚config‘, ‚…‘);
</script>

Wo kommt das her? Denn ich habe weder den Browser entsprechend konfiguriert, eine passende Anweisung im Quellcode zum Einfügen, noch irgendwo wissentlich dem GTM aktiviert etc.

Ich habe mit diversen Tools nach Identifizierungsflags auf meinem Rechner gesucht, aber die entscheidenden Schlüsselworte bzw. Kennungen einfach nicht finden können. Weder im Firefox noch anderen Stellen und in diversen Dateien auf dem gesamten Rechner. Die Sache ist ganz dubios, denn auf anderen Rechnern passiert diese ungewollte Einfügung von GTM-Code im Hintergrund in den dortigen Firefox nicht und auch andere Browser auf der Workstation zeigen diese Ergänzungen bei der Analyse der Webseite nicht. Eine Deinstallatin bzw. das Löschen aller Profile von Firefox auf der Workstation war wirkungslos. Ich stehe echt vor einem Rätsel, denn auch im Internet finde ich keine passenden Berichte.

Die Sache ist jetzt nicht kritisch, denn wie gesagt – nach Hause wird wohl nicht telefoniert und es geht ja nicht um Webseiten von mir, die andere Leute laden. Aber ich kann es nicht leiden, wenn da was auf meinem Rechner passiert, was mir komplett unklar und nicht gewollt ist.

Mein neuer LiL-Python-Kurs ist bei der internationalen GitHub Codespaces-Aktion dabei

Der Python-Kurs, den ich im Sommer neu aufgenommen habe, ist gestern freigeschaltet worden. Mittlerweile sind schon sehr viele Kurse von mir bei LinkedIn Learning erschienen (aktuell sind 62 Kurse online verfügbar), aber diese Code Challenge ist dennoch etwas Besonderes.

Denn das Training ist Teil einer internationalen Kampagne, bei der in der Tech-Library von LiL gestern auf einen Schlag über 50 internationale Programmierkurse veröffentlicht wurden, die sich durch Integration in die ebenfalls brandneue Cloud-basierte Entwicklungsumgebung (IDE) Github Codespaces auszeichnen. Mein Python-Kurs,ist eben als einer von nur 3 deutschsprachigen Kurse dabei. „Mein neuer LiL-Python-Kurs ist bei der internationalen GitHub Codespaces-Aktion dabei“ weiterlesen

Automatisches Posten auf Xing und Mastodon

Wie schon gepostet, haben mich die schlechten News rund um Twitter zu einer Neuregistrierung bei Mastodon veranlasst. Nur poste ich berufliche News auf sozialen Netzwerken wie Twitter , LinkedIn, Xing und Facebook selten direkt. Stattdessen verwende ich das automatische Posten mittels geeigneter WordPress-PlugIns. Bei Xing und Mastodon hatte ich aber Probleme, die ich jetzt hoffentlich beseitigt habe und auch das (wieder) funktioniert.

Mastodon

Nachdem es bei Twitter seit der Übernahme durch Elon Musk komplettes Chaos gibt, die User in Scharen weglaufen und nahezu alle Medien zum Umstieg auf Alternativen raten, habe ich mich jetzt auch bei Mastodon angemeldet. Ich werde zwar meinen Twitter-Account (vorerst) nicht löschen, aber ich will schon mal vorbereitet sein, wenn Twitter wirklich so den Bach runter geht, wie es im Moment ausschaut, oder wenn Musk wirklich die Freigabe von reaktionären und komplett abstrusen Inhalten so durchzieht, wie es den Anschein hat. Ich habe in meinem Blog auch gleich ein WordPress-PlugIn installiert, dass meine Beiträge automatisch bei Mastodon publizieren soll – so wie ich es schon auf Twitter , LinkedIn, Xing (wobei da im Moment was nicht geht – muss ich unbedingt checken) und Facebook mache. Ich hoffe, dass das auch funktioniert.

Irgendwann werde ich Selbstversorger

Nachdem ich in meinem Büro in Bodenheim neben zwei kleinen Solarpanels 3 große Weinreben, einen kleinen Birnbaum, 3 kleine Apfelbäumchen und alles mögliche Gemüse, Kräuter und auch ein bisschen anderes Obst im Hof habe, wollte ich in Eppstein endlich nachrüsten. Zumal da viel mehr Platz ist und das Grundstück über die letzten 2 Jahre so verwildert war, dass ich vor ein paar Tage ein
Radikalschnitt machen lassen musste. Dabei wurde auch die obere Terrasse komplett bereinigt. Da will ich die nächste Zeit eine Blumenwiese für Insekten einsäen. Hoffentlich kommen die Dornen aber nicht wieder so extrem.

Aber vor allen Dingen wollte ich aus der Terrasse eine Art Streuobstwiese machen. Mein ehemaliger Mieter hat bereits einen kleinen Birnen- und einen kleinen Pflaumenbaum hinterlassen. Die haben bisher zwar noch nie getragen, aber das wird irgendwann, denke ich.

Eben habe ich die beiden Bäumchen um zwei Apfelbäume ergänzt. Ein Mann soll ja drei Dinge in seinem Leben unbedingt machen und nachdem ich Zwillinge habe, mussten es natürlich zwei Bäume werden. Was auch für die Befruchtung sinnvoll ist, denn so viele andere Apfelbäume gibt es in der Nähe nicht. Sollten die vier Bäume irgendwann mal Früchte tragen, werde ich wirklich noch zum Selbstversorger (nicht wirklich, aber ein Apfel oder eine Birne aus dem eigenen Garten während der Mittagspause einer Schulung hat schon Charme). „Irgendwann werde ich Selbstversorger“ weiterlesen

Aktion Winterfest

Nächste Woche übernehme ich wieder eine Gruppe Fachinformatiker-Azubis, die ich schon gut ein Jahr immer wieder in diversen Kursen schule. Dieses Mal geht es um Java-Fortgeschrittenen-Themen. Also alles, was man in den üblichen Java-Grundlagen (schon die letzten Monate gehalten) normalerweise nicht schult, aber zu einer umfassenden Java-Ausbildung dazugehört. Das umfasst Threads bzw. Multithreading, MVC, Generics mit passenenden dynamischen Datenstrukturen, Enums, Stream, Sockets, Annotations, XML-Verarbeitung, JNI und vor allen Dingen auch Datenbankzugriffe mit JDBC. Der Kurs ist wieder Remote, aber nach dieser Gruppe übernehme ich einen neuen Jahrgang und da ist noch nicht klar, ob die Veranstaltung Remote oder Vor-Ort erfolgt. Die Maßnahme geht Ende November los und wenn ich da mit dem Auto los muss, sollte das Winterfest sein.

Es ist schon seltsam, dass ich diese Woche noch in kurzen Hosen mit dem Fahrrad unterwegs war und eben die Winterreifen aufgezogen habe. Aber ich bin dieses Jahr so spät wie noch nie, denn normalerweise wechsele ich immer schon um die Mitte vom Oktober die Reifen. Aber es war so warm, dass es mir bisher einfach zu blöde war. Zudem verbraucht das Auto mit Sommerreifen weniger Sprit.

Aber jetzt wurde e aus besagten Gründen Zeit. Ich kann es mir nicht leisten, dass eventuell ein Wintereinbruch kommt, ein Termin doch nicht remote ist und ich dann nicht mobil bin. Dabei habe ich schon lange keine Lust mehr, die Reifenwechsel selbst zu machen. Es ist immer eine ziemliche Quälerei und zudem wäre es finanziell sinnvoll, den Reifenwechsel als Geschäftsausgabe geltend zu machen. Aber ich habe heute alle 4 Reifen in 45 Minuten gewechselt und wenn ich irgendwo hinfahren müsste, bräuchte ich ein Vielfaches der Zeit. Wenn überhaupt ein Termin zu bekommen wäre.

Also habe ich in den saueren Apfel gebissen. Da ich mittlerweile viele Jahrzehnte 2x im Jahr (oft bei mehreren Autos) Reifen wechsle, geht das ja auch eben fix. Und ich konnte gleich die anderen notwendigen Winterfest-Dinge wie Scheibenwaschwasser, Enteisungsspray, Eiskratzer, Mütze, Handschuhe etc. mit erledigen, wenn ich schon dran war.

Von daher – der Geschäftswagen wird Winterfest gemeldet.

Halbtagsjob

Gestern und heute hatte ich eine Schulung als Prüfungsvorbereitung für Fachinformatiker Anwendungsentwicklung gehalten. Remote und nur ein Teilnehmer. Auch wenn in Rheinland-Pfalz heute Feiertag war und ich daher eigentlich frei gehabt hätte (soweit man als Freelancer überhaupt „frei“ hat), war der Teilnehmer aus Hessen und da war heute ein ganz normaler Arbeitstag.

Die Schulung ging jeweils nur von 9:00 Uhr bis 13:00 Uhr. Also ein klassischer Halbtagsjob, bei dem man danach noch was anderes unternehmen kann. An so etwas könnte ich mich gewöhnen, denn so ein freier Nachmittag nach getaner Arbeit ist schon nett. Vor allen Dingen bei so einem Wetter. 1. November und Temperaturen für T-Shirt und kurze Hosen. In manchen anderen Jahren wäre ich bei dem Datum vielleicht Schlittenfahren gegangen.

Das Superwetter musste ich heute einfach nochmal ausnutzen und hab mit einem meiner Söhne am Nachmittag eine Radtour gemacht. Zumal ja in Rheinland-Pfalz eben heute auch Feiertag war und ich trotzdem den halben Tag geschult hatte.

Wir sind mit dem Auto kurz rüber nach Hessen in Spuckweite von meinem Zweitbüro. Mit dem Rad ging es vom Rettershof auf den Fuchstanz hoch. Das sind zwar einfache Strecke nur knappe 10 Kilometer, aber es geht über 400 Höhenmeter hoch. Auf der Strecke und am Fuchstanz war es trotz des Superwetters ziemlich leer. Man hat deutlich gemerkt, dass in Hessen eben ein normaler Arbeitstag war. Und wir mussten uns ranhalten, denn ab 17:00 Uhr wird es im Wald bereits unangenehm dunkel. Zudem wurde es bei der Abfahrt auch ziemlich kühl, obwohl es im Tal immer noch unglaublich warm für die Jahreszeit war.

Bei der Rückfahrt war dann ziemlich Betrieb auf den Straßen, denn zum Einen kamen wir in den „normalen“ Feierabendverkehr und zum Anderen sind die ganzen Einkaufstouristen wieder zurück nach Rheinland-Pfalz. Es ist schon richtig Tradition, dass am 1. November ganze Massen aus Mainz und Umgebung die paar Meter über den Rhein in die Geschäfte auf der Hessischen Seite pilgern.