Monaden sind in Rust allgegenwärtig
Monaden, wie sie in der funktionalen Programmierung vorkommen, erscheinen mir abgefahren und schwer verständlich. Vor allem beispielsfreie Erklärungen und Bezüge zum mathematischen Teilgebiet der Kategorientheorie empfinde ich als verwirrend. In diesem Post versuche ich ein Konzept, das ich selbst nicht sonderlich tief durchdrungen habe, einführend, anwendungsbezogen und oberflächlich zu erklären, damit man auf der nächsten Party imperativer Nerds zum Obernerd emporsteigen kann. Beispiele in Rust Alle Monaden sind Typen der Form M<T>, die innere Werte*Die inneren Werte zählen. eines Typs T kapseln. Beispiele für Monaden in Rust sind ...
Worst-Case-Simulationen für passives Einkommen aus Kapitalerträgen
Nach entbehrungsreicher und langer Zeit des Geizes und des Sparens sei nun für Luise die Zeit größerer finanzieller Freiheit eingetreten. Die ganze Kohle befinde sich in einem ETF-Portfolio, das im langfristigen Schnitt 7% Rendite abwerfe. Die Rendite von 7% sei unglücklicherweise nicht konstant sondern unterliege starken Schwankungen. Zum Beispiel durch Dividenden oder Verkauf von Anteilen plane Luise jeden Monat einen gewissen Betrag zu entnehmen. Bevor ich hier weiter eine Geschichte mit Finanzbezug erzähle, 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 und hin und wieder einen Rechner programmiert. ...
Pi-mal-Daumen Simulation von Aktienkursen
Beim Berechnen finanzieller Ziele wird häufig wie beispielsweise auf der sehr informativen Seite Finanzfluss angenommen, es gäbe eine jährlich feste Rendite. In den suggerierten Renditebereichen um die 5%-7% pro Jahr erdreiste ich mich, die Renditeerwartung ohne schwankende Aktieninvestments für unrealistisch zu halten. Daher habe ich mich oberflächlich mit der Simulation von Aktienkursen beschäftigt und darauf basierend einen Sparplanrechner umgesetzt, dessen Simulationsaspekt der Gegenstand dieses Artikels ist. Der Leser sei jedoch gewarnt. Ich habe weder ein Buch zur Rate gezogen noch eine Koryphäe konsultiert, da ich nur zum Spaß hier bin. Meine durch Frontalunterricht erlangten Kenntnisse der Finanzmathematik beschränken sich auf die Zinseszinsrechnung der Mittelstufe. Im Wesentlichen ähneln die erzeugten Kursverläufe der Meinung meines naiven Auges nach den Verläufen historischer Kurse. Mehr dazu findet sich am Ende des Artikels. Im Übrigen sei die Anwesenheit mathematischer Formeln gefeiert 🥳. ...
Geografisches Re-Balancing von Aktien-ETFs
Man hört auf diversen Kanälen, dass es renditeförderlich sei, Re-Balancing seines Aktienportfolios zu betreiben. In diesem Artikel werde ich die Auswertung historischer Daten bezüglich geographischen Anteilsausgleichs der populären Aktien-ETF-Indizes MSCI World und MSCI Emerging Markets präsentieren. 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 und hin und wieder einen Rechner programmiert. ...
Neuer Blog mit Hugo
Mein alter Wordpress-Blog hat den Dienst quittiert. Ohne Rücksprache. Plötzlich konnte ich mich nicht mehr im Administrationsbereich unter ninety.de einloggen. Die erstbesten Debuggingtipps aus dem Netz entpuppten sich als Zeitverschwendung. Das prangerte ich an, während ich Wordpress in die Tonne trat, anstatt ChatGpt*den überschlauen Chat-Bot des nicht mehr ganz neuen Startups OpenAI, der ein Thema für ein anderes Mal ist um Hilfe zu bitten. Die Gier nach mehr Einfachheit und Sicherheit war geweckt. Dankenswerterweise wies mich ChatGpt*Transparenz in Bezug auf den Einsatz ChatGpts und anderer AI Textgeneratoren darf von diesem Blog erwartet werden. auf die Popularität von Generatoren statischer Seiten zum Bloggen hin. Blieb die Frage, welches denn nun der beste Generator statischer Seiten ist. MkDocs? Hugo? Gatsby? Besonders meinungsstark war ChatGpt diesbezüglich nicht. Meine Anforderungsliste las sich wie folgt: ...
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. ...
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. ...
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. ...
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. ...
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.