Fortran-Training bei LiL

Gerade ist mein neues Videotraining bei LinkedIn Learning freigeschaltet worden.

Fortran Grundkurs

Fortran? Echt jetzt? Kommt das Training nicht mindestens 30 Jahre zu spät?

Ich habe halt ein Faible für alte Sachen :-).

Aber natürlich ist es fast zwangsläufig, in modernen Zeiten die Frage nach dem Sinn einer Beschäftigung mit Fortran zu stellen. Das gilt für Fortran wie dem anderen Überbleibsel des alten Zeitalters Cobol.

Für beide Sprachen gibt es immer noch Gründe. Sehr gute Gründe. „Fortran-Training bei LiL“ weiterlesen

Fortran – Schnelleinstieg

Seit einigen Wochen beschäftige ich mich (wieder) mit Fortran und hab jetzt sogar Schulungsunterlagen für den Einstieg dazu erstellt und im Selbstverlag veröffentlicht. Wie bitte?

Da werden sich einige – vor allen Dingen jüngere – Spezies vermutlich die Augen reiben oder auch lachen.

Fortan in Zeiten künstlicher Intelligenz und moderner Objektorientierter Sprachen? Gibt es das echt noch?

Aber sicher! Fortran ist – genauso wie Cobol – immer noch „Still
alive and well!“. Und sogar in aktuellen Medien mit Artikeln vertreten. „Fortran – Schnelleinstieg“ weiterlesen

Linux unter Windows

Vor einigen Tagen habe ich mit Erstaunen mitbekommen, dass Fortran (Formula Translation) durchaus noch eine Bedeutung hat. Ich dachte eigentlich, dass diese Sprache schon seit Jahrzenten verschwunden wäre, aber es geht Fortran wohl so wie Cobol. Es gibt Nischen, in denen diese alten Sprachen überleben und absolut noch eine Berechtigung haben. Denn viele ältere wissenschaftliche und technische Projekte wurden in Fortran geschrieben, Fortran ist immer sehr effizient und leistungsfähig bei numerischen Berechnungen und wissenschaftlichen Simulationen und bietet eine klare und präzise Syntax, die für mathematische Ausdrücke und wissenschaftliche Berechnungen gut geeignet ist. Da ich zu Beginn meines Studiums Fortran gemacht habe, möchte ich mich daher in Zukunft damit mal wieder beschäftigen.

Und damit stellt sich die Frage, wie man Fortran auf einem PC zum Laufen bekommt. Das ´“natürliche“ Habitat von alten Sprachen wie Fortran oder Cobol ist ja der Großrechner. „Linux unter Windows“ weiterlesen

Grenzen von ChatGPT bei der Quellcodegenerierung

Ich in ja derzeit voll beim Hype um künstlichen Intelligenz (KI) dabei. Nicht zuletzt mit Videotraining wie KI-unterstütztes Programmieren mit OpenAI und ChatGPT und einigen anderen bei LiL. Aber jetzt hat mich ChatGPT erneut massiv enttäuscht. Schon die falsche Aussage zu der Anzahl von Tagen zwischen zwei Datumsangaben hat mich ziemlich zweifeln lassen. Aber im Moment lasse ich mir für eine Reihe von Aufgaben Quellcode generieren und der ist teils schlicht und einfach falsch bzw. nicht lauffähig. „Grenzen von ChatGPT bei der Quellcodegenerierung“ weiterlesen

DeppGPT

Bei dem ganzen Hype um künstlichen Intelligenz (KI), an dem ich mich u.a. mit Videotraining wie KI-unterstütztes Programmieren mit OpenAI und ChatGPT oder Python für die Datenanalyse 2: Machine Learning bei LinkedIn Learning sowohl beteilige als auch davon profitiere, ist die recht neue KI DeppGPT vom Postillon eine ziemlich interessante Stilblüte. „DeppGPT“ weiterlesen

Kindlei

Damit ist die „Kindlei“ erst einmal fertig. Nach dem Publizieren elektronischer Ausgaben meiner COBOL-Unterlagen und des Buchs „Reguläre Ausdrücke: Kurz und bündig“ habe ich jetzt auch „XML – Kurz und bündig“ also auch „Aufzucht und Pflege kleiner Webseiten mit HTML – Grundlagen der Webseiten-Erstellung“ als Kindle-Version aufbereitet und veröffentlicht. „Kindlei“ weiterlesen

Gleich nochmal Kindle

Nachdem ich erst vor Kurzem meine COBOL-Unterlagen , die ich dem Selbstverlag vertreibe, zusätzlich als Kindle-Buch veröffentlicht habe (sowohl die deutsche Version als auch die neue englische Version), hatte ich schon angedeutet, dass ich auch weitere Bücher von mir aus dem Selbstverlag für den Kindle aufbereiten möchte. Gesagt, getan.

Hier ist das Buch „Reguläre Ausdrücke: Kurz und bündig“ als Kindle Ausgabe. „Gleich nochmal Kindle“ weiterlesen

COBOL und künstliche Intelligenz

Was hat COBOL mit künstlicher Intelligenz zu tun? Eine uralte Programmiersprache aus der Computersteinzeit auf der einen und das derzeit absolute Hype-Thema auf der anderen Seite scheinen nicht viel Gemeinsamkeiten zu haben. Stimmt wohl auch. Außer Berührung bei (mindestens) zwei Sachen:

  1. ChatGPT kann ziemlich gut COBOL-Code erzeugen oder aber aus anderen Programmiersprachen konvertieren.
  2. COBOLIch habe mit Hilfe von KI (DeepL) meine COBOL-Unterlagen, die ich schon geraume Zeit im Selbstverlag herausgebe und die gar nicht so schlecht laufen, aus dem Deutschen ins Englische übersetzt.

„COBOL und künstliche Intelligenz“ weiterlesen

Deutsche Datenschützer gegen ChatGPT & KI

Es sieht so aus als würden Deutsche Datenschutzbehörden ein Verwaltungsverfahren gegen OpenAI und ChatGPT einleiten und sogar mit einem Verbot in Deutschland drohen. Wegen möglicher Datenschutzverletzungen beim Training der KI. Ich fasse es einfach nicht. Schon die DSGVO war ein Schuss ins Knie und hat dem Datenschutz m.E. mehr geschadet als alle Spionageaktionen der üblichen US-Unternehmen. Und jetzt wollen die doch glatt Deutschland von der wichtigsten Entwicklung der IT abhängen und den freien Zugang zu Informationen sperren. „Deutsche Datenschützer gegen ChatGPT & KI“ weiterlesen

Wen macht KI wann überflüssig? Versuch als Nostradamus

Im Rahmen des aktuellen Hypes um künstlichen Intelligenz (KI), der für mich erfreulich meine ganzen Onlinetraining bei LinkedIn Learning (LiL) ziemlich befeuert (ganz neue Kurse wie KI-unterstütztes Programmieren mit OpenAI und ChatGPT, aber auch etablierte wie Python für die Datenanalyse 2: Machine Learning,  Python: Statistische Auswertungen, Mathematik-Grundbegriffe für Programmierer, Python für die Datenanalyse 1: Grundlagen oder auch  Daten aus Tabellenkalkulationsprogrammen mit Python bearbeiten), kommt immer mehr die Diskussion auf, welche Berufsbilder durch KI verschwinden werden, sich grundlegend ändern oder deren Bedarf an Menschen in den Berufen massiv abnehmen wird.

Gerade wurde ich auf einem Vortrag aufmerksam, ob Programmierer in der nächsten Zeit durch KI überflüssig werden. Das steht natürlich in krassem Widerspruch zu dem Gebetsmühlenartig zu hörenden Gejammer, dass so unglaublich viele IT-Fachleute fehlen würden. Denn natürlich steht „Programmierer“ nur als populärer Aufhänger für allgemeine IT-Berufe. „Wen macht KI wann überflüssig? Versuch als Nostradamus“ 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

Neuauflage

2023 startet recht ruhig und die Zeit nutze ich (wie meist am Jahresanfang) für alle möglichen Aufgaben, die im normalen beruflichen Stress hintenanstehen. Etwa kümmere ich mich um meine Workstation oder bringe andere IT-Systeme auf Stand. Aber auch die Überarbeitung eines Buchs war fällig, das ich im „Selbstverlag/Eigenverlag“ publiziere. Diese Möglichkeit der Publikation nutze ich seit ein paar Jahren, um da Themen abzudecken, die für große Verlage uninteressant sind, ich aber entweder für eigene Schulungen Materialien brauche und/oder für das Thema immer noch eine Nische sehe bzw. sowieso Stoff paratt habe.

Ich habe so für XML, Reguläre Ausdrücke und Cobol entsprechende Bücher, die bei epubli gedruckt und vertrieben werden. Vor allen Dingen das Buch zu Cobol läuft gar nicht so schlecht und befindet sich mittlerweile in der 2. Auflage. Dann gibt es noch das erste Buch, das ich 2016 auf diese Weise überhaupt vertrieben habe. Dabei geht es vom Thema um HTML und Grundlagen der Webseitenerstellung.

Aufzucht und Pflege kleiner Webseiten mit HTML
Aufzucht und Pflege kleiner Webseiten mit HTML

Die Verkaufszahlen dieses Buchs sind – sehr vorsichtig ausgedrückt – ziemlich „überschaubar“. Genaugenommen so gering, dass diese die Arbeit nicht wert waren (niedriger zweistelliger Bereich). Das liegt sicher daran, dass HTML kein Thema ist, das derzeit noch hipp ist, die allgemeinen Verkaufszahlen von IT-Büchern extrem eingebrochen sind und ich im „Selbstverlag“ natürlich nicht die Reichweite von großen Verlagen habe, für die ich normalerweise schreibe.

Warum also überhaupt eine Überarbeitung? Mit dem Buch, das den Titel „Aufzucht und Pflege kleiner Webseiten mit HTML“ hat, gibt es für mich Besonderheiten. „Neuauflage“ 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 Auflage von meinem COBOL – Grundlagenkurs für Ein- und Umsteiger

Ich habe die ersten 4 Tage der Woche wieder einmal einen Kurs zu COBOL gehalten. Teilnehmer waren Umsteiger bzw. Programmierer, die sich zum Teil sogar schon längere Zeit mit COBOL beschäftigt haben. Denn obwohl COBOL schon lange tot gesagt wird, gibt es jedoch unverändert zig Millionen von COBOL-Codezeilen. Gerade in Banken und Versicherungen werden COBOL-Programme immer noch eingesetzt und es ist nicht absehbar, dass diese Programme umgestellt werden. Auf der anderen Seite sind die meisten COBOL-Programmierer mittlerweile in Rente gegangen. Es besteht also Bedarf an neuen COBOL-Programmierern und deshalb hatte ich schon vor einiger Zeit passende Unterlagen erstellt. Der Kurs über die letzten 4 Tage hat mich veranlasst, diese   COBOL – Grundlagenkurs für Ein- und Umsteiger etwas zu überarbeiten bzw. zu aktualisieren und um Themen zu erweitern, die in dem Kurs zur Sprache kamen und bisher noch nicht enthalten waren.

COBOL - Grundlagenkurs für Ein- und Umsteiger - von Ralph Steyer

COBOL

Grundlagenkurs für Ein- und Umsteiger

Sprache: Deutsch
Format: Softcover
Bindung: DIN A5 hoch
Seitenzahl: 200 Seiten
ISBN: 9783756519743
Verkaufspreis: 27,99 €
Erscheinungsdatum: 05.08.2022

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.

JSF/MyFaces, Microservices, Maven & Co

Ich habe die ersten drei Tage der Woche eine Einzelschulung zu erweiterten Java-Themen gehalten. Es ist kaum zu glauben, aber das war die erste Live-Schulung seit 1,5 Jahren. Obwohl ich in der Zeit sogar sehr viele Schulungen gehalten habe, waren sie allesamt online.
Bei der Schulung ging es grob gesagt um Java. Aber keine Einsteiger-Themen, sondern um eine Betrachtung diverser Themen im Java-Umfeld samt Web für einen erfahrenen Programmierer, der sich mit den Techniken bereits auskennt. So Sachen wie

  • JUnit, Git und Github,
  • Maven und andere Build-Tools wie Gradle und Ant,
  • Docker,
  • Übersicht neue Java-Techniken (vor allen Dingen Lambda-Ausdrücke, Closures und das Modulsystem)
  • JavaFX/OpenJFX/FXML
  • Ausblick Mobile, Android Studio, Cordova
  • Tomcat bzw. Java-Container als Server (Wildfly)
  • JSP/Servlets/JSF
  • Refactoring
  • Microservices (Spring)

Bei der Anfrage hat mich allerdings das Thema JSF (Java Server Faces) doch schwer verwundert. Ich hatte in der Vergangenheit JSF durchaus mehrfach geschult, aber seit Jahren eigentlich nichts mehr damit zu tun. Und ich bin davon ausgegangen, dass das Thema JSF eigentlich ziemlich out ist. So hatte ich das auch schon vor einigen Jahren beurteilt und mich deshalb aus dem Themenkomplex weitgehend zurückgezogen. Die vereinzelten Anfragen zu JSF-Kursen habe ich auch immer abgelehnt. Überhaupt sah und sehe ich bei den Java-Frameworks für das Web eigentlich nicht (mehr) das große Potential. Weder bei JSF (oder gar Servlets/JSP), noch Spring oder Struts.

Aber mein Teilnehmer wechselt demnächst beruflich als IT-Leiter in eine Behörde, die wohl mit JSF 2.3 arbeitet. Alttechnologien halten sich oft ewig. Ich habe ja auch einen Standardkunden, der noch mit Cobol arbeitet.

Da diese Schulung als eine Art Workshop mit Wissensaustausch gewünscht war und JSF etc. nur einen Teil der Agenda ausgemacht hat, habe ich die Sache angenommen. JSF und Web haben wir dann auch geschlossen am dritten Tag abgearbeitet.

Rückblickend war es auch verdammt spannend, sich wieder in die Welt von JSF einzuarbeiten. Wobei dabei uns beim Voranarbeiten ganz interessante Phänomene untergekommen sind, von denen mir immer noch nicht ganz klar ist, ob wir auf den Grund der Tatsachen getaucht sind oder uns verirrt haben.

Gerade bei Java im Web-Umfeld ist m.E. erst einmal die Konfiguration die größte Einstiegshürde. Vor allen Dingen, wenn man da nicht täglich am Schaffen ist. Das fängt schon mit der Konfiguration der Server an. Ganz banal bei der lästigen Tomcat-Einstellung in der Datei tomcat-users.xml, wo mit

<role rolename="manager-gui"/>

<user username="admin" password="admin" roles="standard,manager-script,manager-gui" />

erst einmal freigeschaltet werden muss, dass der Server über das Webinterface administriert werden kann und war-Dateien überhaupt deployed werden dürfen. Mit Wildfly ist es auch nicht einfacher bzw. bequemer.

Da Maven in der Schulung ein großes Thema war, haben wir viel mit Architypes gearbeitet. Auch bei JSF, was wir in der Version 2.3 als Basis genommen haben. Neben den Schablonen in Netbeans und Eclipse, die mit Maven, Ant oder Gradle arbeiten.

Neben dem elenden Konfigurieren über die web.xml und die faces-Konfigurationsdateien gab es ganz ungewöhnliche Probleme mit dem Kompilieren bzw. Deployen der Projekte. Vor allen Dingen Projekte, die ich schon zum Laufen gebracht hatte, als auch die generierten Projekte aus den POM-Dateien wurden vielfach nicht übersetzt oder konnten nicht auf den Tomcat depoyed werden. Teils gingen auch die SSI-Dateien mit den Tag-Libs, aber alleine die Existenz einer Java-Datei im Projekt hat die Übersetzung blockiert. Nicht einmal als Bean oder Controller gebaut, sondern eine leere Klasse im source-Verzeichnis hat genügt, um einen Fehler zu erzwingen.
Andere Projektkonfigurationen haben die Java-Controler und -Beans übersetzt, aber die xhtml-Dateien wurden auf dem Server nicht geparst und damit die Tag-Libs nicht verarbeitet.
In Netbeans gab es bei dem Problemen mit dem Java-Code die unverständige Fehlermeldung, dass source in der Version 6 nicht mehr unterstützt wird und wir die Version 7ff nehmen sollten. Nach diversen Problemen habe ich auf mein Matebook als Ursache getippt, aber auf dem Teilnehmerrechner waren die Fehler exakt reproduzierbar.
Irgendwann hatte ich die Faxen dicke und habe auf einem alten Linux-Rechner die Geschichte von Grund auf neu aufgesetzt. Also zuerst Maven, was noch nicht da installiert war, und dann einen Architype für JSF mit der Konsolenanwendung mvn aus dem Internet gezogen. Damit hat die Sache von A bis Z funktioniert und mir ist aufgefallen, dass ich auf dem Linux-Rechner das OpenJDK 8 installiert habe. Auf unseren beiden anderen Rechnern allerdings das JDK 16 und bei meinem Teilnehmer das JDK 15. Und danach haben wir endlich in einer Konfigurationsdatei zu den JSF 2.3 die XML-Tags gefunden, dass die Entwickler- als auch Zieldatei auf Java 8 festgelegt ist.
Unter dem Gesichtspunkt macht auch die Fehlermeldung von Netbeans Sinn – es müsste bei mir eigentlich heißen source in der Version 16, aber das Feld für die Versionsnummer wurde wohl nur einstellig konzipiert. Aus der 16 wurde die 6 und damit eine vollkommen unsinnige Fehlermeldung. Aber zum Zeitpunkt, wo die JSF 2.3 konzipiert wurden, hatte man vermutlich nicht an Inkompatibilitäten in so hohen Folgeversionen, sondern nur älteren Versionen, gedacht. Wir sind nicht so ganz sicher, ob die JSF bis zur Version 2.3 mit den neuen JDK nicht mehr klar kommen, aber ich denke schon. In der Doku steht explizit auch die Version 8. Das deckt sich mit der Tatsache, dass Cordova auch nur bis zur JDK-Version 8 funktioniert. Das habe ich ja in meiner Vorlesung an der TH Bingen die Tage behandeln müssen.
Die JSF werden wohl als Apache MyFaces weiterentwickelt und stehen mittlerweile in der Version 4.0 zur Verfügung, aber die haben wir uns dann nicht mehr genauer angesehen.

Rund um das Thema habe ich auch noch ein paar nützliche Anleitungen gefunden:

JSF Tutorial
https://www.javawebtutor.com/articles/jsf/
https://www.tutorialspoint.com/jsf/jsf_overview.htm

JSF in Tomcat zum Laufen bringen
https://www.byteslounge.com/tutorials/how-to-configure-jsf-in-tomcat-example

Webanwendungen als Docker-Images herstellen
https://jaxenter.de/apache-tomcat-meets-docker-webanwendungen-als-docker-images-herstellen-23213

Grundsätzlich hat sich mein Eindruck gefestigt, dass im Web Java nicht (mehr) der Bringer ist. Irgendwie reihen sich JSF/MyFaces in andere Projekte wie JavaFX/OpenJFX oder auch Cordova ein, bei denen die Originalhersteller die Entwicklung abgetreten haben und wo es aus meiner Sicht nicht sicher ist, dass diese Projekte auf Dauer sich halten und/oder zuverlässig weiterentwickelt werden.

Wobei die Erstellung eines Spring-Microservice für Tomcat wirklich genial einfach war und die mit einer Anleitung erstellte Version des Microservice absolut flexibel und einfach an beliebige Bedürfnisse anzupassen ist.

Google My Business

Vor einiger Zeit ist mir bewusst geworden, dass „Hinz und Kunz“ bei Google Maps mit ihren Unternehmen eingetragen sind. Selbst mit den Kleinsten. Klar – das habe ich im Grunde schon häufig „gesehen“, aber eben nicht im klassischen Sinn „wahrgenommen“. Schon gar nicht, dass ich das mit einem „Geschäft“ – also  „My Business“ – auch machen sollte. Warum denn nicht?

Gut – nicht zuletzt durch Corona bin ich beruflich mehr oder weniger bis Anschlag ausgelastet und Marketing bzw. Werbung für neue Aufträge muss ich im Moment nicht machen. Aber es ist natürlich nicht klar, dass die Situation auf Dauer so bleibt. Gibt ja den Spruch, dass man für die Krise vorsorgen sollte, wenn es gerade läuft.

Also habe ich mich in Google Maps mit meinen beiden Standort eingetragen. Und wenn es nur Traffic auf meine Webseite leitet und damit meine Bücher und Onlinevideos bei LiL gekauft werden.

Jetzt hat mir nach der Anmeldung Google Post zugeschickt unter dem Stichwort „Google My Business“. Mit einem Gutschein für Google Ads. Den kann ich in der Tat gut nutzen, um meine im Eigenverlag publizierten Bücher ein wenig zu promoten. Denn da gibt es mittlerweile gleich 4 Stück.


Reguläre Ausdrücke – Kurz und bündig
Reguläre Ausdrücke - Kurz und bündig - von Ralph Steyer

Reguläre Ausdrücke – Kurz und bündig

Seitenzahl: 104 Seiten

ISBN: 9783753136493

Verkaufspreis: 11,99 €

XML – Kurz und bündig
XML - Kurz und bündig - von Ralph Steyer

XML – Kurz und bündig

ISBN: 9783753133423

Format: DIN A5 hoch

Seiten: 128

Softcover 14,99 €

Erscheinungsdatum: 13.12.2020

COBOL – Grundlagenkurs für Ein- und Umsteiger
COBOL - Grundlagenkurs für Ein- und Umsteiger - von Ralph Steyer

COBOL – Grundlagenkurs für Ein- und Umsteiger

Seitenzahl: 188 Seiten

Sprache: Deutsch

ISBN: 978-3-753139-03-6

Verkaufspreis: 21,99 €
Erscheinungsdatum: 26.12.2020

Aufzucht und Pflege kleiner Webseiten mit HTML – Grundlagen der Webseiten-Erstellung
Aufzucht und Pflege kleiner Webseiten mit HTML - Grundlagen der Webseiten-Erstellung - von Ralph Steyer

Aufzucht und Pflege kleiner Webseiten mit HTML – Grundlagen der Webseiten-Erstellung

ISBN: 9783741828829

Format: DIN A5 hoch

Seiten: 300

Erscheinungsdatum: 01.07.2016

Alle guten Dinge sind 3

Nachdem ich über den Dezember bereits im Eigenverlag zwei komplett neue Bücher zu XML und ein Buch zu regulären Ausdrücken veröffentlicht habe, habe ich Nägel mit Köpfen gemacht und gleich im Anschluss mein Buch zu Cobol aus dem Jahr 2017 komplett überarbeitet. Es kamen dabei gut 35 Seiten hinzu. Vor allen Dingen viele neue Beispiele. Aber auch die bestehenden habe ich gründlich überarbeitet, Aktualisierungen einfliessen lassen, einige Fehler und Ungenauigkeiten korrigiert und auch das Layout überarbeitet. 

Damit sollte das neue Buch zu Cobol auf ein paar Jahre hinaus zu gebrauchen sein, denn wirklich Neues tut sich bei Cobol ja nicht. Was konträr zur wieder steigenden Bedeutung von Cobol ist, denn ich verrate kein Geheimnis – COBOL gilt seit vielen Jahren als veraltet. Dennoch – gerade die Corona-Krise hat den Bedarf an COBOL-Kenntnissen wieder angekurbelt, denn viele alten Programme bei Behörden, Banken und Versicherungen sind immer noch in COBOL geschrieben. Die neuen und gestiegenen bzw. veränderten Anforderungen in Verbindung mit der Corona-Krise haben Anpassungen notwendig gemacht und dafür wurden und werden COBOL-Kapazitäten benötigt. Nur gibt es kaum noch COBOL-Programmierer, denn diese kommen mehr und mehr ins Rentenalter. Deshalb werden in der letzten Zeit auch wieder Fachinformatiker auf COBOL angesetzt. Das hätte man vor einigen Jahren niemals gedacht.

Das ist die Eckdaten zum überarbeiteten Buch:

  • Sprache: Deutsch
  • ISBN: 9783753139036
  • Format: DIN A5 hoch
  • Seiten: 188
  • Erscheinungsdatum: 26.12.2020

XML – Kurz und bündig – mein neustes Buch

XML - Kurz und bündig
XML – Kurz und bündig

Ich habe in den Wochen vor dem Jahresende so langsam meine Schulungen zurückgefahren, um einmal etwas zur Ruhe zu kommen und andererseits Zeit für die Überarbeitung meiner Joomla!-Schulungsunterlagen beim Herdt-Verlag zu haben.

Nur gibt es massive Verzögerungen bei der Veröffentlichung der Version 4 von Joomla! und es macht wenig Sinn, die Überarbeitung auf die Betaversion von Joomla! aufzubauen. Also habe ich die frei gewordene Zeit genutzt und mein ganzes bereits über die Jahre gesammeltes Material zu XML in eine Buchform gegossen. Auch wenn ich normalerweise für grosse Verlage Bücher schreibe, publiziere ich hin und wieder auch im Selbstverlag. Bisher habe ich auf diese Weise bereits ein Buch zu HTML und eines zu Cobol veröffentlicht. Hier gibt es nun mein neustes Buch zu XML.

Das ist die Eckdaten:

  • ISBN: 9783753133423
  • Format: DIN A5 hoch
  • Seiten: 128
  • Erscheinungsdatum: 13.12.2020

Das Buch wurde ein Lehrbuch für den Einstieg in XML. Es soll sowohl beim Selbststudium helfen als auch Basis dafür sein, in entsprechenden Kursen XML zu lernen. Der Fokus liegt auf dem Erstellen von XML-Dokumenten und dem Verstehen der Logik und Syntax. Aber auch die Validierung von XML-Dokumenten wird gezeigt und, was man mit XML in der Praxis machen kann. Das Buch wendet sich im Wesentlichen also an Leser, welche die Erstellung sowie das Lesen und Verstehen von XML-Dokumenten als auch Anwendungen mit einer XML-Basis (z.B. SVG, XHTML, Datenbank-Export und -Import, Erstellung grafischer Oberflächen, etc.) lernen wollen. Es ist also explizit ein Einsteigerbuch geworden.