.NET und C# unter Linux

Da schau, meine Installationen von .NET 6 als auch .NET 7 gingen unter Mint Linux 21 einwandfrei durch. Und zwar keine „inoffizelle“ Sache wie Mono, sondern das „echte“ .NET von Microsoft. „.NET und C# unter Linux“ weiterlesen

Von Java 14 bis 21

Seit der Version 14 schaue ich mir in einem Videotraining von LinkedIn Learning (LiL) regelmäßig die Neuerungen jeder Java-Version an. Da die Release-Wechsel von Java seit geraumer Zeit halbjährlich erfolgen, wird das Videotraining immer wieder aktualisiert und auf den neusten Stand gebracht. „Von Java 14 bis 21“ weiterlesen

Datenvolumen

Ich halte im Moment einen Java-Kurs bzw. eine Java-Werkstatt remote per Teams. Gestern habe ich von meinem Büro in Eppstein aus gearbeitet, wo ich seit etwa 3 Wochen keinen Telefon- bzw. Internet-Anschluss mehr habe. Den habe ich gekündigt, weil ich da nicht oft genug bin, dass sich die Kosten rechnen. Denn per SmartPhone geht ja sowieso auch Internet-Zugriff mit Tethering. „Datenvolumen“ weiterlesen

Neuer Java-Kurs bei LiL

Es gibt bei bei LinkedIn Learning seit einigen Wochen einen neuen Kurs von mir. Java ist das Thema. Es geht um einen Einstieg ohne Vorkenntnisse. Deshalb ist auch der Titel Java lernen. Jetzt wurde er noch um Code-Challenges erweitert und ist vollständig.

In der Werkstatt

Die letzte Zeit hatte ich mit Videoaufnahmen für LinkedIn Learning (LiL), Überarbeitung von Unterlagen für den Herdt-Verlag und Schulungsunternehmen sowie Consulting bzw. Programmierung von zwei VBA-Projekten im Rahmen von Excel- bzw. Access-Anpassungen immer ganz gut zu tun, aber keinerlei Schulung (bis auf meine permanente Betreung von Onlinekursen bei der ILS). Die letzte Schulung war Anfang Mai, aber auch im April war es schon dünne. Doch so langsam geht auch der Zweig meiner Arbeit wieder los. Erst einmal mit einer Java-Werkstatt über 7 Tage, die remote läuft. „In der Werkstatt“ weiterlesen

Online-Training zu VB.NET

Mein neues Online-Training zu VB.NET ist bei LinkedIn Learning erschienen. Genaugenommen ist es ein Update von einem Training aus dem Jahr 2015, was damit ganz offensichtlich in die Jahre gekommen ist. Visual Basic ist eine objektorientierte Programmiersprache, die von Microsoft entwickelt wurde, um die Entwicklung typsicherer .NET-Apps zu ermöglichen. VB kommt in Web-, Cloud-, Desktop- und mobilen Umgebungen sowie in der Spieleprogrammierung zum Einsatz und eignet sich zudem bestens für den Einstieg in die Programmierwelt.

Mit Visual Basic und Visual Studio schnell und einfach programmieren lernen aus dem Kurs „Visual Basic Grundkurs“ von Ralph Steyer

Dieses Video-Training stellt Ihnen zunächst allgemeine Grundsätze der Programmierung, die IDE Visual Studio und das .NET-Framework vor. Danach erlernen Sie den Umgang mit Projekten in Visual Studio, um sich alle wichtigen Aspekte von „VB.NET“ Schritt für Schritt zu erarbeiten: die Syntax, die verschiedenen Arten von Programmen, grafische Oberflächen bis hin zum Einsatz von Programmen mit Datenbankanbindung. Ein eigenes Kapitel widmet sich VBA (Visual Basic for Applications), das in vielen Office-Anwendungen als Makrosprache zur Verfügung steht.

Nun kann man sich fragen, ob VB.NET überhaupt noch eine Relevanz hat? Alles rund um altes Basic als auch die Erben Visual Basic, VB.NET bzw kurz VB und VBA wird ja seit zig Jahren totgesagt. Genauso wie COBOL. Was letztendlich die Antwort impliziert – die alten Technologien und Sprachen werden totgesagt, neue Technologien und Sprachen gehyped und nach dem Hype bleiben die totgesagten Technologien und Sprachen übrig. „Online-Training zu VB.NET“ weiterlesen

Java 14 – 20 – Neue Features – aktualisierter Kurs

Seit divresen Versionen von Java verfolge ich die jeweiligen Neuerungen
in einem Kurs bei LinkedIn Learning (LiL), der regelmäißig aktualisiert
wird. Gerade ist wieder soweit „Java 14 – 20 – Neue Features – aktualisierter Kurs“ weiterlesen

Aktualisierungen gehen weiter

Ein weiteres Videotraining von mir bei LinkedIn Learning (LiL) (Python für C++-, Java- und C#-Entwickler:innen) wurde aktualisiert bzw. um neue Themen erweitert. Dabei geht es um den Einsatz von ChatGPT und KI zur Erstellung von Python-Code sowie die match…case-Anweisung.

Mr English

Ich bin gesundheitlich etwas angeschlagen, halte aber dennoch diese Woche eine Remoteschulung zu Java. Rein fachlich kein Problem, aber die Schulung ist komplett auf Englisch. Hab ich ewig nicht mehr gemacht. Soweit ich mich entsinne war das letzte Mal eine Vorlesung an der Hochschule Rhein-Main in Englisch und das ist Jahre her. Oder es war die Perl-Schulung in Berlin, was aber auch ein paar Jahre schon her ist. Anyway – muss mich doch ziemlich konzentrieren, funktionert zwar ganz gut.

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

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.

Stress- und Java-Säuberung

Die vielen Schulungstage der letzten Zeit haben bei mir doch einigen Stress aufgebaut. Heute musste ich deshalb mit dem Rad raus – auch wenn es recht „feucht“ war. Aber das Radfahren durch Regen und Matsch hat den Stress quasi weggewaschen.

„Stress- und Java-Säuberung“ weiterlesen

Radikalschnitt

Die letzten Wochen standen bei mir ganz im Zeichen sehr vieler Schulungstage. Zuerst im Rahmen mehrerer Fachinformatikerausbildungen zu Python und MySQL, aber die letzten 3 Wochen komplett zu Java und JavaFX/OpenJFX. Dabei ging es bei purem Java um eine „Werkstatt“ im Rahmen der Fachinformatikerausbildung, bei der noch mit Swing gearbeitet wurde.

Bei dem Kurs zu JavaFX habe ich hingegen professionelle Java-Entwickler einer Berliner Behörde geschult, die vorher bei einem anderen Trainer einen Kurs zu Maven gemacht hatten und danach eben noch JavaFX kennenlernen sollten. Zum Teil hatten die aber auch schon vorher mit JavaFX gearbeitet.

Der JavaFX-Kurs war bereits früher angesetzt gewesen, aber der
eingeplante Trainer war ausgefallen und ich habe den Kurs mit einem neuen Termin kurzfristig übernommen. Die beiden Tage habe ich zwar recht schwer untergebracht und eigentlich war ich bereits so ausgelastet, dass ich im Grunde keine Termine mehr annehmen wollte. „Radikalschnitt“ weiterlesen

Vor Ort – oder doch lieber remote?

Aktuell bereite ich gerade für nächste Woche eine Cobol-Schulung vor. Auch wenn ich die letzten Wochen Vor-Ort-Schulungen gehalten habe – die Sache wird wieder remote laufen. Ebenso wie meine Videoaufnahmen für LinkedIn Learning in der übernächsten Woche. Für mich stellt sich mittlerweile die Frage, ob und wann meine Arbeit wieder ganz oder zumindest überwiegend auf „Präsenz“ umgestellt wird? Denn ich habe für die kommenden Wochen und Monate wieder Schulungsanfragen, die zwingend Vor-Ort laufen sollen. Zum Teil habe ich sie schon zugesagt. Aber Corona, die aktuell katastrophalen Rahmenbedingungen beim Fliegen (heute wird zusätzlich zu den total chaotischen Flughafenbedingungen durch den Urlaubswahnsinn sogar noch in FFM gestreikt), die permanent unzuverlässige Bahn sowie die explodierenden Benzinpreise bzw. allgemeinen Reisekosten lassen mich meine Zusagen bereuen und  überlegen, ob ich nicht konsequent auf „Remote“ bestehe? Vielleicht mit Ausnahme von Schulungen hier in der Umgebung, die ich u.U. sogar mit dem Rad anfahren kann (wie die letzten Wochen) und Videoaufnahmen bei LinkedIn Learning in Graz, denn ich will da unbedingt mal wieder hin. Aber ansonsten?

Ich muss Ende September nach Hamburg. Wie soll ich denn da hinkommen?

  • Inlandsflug? Theoretisch billig, gut und schnell. In der Praxis eine Umweltsauerei und besagtes Chaos an den Flughäfen lassen das im Grunde als Option nicht zu.
  • Bahn? Das klappt bei mir einfach nie. Mein Sohn hat letzte Woche wieder 5,5 Stunden für eine Strecke gebraucht, die nach Plan 90 Minuten dauern sollte, ich habe mein letztes Ziel vor 3 Wochen (Marburg) gar nicht erreicht, weil es einfach in Giessen nicht mehr weiterging, Anschlusszüge erreiche ich sowieso fast nie und ich kann nicht mehr zählen, wie oft meine Fernzüge unterwegs stehengeblieben sind.
  • Auto? Bei den Kosten, den Staus durch die vielen Baustellen und auch wegen der Umwelt wirklich nicht gut. Nach HH sind es weit über 500 Km und da brauche ich ja 6 – 7 Stunden einfach.

Ich liebe HH und das war mit ein Grund, warum ich diese Maßnahme Vor-Ort zugesagt habe, aber ich hoffe dennoch, dass Corona die Sache auch für den Kunden auf Remote zwingt. Doch die Kunden wollen eben wieder verstärkt von Remote weg. Gestern habe ich von einem Schulungspartner, für den ich die letzten Wochen UML und Java bei Fachinformatikern geschult habe, einen Hilferuf bekommen. Denn rein zufällig soll er in einigen Tagen für einen Teil dieser Gruppe eine Cobol-Schulung halten. Mein Schulungspartner ist nun Cobol-Spezialist und macht das seit gut 35 Jahren – früher Host und mittlerweile unter Linux. Er ist also in Cobol fitter wie ich und der Hilferuf ging nicht um konkrete Cobol-Fragen und auch nicht darum, ob ich das übernehmen könne.

Es ging darum, dass beim Kunden neue Corona-Regeln in Kraft getreten sind. Die Gruppe, die Cobol in den Räumlichkeiten des Kunden (einer Bank) lernen soll, besteht aus 4 Fachinformatiker-Azubis und dem Trainer (besagtem Schulungspartner). Wenn in der Schulungszeit auch nur ein Corona-Fall bei einem der 5 Leute auftritt, besteht für die gesamte Gruppe ein Betretungsverbot der Räumlichkeiten des Kunden für die kommenden 5 Tage. Nun hatte ich die Azubis ja über die letzten 5 Wochen immer 2 Tage die Woche in einer Berufsschule unterrichtet und ständig hat jemand wegen Corona gefehlt. Ich selbst habe am letzten Tag auch ein Andenken mitgenommen – trotzt Mehrfachimpfung/Boostern. Was mir nur zufällig aufgefallen war, denn meine Symptome waren so, dass ich normalerweise nie auf die Idee gekommen wäre, mich zu testen oder gar krankzufeiern. Rein die Sensibilität aufgrund des Corona-Hotspots Schule hat dazu geführt, dass mir die Möglichkeit überhaupt in den Sinn gekommen ist. Aber sei es drum – auch wenn die aktuelle Corona-Variante wohl bei 99,9% der Infizierten entweder nicht bemerkt wird oder nicht an die Auswirkungen eines Sommerschnupfens heranreicht – wenn so strikte Zugangsregeln bzw. Isolationsregeln etc. gelten – wie soll man dann noch Maßnahmen vor Ort planen können?

In dem Fall meines Schulungspartners ist die Planung einfach – sie werden vor Ort beginnen (erzwungen vom Kunden) und dann ist es nur die Frage, an welchen Tag abgebrochen wird. Der einzige Grund, warum das im besten Fall durchgehen kann ist, dass die Azubis Ihre Corona-Infektion bei mir in der Schulung bereits hatten und gerade immun sind. Bis zur nächsten Variante des Virus. Aber wie gesagt – vermutlich wird die Schulung abgebrochen und dann muss halt auf remote umgestellt werden. Theoretisch. Denn im Fall von Cobol wird das auf dem Host verwendet oder unter Linux, die Azubis müssen aber im Remote-Fall Notebooks der Firma verwenden, unter denen dann ein Host-Zugriff oder Linux und die verwendete Cobol-Distribution nicht laufen. Der Kunde lässt also Remote quasi technisch scheitert, verbietet aber Vor-Ort mit hoher Wahrscheinlichkeit. Quadratur des Kreises.

Um kurz abzuschweifen – ich habe OpenCobolIDE, MinGW und ein Docker-Image für Cobol als Lösung vorgeschlagen, um Cobol dann unter Windows bei den Azubis zum Laufen zu bringen und gerade die Sache mit dem Docker-Image gestern erstmal selbst getestet, um das nächste Woche selbst neu in meine Schulung zu integrieren. Geht wunderbar und ist quasi die Verbindung der Vergangenheit (Cobol) mit der Gegenwart (Docker). Genau da sehe ich auch in meiner sehr Laienhaften Betrachtungsweise den Hauptsinn von Docker, denn so nutze ich Docker ja auch für Cordova bei meinen Vorlesungen an der TH Bingen.

Aber um die Sache zum Abschluss zu bringen – ich habe die letzten Wochen Kundenwünschen nach Vor-Ort-Maßnahmen wieder zugestimmt, werde das aber beenden. Solange ich es mir leisten kann, werde ich wieder auf reines Remote zurückgehen. Die fehlende Planungssicherheit, die aktuell unmöglichen Reiseumstände und auch, dass mich Corona trotz Boostern und extremer Vorsicht erwischt hat (auch wenn ich keine wirklichen Symptome mitgenommen habe), geben mir keine andere Wahl. Freiberufliche Arbeit muss extrem flexibel sein und richtig planen kann man nie – aber so extreme Unsicherheit ist mir zu viel. Zumal auch das gesamte Risiko bei mir liegt. Wenn ich Corona bekomme, muss ich die Maßnahme abbrechen. Entweder weil es der Kunde oder die Politik immer noch 5 Tage Isolation fordert – auch ohne Symptome (da ist Deutschland leider noch nicht so weit wie etwa Österreich, wo diese Maßnahme endlich abgeschafft wurde). Remote arbeite ich einfach weiter. Oder die Maßnahme wird abgebrochen, weil irgendjemand in der Gruppe Corona hat. Das explodierende Risiko von Reiseproblemen muss ich auch noch tragen. Nein, so geht es einfach nicht, wenn auf der anderen Seite Remote alles einfach und sicher macht.

Einführung in JavaFX/OpenJFX als eBook bei SpringerLink

Gestern habe eine E-Mail von meinem Verlag bekommen, dass mein Buch zu JavaFX/OpenJFX jetzt auch in digitaler Form auf SpringerLink verfügbar ist.

Einführung in JavaFX/OpenJFX

Einführung in JavaFX/OpenJFX

ISBN des eBooks 978-3-658-35539-5

In gedruckter Form (ISBN des gedruckten Buches
978-3-658-35538-8) ist das Buch schon eine ganze Weile verfügbar.

In and out

Diese Woche bin ich wieder am Aufnehmen eines Videotrainings für LinkedIn Learning sowie der Erledigung einer weiteren Zusatzaufgabe, bei der ich bei einer Übersetzung eines Kurses fachliche Korrekturen einpflegen soll. Ich schaffe also weiteren Input und gleichzeitig gibt es aber bei  LinkedIn Learning neuen Output von mir.

Mein neuer Eclipse-Grundkurs wurde freigeschaltet. Das ist die aktuellste Version eines Videotrainings, das ich ursprünglich schon vor vielen Jahre aufgenommen und mittlerweile einige Male überarbeitet habe. Eclipse gilt als Schweizer Taschenmesser für die Softwareentwicklung. Die IDE, die ursprünglich überwiegend in der die Java-Entwicklung zum Einsatz kam, kann mittlerweile für fast alle denkbaren Programmiersprachen und Software-Techniken verwendet werden.

Preisexplosion beim Raspi

Ich muss zugeben, dass ich mir lange keine Preise für Hardware angesehen habe. Und schon gar nicht für den Raspberry Pi. Hin und wieder krame ich meinen alten Raspi der Version 1 raus und experimentiere damit rum. Aber die Version 1 ist wirklich so schwach auf der Brust, dass man damit eigentlich nur testen kann, welche Minimalhardware für gewisse Dinge notwendig ist und dabei braucht man viel Zeit und Geduld, bis die Programme starten bzw. fertig sind. Und wirklich nützliche Anwendungen habe ich in dem Bereich wenig gefunden, weil ich keine Hardwaresteuerung programmiere. Einzig die Ausführung von einem Python-Skript zur Spamabwehr ist derzeit eine produktive Anwendung des kleinen Raspi. Aber obwohl ich immer noch unter massivem Spambeschuss stehe, haben sich mittlerweile wohl die Antispam-Cloud-Dienste und die internen Spam-Abwehrmechanismen auf die neue Art des Spams eingestellt, die vor einigen Wochen wie eine Schlammlawine durchs Netz gewalzt ist. Der Raspi hat also als Torwächter wieder weniger zu tun. Bei einer anderen Anwendung hat aber die extrem schwache Hardware die Hürden nicht geschafft. Ich wollte für die kommende Cordova-Vorlesung, die ich an der TH Bingen ab übernächster Woche halte, ein Linux-System so konfigurieren, dass Cordova-Android-Apps kompiliert und nach Möglichkeit auch in einem Emulator (oder zur Not auf einem per USB angeschlossenen SmartPhone) ausgeführt werden. Da für Cordova eine ganze Reihe an recht alten Bibliotheken (JDK 8) auf der einen Seite und den elend vielen Ressourcen im Fall von Android auf der anderen Seite verlangt werden, ist meine Workstation nicht passenden konfiguriert – von meinem Matebook mit der kleinen SSD ganz zu schweigen. Und ich habe keine Lust, nur für die Vorlesung meine gesamten Konfigurationen durcheinander zu bringen und zig Sachen da zu installieren, die ich sonst nicht mehr brauche.

Zwar habe ich einen passenden Docker-Container noch von der letzten Vorlesung vorbereitet und auf den neusten Stand gebracht und auch mein altes Terra-Notebook hat Cordova sogar mit Visual Studio verfügbar (das geht maximal bis Visual Studio 2017 und das habe ich aus dem Grund auch noch auf dem alten Notebook gelassen). Aber unter meinen Linux-Systemen klappt die Installation von Cordova und den Android-Ressourcen nicht so richtig. In dem parallel auf dem alten Notebook installierten Linux ist irgendwas zerschossen und ich kann gar keine Aktualisierungen vornehmen. Das muss ich vermutlich komplett neu aufsetzen. Und bei den virtuellen Maschinen habe ich sowohl bei VM Ware als auch VirtualBox eine Reihe von anderen – und ganz verschiedenen – Problemen. Alles nix Tragisches, aber es kostet Zeit und wenn ein Problem gelöst ist, kommt das nächste. Unbefriedigend und es raubt Zeit.

Da kam mir die Idee, entgegen meiner bisherigen Planungen vielleicht doch einen neuen Raspi zu kaufen und den als Linux-System ins lokale Netz zu hängen und je nach notwendigem Ziel immer wieder neu aufzusetzen. Also so eine Art Hardware-Docker-Container-VM-Ersatz. Ich hatte für den ersten Raspi so um die 35 – 40 EUR ausgegeben, bin mit der Erwartung gerade auf die Suche gegangen und fast vom Glauben abgefallen. Die wollen ja teils weit über 200 EUR für die Platine mit ein bisschen Krimskrams dazu. Ne, wirklich nicht. Das hat ja gar nichts mehr mit der ursprünglichen Idee einer möglichst billigen Platine zu tun. Ich schaue mal weiter oder vielleicht gebe ich doch alternativen Platinen eine Chance, bei denen nicht noch zusätzlich ein Hype die Preise hochtreibt. Oder lasse es.

Derzeit kann man wohl weder Sprit bzw. Öl als auch Hardware kaufen. Benzin muss leider ab und zu sein (auch wenn ich weniger fahre und zudem wenn möglich auf das Rad oder eBike umsteige), aber Hardwarekauf kann verschoben werden, bis die Preise wieder normal sind.

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.