Das Land der Idioten

Dank der Verpflichtung der Gebühreneinzugszentrale (seit 31.21.2012, „der Rundfunkbeitrag“) bin ich mindestens halbstündlich informiert über das Geschehen an den Börsen und werde regelmässig und offensichtlich oft genug an das ebenso unchristliche Lottospiel erinnert.

Nicht die Anzahl sterbender Bäume wird mit überlegenem Fachwissen derart oft dargestellt, nicht die minütlich schmelzenden Eismassen sind im Fokus, nicht die hungernden Kinder, nicht die Opfer deutscher Waffenexporte. Nur das Wetten und Spekulieren steht seit dem Ende des tausendjährigen Reiches und daraus folgend dem Schutz der Rundfunkanstalten durch ein honorables Budget an oberster Stelle!

Auf diesem Gebiet des Turbo-Reichtums ohne Arbeit und auf der Basis von fremdem Einsatz gab es schon immer „Experten“, die dem Volk Fachwissen im Auftrag der öffentlich-rechtlichen Sender und Landesmedienanstalten näher bringen, in tiefe wissenschaftliche Erkenntnisse einführen und dafür sorgen, dass „jeder profitieren kann“ und  „dass auch in Zukunft ein unabhängiges, hochwertiges und vielfältiges Programm möglich ist.“

Aber so ist das in einer Pseudo-Demokratie: die obere, vom Volk losgelöste Schicht entschliesst, was für die überwältigende Mehrheit das Beste ist. Und zwar auf der Grundlage dessen, was in ihrer Schicht und für ihre Schicht das Beste ist. Damit das so bleibt, wird in Jura und Pädagogik diplomiert und direkt in die „Berliner Blase“ gesteuert. Im gigantischen Parteiapparat boxt sich der Klüngel nach oben und schaut gleichzeitig, dass er unter seinesgleichen bleibt – Pack schlägt sich, Pack verträgt sich.

Spring Data JPA vs. Spring Data JDBC

Spring Data JPA (im Folgenden: JPA) ist im Abstraktionsgrad über Spring Data JDBC (im Folgenden: JDBC).

Mit JDBC müssen eigene Abfragen in SQL geschrieben werden, die „result sets“, also die zurück gelieferten Daten, müssen selbst geparst werden und sollen aus Objekten datenbank-konforme, ggf. relationale Daten oder aus diesen Daten wieder Objekte erstellt werden, muss auch das per Hand erfolgen. Das bedeutet unter anderem, man muss die SQL der jeweiligen Datenbank kennen.
Bei wenigen Datenbank-Aktionen ist JDBC eine große Erleichterung verglichen mit den noch weniger abstrahierten Zugriffen über direkte Sockets und der direkten Verwendung des jeweiligen Datenbank-Drivers.
Diese beiden Varianten sind die beiden schnellstmöglichen Wege, Datenbank-Zugriffe mit Java zu erreichen.

Mit JPA wird eine weitere Abstraktion hinzu gefügt. Über Entities (Objekte) werden Einträge in einer Datenbank (Tabellen und Felder) über Annotationen in den jeweiligen Klassen den Objekten und deren Eigenschaften zugeordnet. Mit Spring wird dazu ein Repository verwendet, eine Klasse, die sich um die CRUD-Operationen (create, read, update, delete) der jeweiligen Entity-Klasse kümmert.

Test driven development

Between too low and too slow – test modules!

Ein Modul:
– kann eine bis mehrere dutzend Klassen umfassen
– kapselt seine Daten (access only via API)
– hat klar definierte Co-Worker / „collaborators“ und APIs
– umfasst (fast) alle Software-Schichten (vertical slicing)
– erinnert an einen Microservice bzw. ist ein guter Kandidat dafür, einer zu werden
– arbeitet in einem begrenzten Kontext, d.h. Worte haben ihre eigenen Definitionen bzw. Klassen

Fazit: auch beim Test-Driven Development das Gehirn nicht ausschalten…

So stupid with no idea how much

„Dumb people are always blissfully unaware about how dumb they really are“

„In the field of psychology, the Dunning–Kruger effect is a cognitive
bias in which people mistakenly assess their cognitive ability as
greater than it is. It is related to the cognitive bias of illusory
superiority and comes from the inability of people to recognize their
lack of ability.“

Warum inkompetente Menschen oft das größte Selbstbewusstsein haben

Hashimoto-Thyreoiditis

…verläuft schmerzlos. Auch sonst treten kaum Symptome auf, weshalb die Erkrankung oft erst im fortgeschrittenen Stadium entdeckt wird […]. Es treten dann deutlichere Beschwerden auf wie etwa:

  • ständige Müdigkeit, Schwäche und Abgeschlagenheit
  • Desinteresse und Unlust
  • Konzentrationsprobleme und Gedächtnisschwäche
  • Heiserkeit
  • Kälteüberempfindlichkeit
  • Verstopfung
  • Gewichtszunahme trotz unveränderter Ernährungsgewohnheiten
  • trockene Haut und brüchige Nägel
  • spröde Haare und vermehrter Haarausfall
  • Zyklusstörungen und verminderte Fruchtbarkeit
  • erhöhte Blutfettwerte

Aha.

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…