Hilft uns Quantencomputing, das Paradoxon von Schrödingers Katze zu verstehen?

Quantencomputer wirken so wie die ersten Großrechner in den vierziger oder fünfziger Jahren: raumgroße Apparate, auf die nur eine kleine Anzahl von Experten Zugriff hat. Fast so wie das Orakel von Delphi mit seiner speziellen Kaste von Priestern. Anders als damals kann heute im Prinzip jeder diese Technologie über das Internet nutzen.

Beispielsweise bietet Microsoft Azure einen Zugriff verschiedenen Quantencomputer und hat mit Q# eine spezielle Programmiersprache für das Quantencomputing geschaffen. Weiterhin bietet Mircrosoft auch ein Onlinetutorial an, um die Sprache Q# zu lernen. Das hat mich neugierig gemacht. „Hilft uns Quantencomputing, das Paradoxon von Schrödingers Katze zu verstehen?“ weiterlesen

Zertifizierung für Künstliche Intelligenz

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.

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?

„Softwarearchitektur: Schichten und DTOs“ weiterlesen

Conway’s Law neu gelesen

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.

„Conway’s Law neu gelesen“ weiterlesen

Vier bemerkenswerte Videos zu Thema Microservices

In einer Microservices-Architektur arbeiten viele einzelne Prozesse mit begrenzten Aufgabengebiet zusammen, um komplexe Anforderungen zu bedienen.
Die folgenden Videos handeln von Chancen und Fallstricken des praktischen Einsatzes von Microservices.

„Vier bemerkenswerte Videos zu Thema Microservices“ weiterlesen

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. „Back to the 60ties: Flussdiagramme“ weiterlesen

Migration zu Rails 4.x mit „Strong Parameters“

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… „Migration zu Rails 4.x mit „Strong Parameters““ weiterlesen