Permalink

Ich habe die Prüfung “Artificial Intelligence Foundation” von Microsoft Azure bestanden. Der Kurs gab einen schönen anwendungsorientierten Überblick über die vielen aktuelle Möglichkeiten von AI: Vorhersagen, Klassifizierungen, Text- und Sprachverarbeitung, Bilderkennung und einiges mehr.

Permalink

Softwarearchitektur: Schichten und DTOs

Neulich stolperte ich ArchUnit, ein Tool, mit den man testen kann ob sich Java-Code (oder auch Kotlin-Code) an bestimmte Architekturvorgaben hält. Zum Beispiel kann es in einer Spring-Anwendung überprüfen, das keine Serviceklasse eine Controllerklasse aufruft.

Eine solche Regel klingt überflüssig, warum sollte ich von einem Service einen Controller aufrufen?

Weiterlesen →

Permalink

Conway’s Law neu gelesen

Hinweisschild auf die falsche Richtung

Von Organisationen gebaute Systeme spiegeln die interne Struktur der Organisation wieder, so ähnlich hatte ich Conway’s Law in Erinnerung. Es klang damit für mich wie eine anekdotische Zuspitzung, ähnlich wie Murphy’s Law. Das da noch mehr dahinter steckt, habe ich dank dem Morning Paper von Adrian Colyer erfahren.

Weiterlesen →

Permalink

Back to the 60ties: Flussdiagramme

In den Zeiten von Lochkarten hat man den Algorithmus eines Programms meist mit einem Flussdiagrammen visualisiert. Erst danach hat man darauf aufbauend das eigentliche Programm „codiert“. Die Darstellungsmethodik wurde sogar in einer DIN-Norm 66001 spezifiziert und hat dann Eingang in viele Berufsausbildungen genommen. Auch heute noch sind Flussdiagramme in vielen Fachbüchern zu finden.

Einfaches Flussdiagramm aus einen Lehrbuch für Handwerker

Beispiel eines Flussdiagramms aus einem Buch für Handwerker.

Ironischerweise sind diese Diagramme in der Informatik seit dem Aufkommen des strukturierten Programmierens praktisch bedeutungslos. Weiterlesen →

Permalink

Migration zu Rails 4.x mit “Strong Parameters”

Ruby Logo

Eine hilfreiche Rake-Task

Zur Zeit bin ich dabei, eine drei Jahre alte Ruby-On-Rails Anwendung von Version 3.2 auf Version 4.2 zu aktualisieren. Mit Rails 4.0 wanderte die Parameterüberprüfung von dem “Model” in den “Controller”. Das ist auch gut so, denn je nach Kontext oder Nutzerrechten kann man so andere Felder erlauben.
Jedoch macht die Migration viel Arbeit, da in jeden Controller jedes Feld einzeln in einer Whitelist freigeschaltet werden muss. Und in meiner Anwendung gibt über 60 Controller… Weiterlesen →

Permalink

Quantencomputing mit Ruby

cat

Wenige wissen, dass man mit der japanischen Programmiersprache Ruby heute schon Quantencomputing betreiben kann.

Wer einen Rubyinterpreter auf seinem Computer installiert hat, kann das folgende Experiment nachvollziehen, das von Erwin Schrödinger inspiriert ist. (Siehe auch meinen Beitrag aus dem Jahr 1997)

Weiterlesen →