Operatorenparsen in Rust

Der Advent of Code steht vor der Tür. Das ist ein Adventskalender aus Programmieraufgaben, deren Lösung aus Spaß an der Freude als Zeitvertreib herhalten kann. Nach erfolgreichem Bearbeiten einer Aufgabe erhält man einen goldenen Stern. Das erste Mal bin ich 2020 darüber gestolpert. Ich dachte seinerzeit, ich versuche das direkt in der Programmiersprache Rust, die ich bis dahin noch nicht verwendet hatte. Übrigens soll dieser Artikel nicht nur eine interessante Advent-of-Code-Aufgabe beleuchten, sondern auch die Flexibilität meiner Rust-Bibliothek Exmex hervorheben, die weiter unten als Teil der Lösung diskutiert wird. ...

11. November 2021

Folgen partieller Reduktionen in Elm

In meinem vorherigen Artikel habe ich die Berechnung zum Entsparen von investiertem Vermögen hergeleitet und einen kleinen Rechner demonstriert. Dabei ist mir aufgefallen, dass sich bei hohen Jahreszahlen eine kleine Verzögerung bemerkbar gemacht hat. Die Ursache der Verzögerung liegt in meiner Umsetzung der Formel $$\sum_{k=1}^{m-1}\frac{1}{\prod_{t=1}^{k}w_t}.$$ Wie im oben erwähnten Artikel genauer beschrieben, bezeichnet $w_t$ den relativen Kurswert im Monat $t$ und $m$ die Gesamtzahl der Monate. Als Anfänger der funktionalen Programmierung habe ich bisher vornehmlich map, filter und reduce eingesetzt. Um die Formel mit den eben genannten Funktionen in der funktionalen Sprache Elm zu implementieren, habe ich das Produkt im Nenner für jeden Summanden vollständig berechnet, wie ab Zeile 4 des folgenden Schnipsels zu sehen ist. ...

24. Mai 2021

Passives Einkommen aus Kapitalerträgen

Wie kann man aus Kapitalerträgen oder Dividenden ein passives Einkommen generieren und wann ist das sinnvoll? Zusätzlich zu Erklärungen und Anekdoten leite ich in diesem Artikel Zusammenhänge mathematischer her 🥳*Dieser Smiley zelebriert die Existenz von Mathemitak in diesem Aufschrieb. Übrigens sind Dividenden natürlich auch eine Art Kapitalertrag. Ich wollte sie nur nochmal extra erwähnen, da sie in diesem Artikel eine besondere Rolle spielen. Bevor ich hier weiter über ein Finanzthema schreibe, weise ich darauf hin, dass ich so gar kein Finanzexperte bin, sondern nur eine Privatperson, die sich für ihre eigene Altersvorsorge und andere Finanzthemen interessiert, daher solides Halbwissen anhäuft und dabei auf seinen mehr oder weniger gesunden Menschenverstand vertraut. ...

20. Mai 2021

Erste imperative Blicke auf dynamische Web-Apps in Elm

Vor einiger Zeit habe ich der Episode We’re Teaching Functional Programming Wrong des Podcasts Corecursive lauschen müssen. Darin erzählt ein Richard Feldman von einer rein funktionalen Sprache mit der man tatsächlich dynamische Web-Seiten erstellen kann, ohne verstehen zu müssen, was ein Monad ist. Da ich objekt-orientierte Programmierung für überbewertet halte*Der Vortrag Free your Functions von Klaus Iglberger beleuchtet einige praktische Aspekte meines Standpunkts., habe ich diesen Ansatz kurze Zeit später ausprobiert. In diesem Post werde ich von meinen ersten Gehversuchen, Hürden und Fortschritten in Elm berichten und den Fokus auf für mich ungewohnte Aspekte legen. ...

19. April 2021

Reinkarnation

Ich erwecke gerade meinen öffentliches Tagebuch wieder zum Leben. Ich schreibe auf deutsch. Übersetzungen ins Englische werden in Kooperation zwischen Mensch und Maschine erstellt.

10. April 2021

Ein funktionaler Blick auf modulare Algorithmen

Im Blog-Beitrag vom August 2014 haben wir die Modularisierung von Bildverarbeitungsalgorithmen mit der Template-basierten Policy im Vergleich zum dynamischen Polymorphismus basierten Strategy-Muster in Bezug auf Geschwindigkeit verglichen. Wir werden erneut die Laufzeit von (fast) denselben pixelweisen Operationen auf Bildern vergleichen. Diesmal betrachten wir jedoch verschiedene funktionale Modularisierungstechniken. Wir werden Funktionszeiger, Lambdas und abgeleitete Funktoren an Algorithmen übergeben und verschiedene Argumenttypen wie std::function oder generische Typen verwenden. Hinweis Diesen Artikel habe ich ursprünglich auf englisch geschrieben und im August 2023 mit ChatGpts Hilfe ins Deutsche übersetzt. Das ist eine seltene und alte Ausnahme. Üblicherweise schreibe ich Artikel auf deutsch und die Übersetzung ins Englische passiert in Kollaboration mit einer Maschine. ...

18. Juni 2017

Strategy vs. Policy für Bildverarbeitungsalgorithmen

Ich habe mich schon eine Weile gefragt, wie viel Geschwindigkeitssteigerung man ungefähr erwarten kann, wenn man eine Policy-basierte Entwurfsstrategie für die Entwicklung von Algorithmen in C++ unter Verwendung von Templates im Vergleich zum Strategy-Muster mit dynamischer Polymorphie einsetzt. Dabei interessieren mich insbesondere Algorithmen zur Bildverarbeitung. Hinweis Diesen Artikel habe ich ursprünglich auf englisch geschrieben und im August 2023 mit ChatGpts Hilfe ins Deutsche übersetzt. Das ist eine seltene und alte Ausnahme. Üblicherweise schreibe ich Artikel auf deutsch und die Übersetzung ins Englische passiert in Kollaboration mit einer Maschine. ...

29. August 2014