DAG, Blockchain und die Kombis a la Radix & Co.

DAG, DAG, DAG, die Entenfamilie weiß Bescheid!
Merken: Directed Acyclic Graphs, ein „blockless distributed ledger“

Bei CryptoCandor finden sich eine Menge Informationen. Die gute Dame spricht schnell, macht aber vieles verständlich:

Vergleich zwischen Blockchain und DAG

DAG scaling issues & Aims of Radix

WordPress…

…umziehen in einen Docker-Container, Datenbank ebenso in einen Docker-Container wechseln und dabei gleich auf mariadb switchen.

Und dann ist das Einloggen in mein WordPress 5 buggy! Die Lösung erstmal per docker exec -it mariadb mysql -p:

  • mysql> DESCRIBE wp_wfBlocks7;
  • mysql> ALTER TABLE wp_wfBlocks7 CHANGE id id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT;
  • mysql> DESCRIBE wp_usermeta;
  • mysql> ALTER TABLE wp_usermeta CHANGE umeta_id umeta_id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT;

Einloggen geht wieder, in meinem jahrealten WordPress.
Und das WordPress-Update auf 5.2.3? „WordPress aktualisieren. Momentan wird eine andere Aktualisierung durchgeführt.“ Echt jetzt?

  • mysql> DESCRIBE wp_options;
  • mysql> SELECT DISTINCT(option_id) FROM wp_options ORDER BY option_id;
  • mysql> SELECT * FROM wp_options WHERE option_id=0;
  • mysql> UPDATE wp_options SET option_id = option_id +1 ORDER BY option_id DESC;
  • mysql> ALTER TABLE wp_options CHANGE option_id option_id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT;

Und Beiträge schreiben?

  • mysql> ALTER TABLE wp_posts CHANGE ID ID BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT;
  • mysql> UPDATE wp_postmeta SET meta_id = meta_id +1 ORDER BY meta_id DESC;
  • mysql> ALTER TABLE wp_postmeta CHANGE meta_id meta_id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT;
  • mysql> UPDATE wp_terms SET term_id = term_id +1 ORDER BY term_id DESC;
  • mysql> ALTER TABLE wp_terms CHANGE term_id term_id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT;

Durch die Aufteilung der früheren Tabellen categories, post2cat, und link2cat in wp_terms (den Termini), wp_term_taxonomy (Zuordnung der Termini zu  Beitrags-Tags, Beitragsformaten bzw. Beitrags-Kategorien) und wp_term_relationships (Zuordnung der Beiträge zu den entsprechenden Termini) ist hierbei Unordnung eingezogen, die manuell zu bereinigen war.

Dann noch ein echo „# BEGIN WordPress“ > .htaccess ins root-Verzeichnis und im WordPress-Dashboard unter „Einstellungen“ die Permalinks-Einstellungen gewechselt und zurück gewechselt – dann funktionieren die auch wieder…

IT Ab use

Bezüglich meiner Urteilsfähigkeit muss ich ein bisschen aufpassen. Was ich in den letzten fünf Jahren an mangelnder Flexibilität und zeitfressendem Ping-Pong ohne tragfähige Lösungen erlebte und noch erlebe trotz – oder gerade wegen – dem Einsatz etablierter Systeme und Konstrukte, hat mich erneut geprägt. Wir waren davor auf einem weitaus besseren Weg. Und dazu waren nicht nur „unter anderem“, sondern „vor allem anderen“ auch Regelungen durch Lizenzbeschränkung bis hinunter zu Funktionsfehlern durch das zwanghafte Einprogrammieren der Lizenz-Beschränkungen ursächlich.

Ein weiterer Teil liegt zusätzlich auch an der Entwicklung der IT insgesamt. Die wir bisher so alle prägten und so förderten, wie sie sich entwickelte.

In diese Sackgassen möchte ich mit keinem neuen Aufbau kommen. Systeme, die Windows voraussetzen, setzen eben ein Windows voraus, das zum weiteren Systemaufbau mit Windows zwingt. Soll so ein Kreislauf projektiert werden, werde ich administratorisch nicht dafür verantwortlich sein.

Das geht auch nicht, da ich gleichzeitig Datenschutzbeauftragter bin und mit Windows und dem Einsatz anderer Software aus amerikanischen Schmieden kein Datenschutz mehr möglich ist (gesetzlich geregelt seitens der USA durch den Cloud-Act seit März letzten Jahres). Bekommen wir Lösungen auch ohne Windows-Systemzwang hin, sind nicht in Deutschland ansässige IT-Firmen dennoch nicht mehr deutscher Gesetzgebung unterworfen. Bei Privatisierung von Wasser und Häfen durch Chinesen schreit jeder laut auf, in diesem Bereich nicht, da fördern wir das nur immer weiter.
Zudem lässt ein Vendor-Lock-In keinen eigenen Verantwortungsspielraum mehr frei, keiner deutschen Firma, keiner Regierung. Amerika kann Europa jetzt schon einfach jederzeit abschalten. Allein dass uns das allen bewusst ist und wir dennoch nichts an unserem täglichen Handeln ändern, finde ich mindestens befremdlich. Das ist ein großer Unterschied zum Zusammenbruch der Weltwirtschaft: Systeme „stromlos“ setzen können auch Terroristen und die USA mauserte sich zum beliebtesten Ziel. Terroristen im Sinne einer Oligarchie von Irren im Gegensatz zu Handlungen im Konsens breiter Massen, gegen die auch ein Präsident der USA nicht ankommt.

Ich fürchte mich weniger davor, dass wir ein technisches Versagen – gerade bei Open-Source mithilfe einer ungeregelten und somit ungesteuerten Community – nicht wieder hin bekommen, als davor, dass unser Handeln die Grundlage eines vernichtenden Urteils der kommenden Generationen über uns bildet. Und ein Erwachen aus selbstverschuldeter Grausamkeit, in der liebe Omas und Opas kleine Rädchen waren, die die Grausamkeit sogar ohne eigenem vermehrten Nutzen und unwillentlich förderten – repetitio non placet. IT und Menschlichkeit schließen sich logisch eh schon in weiten Bereichen aus. Computer müssen z. B. nie auf Toilette…

Manche Entwicklungen dürfen und sollten wohl länger dauern und müssen vielleicht auch teilweise schmerzlich sein, wenn nur die „Community“ daran wächst. „Community“ ist immerhin noch der Begriff für eine menschliche Interessensgemeinschaft, ggf. sogar eine nahe an der griechischen Demokratie wie Communities im Internet. Oder für die Belegschaft einer Firma. Oder für die Bürger eines Staates. Oder für die schrumpfende Gemeinschaft an genug ausgebildeten Fachkräften in Deutschland, die die überlebensnotwendigen Werkzeuge um uns herum noch verstehen, beherrschen und eingreifen können.

Die Sicherheit eines langjährig eingesetzten Systems liegt meiner Ansicht nach aber nicht nur in der Technik und der Software dahinter allein begründet.

Entscheidungsgewalt haben die, die sich überhaupt noch dazu trauen, in Deutschland ein Unternehmen zu führen. Da gibt es eben auch vieles zu bedenken, bevor die Späne fallen.

Mein Leben als Datenschutzbeauftragter o. b. B.

– ein Netzwerk, das man vergrößert, hat eine größere Angriffsfläche.

– mehr Verantwortliche bedeuten auch mehr Zugriff auf Firmendaten. Unter vielem anderen kann auch der Inhalt der für die internen Mitarbeiter geschützten Verzeichnisse von externem, philosophisch-moralisch ungeschultem und weder Ihrer noch unserer Firma sonderlich verbundenem IT-Fachpersonal eingesehen werden.

– von den Angestellten und dem Chef unbemerkte, direkte Zugriffe durch Personal externer Teams auf unsere Systeme können definitiv niemals ausgeschlossen werden, wenn das Intranet kein Inhouse-Netzwerk ist.

– bei allen externen Teams gibt es ebenfalls Mitarbeiter-Fluktuation jenseits jeder Einschätzungsmöglichkeit der Risiken für Folgeschäden aus Sicht der Geschäftsführung.

– die immer fähigere Hardware, die unter unseren virtuellen Systemen liegt und diese vernetzen, kommt aus Ländern mit diktatorischem Regime, die komplett konträre Interessen zu unseren haben.

– auch Venenscanner können schon mit Bienenwachs-Händen überlistet werden (usw. usw.), IT-Sicherheit ist ein Fachgebiet mit sehr kurzlebigen Lösungen.

– Cloud-Systeme sammeln Dienste, offene Ports und vielzählige Software-Konstrukte mit Millionen Zeilen Code und sind deswegen lohnende Ziele.

– die Betriebssysteme, die wir momentan einsetzen, werden von mehreren Regierungen als hoch unsicher eingestuft und jeder ist sich des Verstoßes gegen das Datenschutzgesetz durch den – aus europäischer Sicht irländischen – Softwarehersteller bewusst, der zudem am wenigsten an einem gesunden, staatstragenden Wirtschaftskreislauf interessiert ist, da er wie alle großen IT-Unternehmen quasi staatenlos geworden ist.

– gleichzeitig sind alle Daten, die mithilfe von Codezeilen aus den USA gespeichert wurden, unter dem direkten Zugriff der amerikanischen Regierung und Herrn Trump – seit März letzten Jahres sogar hochoffiziell gesetzlich geregelt mit dem „Cloud-Act“.

– die Ausbildung von international gleichwertigen Fachkräften wurde in Deutschland auf breiter Front vernachlässigt, weswegen man auf der Hannover-Messe viele „Innovationen“ sieht, die bereits von Kindern, die zum Lego-Spielen fähig sind, „programmiert“ werden können – natürlich im von IT-Fachkräften vorgegebenen Rahmen. Das führt immer mehr dazu, dass Menschen Maschinen und Computer bedienen, ohne ausreichend ausgebildet zu sein, diese zu verstehen und in der Lage zu sein, Herrschaft über diese zu gewinnen. Das macht aus manchen IT-Fachkräften, die viele andere IT-Fachkräfte an ihren Fäden spielen lassen, Götter der restlichen Menschheit (allerdings eher die griechische „Götter“-Version).

Auch gesellschaftlich gesehen „Im Westen nichts Neues“: die IT profiliert sich zum überlebensnotwendigen Werkzeug, weil wir Regierungen fördern, die am Arbeitsplatz interessiert sind und nicht am Menschen – mit dem Erfolg, dass der diplomatische Status und der zusätzliche Aufschlag auf das Gehalt, das gegen Bestechlichkeit helfen soll, langsam von Politikern und systemimmanenten Monopolstrukturen auch auf IT-Fachkräfte ausgeweitet werden.

„Hooray!“

Warum freie, unixähnliche Mehrbenutzer-Betriebssysteme schön sind…

…und Microsoft Betriebssysteme Menschen unglücklich machen, lässt sich leicht begründen.

Meinen Hintergrund bilden dabei über viele Jahre mehrere selbstadministrierte und fremdadministrierte Microsoft-Domänen mit verschiedenen MS-Server-Betriebssystemen und Serverdiensten sowie eigene und fremde Linux-Betriebssysteme mit einer Vielzahl an Techniken und Diensten.

Immer wenn ich an und mit Linux arbeite, werde ich glücklich. Es ist nicht alles Gold, was glänzt – aber durch Arbeit und Analyse des jeweiligen Konglomerats an Problemen konnte in den vergangenen annähernd zwei Jahrzehnten alles gelöst werden, was sich an Problemen gestellt hat. Dabei läuft mein ältestes, öffentliches Linux-System seit 2004. Durchgängig. Natürlich auch mal mit Hardware-Ausfällen und stundenlanger Neukonfiguration durch Schusseligkeit oder auch Unwissenheit.

Was macht daran glücklich?

Ich hatte nie das Gefühl, dabei eine Minute zuviel an Lebenszeit in die Lösung von Problemen gesteckt zu haben. Selbst wenn ich mehrere Tage am Stück investieren musste. Diese Investitionen waren sowohl kurz-, mittel- als auch langfristig jederzeit proportional zum „return of investment“: mit Linux kumuliert sich das Wissen um die innersten Vorgänge in der großen, vielfältigen und „schnelllebigen“ Welt der IT. Es bleibt kompromissbereit logisch – die Community will es so; nicht der schnelle Rubel oder der größte Dickkopf zählen, sondern jeweils eine grundsolide Basis, auf die man sich gemeinsam einigt und mit der auch nach Jahren noch weiter gearbeitet werden kann.

Dennoch schneide ich Filme unter MacOS X, genau wie mir Serato DJ und Ableton Live auf OS X ans Herz gewachsen sind. Das sind schöne Endanwender-Programme auf einem stabilen, unixähnlichen Mehrbenutzer-Betriebssystem, wobei sich dabei auch mehrere Systeme verketten lassen, um z.B. schneller gemeinsam zu rendern uvm. Richtige Gurus setzen auch da auf Open-Source…

Ich habe auch mehrere Windows-Betriebssysteme – als Desktop, privat und als Desktop und Server, beruflich – in der Administration und im Betrieb. Bestimmte Software-Hersteller sind noch nicht willens oder oft auch einfach nicht in der Lage, Software plattformunabhängig zur Verfügung zu stellen.

Microsoft änderte sich in den letzten fünf Jahren jedoch – das kommt in Deutschland nur noch nicht bei den „Microsoft-Fachleuten“ an. Microsoft hat sich unter Satya Nadella, dem amtierendem Microsoft-CEO, von den Einstellungen des „Kriegsgenerals“ Bill Gates, dem Microsoft-Manager und späteren Nokia-Boss Stephen Elop („We will disrupt other systems!“) und vielen weiteren Alphatierchen und Unsympathen, die ihre beschränkte Weltsicht über die Schwarmintelligenz stellen, entfernt, weiterentwickelt und ordentlich in die Open-Source-Welt investiert.

Auch deutlich ist nach Jahren in Kooperation mit vielen externen Teams: arbeite ich mit einer open-source-affinen Fachfrau oder deren männlichen Pendant zusammen, ist es einfacher, sich zu verstehen, einfacher, miteinander zu kommunizieren und effektiver, gemeinsam Lösungen zu entwickeln. Die alten MS-Ressentiments stecken bei den Microsoft-Puristen so tief im Kopf wie in der momentan in Deutschland – und Brüssel! – noch auf breiter Front eingesetzten Software.

Dabei entsteht hier ein Teufelskreis: die Grenzen, die die Software-Pakete von Microsoft dem jeweils zuständigen Fachpersonal bei der Lösung von Problemen stecken, sowie auch die erweiterte Komplexität und vermehrte Fehleranfälligkeit durch den Overhead von Lizenzkontroll-Mechanismen frusten sowohl die Benutzer dieser Software-Pakete als auch das Fachpersonal, das Schwächen und Bugs ausbügeln, die Software über Jahre warten und individuelle Funktionen und benutzerfreundliche GUI-Lösungen integrieren soll.

Dabei bin ich noch gar nicht zu den Aspekten der Microsoft-Software gekommen, die klar geltendes deutsches und europäisches Recht brechen oder umgehen, sei es bei der Steuerpolitik oder bei Verordnungen zum Datenschutz. Oder den Schwächen, die die Ausbildung nicht nur des deutschen Fachpersonals betreffen: die Aussage, dass Informatiker vor 25 Jahren leistungsfähiger waren als in den letzten zwei Jahrzehnten, was  zielgerichtete Problemlösungen anhand einer intelligenten Auswahl der jeweils passendsten Werkzeuge anbelangt, hat Microsoft verschuldet.

Diese traurige Realität wird erst in den letzten Jahren durch die vielfältigen Web- und Smart-Device-Techniken langsam wieder verbessert. Allerdings basieren sehr viele fundamentale Lösungen im Intranet deutscher Firmen noch auf dem schwachen Unterbau in die Jahre gekommener Microsoft-Server-Betriebssysteme – und die lassen sich bekanntlicherweise „traumhaft“ upgraden, ebenso wie die Anwendungen selbst.

Das hat nicht nur Auswirkungen auf die Schönheit der IT. Neben den Schwierigkeiten mit unseren Behörden und den Schwierigkeiten unserer Behörden mit den modernen Werkzeugen der Informationstechnologie hängen daran unter vielem anderen auch die Nullen und Einsen hinter Planung, Organisation und Ausführung in Bezug auf Flughäfen, Bahnhöfen, Kraftfahrzeugen und TÜV-Zertifikaten für einstürzende Brücken. Also doch nicht nur die zurecht besudelten Namen der über alle Maßen entlohnten Vorstands-Großkopferten…

Und wohin man schaut – der überwiegende Teil der nachwachsenden ITler fährt auch im Jahr 2019 das SmartBook, Notephone oder den heimischen Desktop hoch und schaut dem Windows-Kreisel, der den lizenzpflichtigen Ladebalken zumindest beim trägen Systemstart der Boliden abgelöst hat, alternativlos zu.

Ich habe Microsoft lange Jahre gehasst – und das war keine Hassliebe. Mittlerweile bin ich jedoch konsequent in der Liebe zu meiner Berufung zur IT. Auch um die alten Microsoft-Boliden lässt sich schöne Software drumrum bauen, wenn ewig Gestrige darauf bestehen, Zeit, Geld und die Nerven der Benutzer völlig unnötig zu verschwenden. Und schließlich gibt es genug Anhänger der „alten“ Microsoft-Gläubigkeit, die die boilerplate code & configuration und die damit verbundenen Sisyphusaufgaben übernehmen. Eigentlich sind für Fließbandarbeiten dieser couleur ja mal Computer entwickelt worden 🙂

jhipster und der Springframeworkguru

Wärmste Empfehlungen für tolle Technik: JHipster und für tiefes Verständnis des Springframeworks John Thompson. Bei JHipster finden die clientseitigen Webframeworks Angular oder React Verwendung, der Springframeworkguru John Thompson arbeitet in seinen Schulungsvideos mit der serverseitigen thymeleaf-Interpretation.

Und immer an die Sicherheit und Wartbarkeit nicht nur der Programmierungen, sondern auch der darunter liegenden Technologiestacks denken. Von getrennten Serverdiensten in Containern bis ganz runter hin zu den chinesischen und taiwanesischen elektronischen Fischernetzen in den Integrierten Schaltkreisen.

Ist Full-Service-Development nicht ein spannendes und interessantes Berufsbild? Aber sicher!

Meine Basteleien finden sich auf GitLab und GitHub – und die ganz privaten Sachen auf meinem gogs-Server.

Hier noch der Link zum recht aktiven Springframeworkguru-Slackchannel

Programmierung heutzutage…

In meiner kleinen Welt gibt es neben meinen Aufgaben mit Server-Betriebssystemen und Serverdiensten im Intranet und Internet das Wurschteln im MS Dynamics NAV 2015 – Development-Environment. Dessen „funktionale Programmierung“ empfinde ich nicht mehr als zeitgemäß: tausende Programmierer fangen immer wieder von vorne an, den gleichen Code zu schreiben, um weiteren Programmierer-Horden dadurch die neue Aufgabe erwachsen zu lassen, wieder überall in verschiedensten Ecken des „Development Environments“ umherzuklicken, um diese Codeschnipsel zu finden, die sie dann ausschneiden und an anderer Stelle ergänzt einsetzen. Dann wird ein paar Monate später alles nochmal in tagelanger C&P-Arbeit angefasst, wenn ein Upgrade der kompletten Installation gefahren werden soll – falls es nach den notwendigen, individuellen Firmenanpassungen überhaupt noch möglich ist, ein Upgrade zu fahren.

Daneben existiert die WordPress- (u.a. OpenSource-CMS-, Webshop- und Blog-) Systemwelt unter php mit Javascript-Anbauten, hier wird ähnlich krude gecodet, upgedated, upgegraded und fleißig alt zu neu migriert.

Die Evolution in der Programmierung wird in Systemen verankert, die selbstverständlich veralten. Evolution in der Programmierung bedeutet, dass die Erkenntnisse im Laufe der Jahre der Programmierer-Generationen auch in die Technik umgesetzt werden. Die neuen Techniken OOP, AOP, IoC bzw. DI, Convention over Configuration, Continuous integration und Iteration, d.h. u.a. Entwicklung nah an den Ansprüchen und teilweise irrigen Vorstellungen der Kunden, Microservices uva. können in alten Systemen nur unter unmäßigem Aufwand integriert werden – wobei mit Microservices zum Teil alte Systeme neben neuen Systemen lauffähig gemacht und gehalten werden können.

Und was bringen die neuen, wesentlich modulareren Ansätze der Programmierung? Viele, viele, viele Bibliotheken, die von Buildtools zusammengehalten und von Frameworks herangezogen werden und mit denen dann in Stufen (in einfachster Form: development, staging, production) entwickelt, geprüft und veröffentlicht wird. Wieder selbstverständlich wird „24/7 – international“ an den Bibliotheken, Buildtools, Überwachungs- und Deployment-Serverdiensten gefeilt, weswegen das Updaten und Upgraden bereits in die Entwicklungsphase gehört und einiges an Zeit frisst. Wehe dem, der sich dabei noch um Lizenzen einzelner Teile des Systems kümmern muss!

Für den Entwickler bedeutet der erste Schritt des Kampfes, sich für Plattform-Unabhängigkeit, mobile-first und PWA, Kombination verschiedener Frontend- und Backend-Technologien, VM’s und Linux-Containern in die „Configuration of your IDE“ zu stürzen, und zwar auf dem MacBook unter Darwin, unter verschiedenen Linux-Systemen und den sturen Windows-Versionen, die bestenfalls Linux-Container zu unterstützen versuchen. Daneben liegt neben dem immer neuesten iPad ein altes Gerade-so-Smartphone mit Drosselsoftware drauf, die die Datenrate drückt, um die Realitäten „im Busch“ oder in Deutschland nachzustellen.

Und eine einfache Webpräsenz wird unter Usability-Aspekten, i18n (Internationalisation) und Localisation, Security-Conception und SEO-Maßnahmen ein Höllending. Aber jhipster ist halt einfach auch geil 🙂

„Des is‘ wie wenn’de vom IKEA Kleinkind-Bällebad endlich zur Kindergarten-Gruppe hochrutschst, die schon mit Lego spielen darf…“

Jochen@jhipster.de
Jochen@hochzeit.gebsattel.rocks