Kategorie: Aus dem Leben

Smaugs Einöde

Manche Probleme werden von den Kollegen nur erkannt, wenn wir für sie drastische Vergleiche entwerfen. Ohne die Bilder einer anderen Gefahr vor dem inneren Auge, werden organisatorische Defizite häufig mit einem Achselzucken hingenommen. Wer kennt ihn nicht Smaug den Drachen? In meiner Jugend wussten tatsächlich nur die Liebhaber von Sagen und phantastischen Geschichten von ihm, viele von ihnen genauso computerbegeistert wie der Autor. Seitdem der Hobbit nun, in viel zu vielen Teilen, verfilmt wurde, ist die Geschichte von Smaug ins kollektive Gedächtnis gewandert.

Weiterlesen

Der Rete Algorithmus (3)

Im zweiten Beitrag zum Rete Algorithmus wurde eine erste einfache Implementierung vorgestellt. Schon bei der Umsetzung zeigte sich jedoch, dass diverse Details anders gelöst werden sollten. Es passiert recht häufig, dass sich eine zu enge Anlehnung an eine Beschreibung eines Algorithmus den Weg zu einer guten Lösung erschwert oder sogar verbaut. Aus ähnlichen Gründen blieb mir viele Jahre der Zugang zu einer korrekten Double-Array-Trie Implementierung versperrt. Auch dort bedurfte es erst einen neuen Zugang zum Thema um die Blockade zu beenden.

Weiterlesen

Der Rete Algorithmus (2)

Nachdem im ersten Beitrag zum Rete Algorithmus die grundlegende Arbeitsweise beleuchtet wurde, geht es in diesem Beitrag um die Implementierung. Nicht um einen vollständigen OPS 5 Interpreter, sondern um die Bausteine, aus denen ein funktionsfähiges Rete Netz erstellt werden kann.

Weiterlesen

Der Rete Algorithmus

Der Rete Algorithmus wurde 1979 von Charles Forgy entwickelt und dient zur Auswertung von Regelbedingungen. Mit ihm ist es möglich die Vorbedingungen große Regelmengen effizient zu berechnen. Verwendet wurde der Rete Algorithmus in der regelbasierten Programmiersprache OPS 5. Aber auch heute arbeiten viele regelbasierte Systeme mit dem Rete Algorithmus oder einen seinen vielen Derivaten.

Weiterlesen

Kombinieren mit BitSets

Hin und wieder sucht der Entwickler eine Möglichkeit alle Kombinationen einiger Werte zu generieren. Ein einfache und elegante Methode kann mit Streams und BitSets implementiert werden.

Weiterlesen

Leitweg ID – Ihre Nummer für die Behörde

Als Software Entwickler lernt man immer wieder neue Varianten eindeutiger Kennzeichner kennen. Da gibt es die bekannten Kennzeichner wie die Telefonnummern, Kreditkartennummern, PLZ, ISBN, EAN-13, IATA, IBAN, BIC, die veraltete BLZ und nicht so bekannte wie die internationalen Patentnummern, Kreisgemeindeschlüssel und die Leitweg ID. Alle diese Kennzeichner müssen erkannt, geprüft, interpretiert und geschrieben werden können.

Weiterlesen
Richard Ernst Kepler, Public domain, via Wikimedia Commons

Deutsche Feiertage 2021

Der Blog-Beitrag Kalenderspielereien mit Java – iCalendar stellte die deutschen Feiertage für das Jahr 2020 im iCal Format bereit. Passend zur Weihnachtszeit gibt es hier die deutschen Feiertage für 2021.

Weiterlesen

Erweiterungen für Asciidoctor erstellen

Wer technische Dokumentationen erstellen muss, hat mit Asciidoctor eine einfache aber leistungsfähige Lösung zur Hand. Asciidoctor ist ein Textprozessor, der Vorlagen aus einfachen Textdateien in HTML, PDF, EPUB3 oder Docbook Format umwandelt. Durch die Asciidoctor API können dazu noch eigene Erweiterungen integriert werden.

Weiterlesen

Entwickler Dokumentation ohne Textverarbeitung

Leider hält sich in vielen Bereichen immer noch hartnäckig das Gerücht, das für eine ordentliche Dokumentation eine Textverarbeitung notwendig ist.
Üblicher und übler Vertreter dieser Gattung ist Microsoft Word. Die Nachteile durch dieses Programm für Software Entwickler sind nahezu endlos. Programmfehler, komplizierte Bedienung, Ablenkung von Inhalt durch WYSIWYG, Inkompatibilitäten zu anderen Programmen oder eigenen älteren Versionen, automatisierte Dokumentationstools unterstützen das Format nicht.

Weiterlesen

Wichtig, Wichtiger, am Wichtigsten – der Lombard Effekt

Wer schon einmal auf einer Party gewesen ist, wird dieses Phänomen sicherlich kennen. Viele Menschen unterhalten sich und es ist

Weiterlesen