<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Posts on bertiqwerty</title>
    <link>https://www.bertiqwerty.com/en/posts/</link>
    <description>Recent content in Posts on bertiqwerty</description>
    <generator>Hugo</generator>
    <language>en</language>
    <copyright>(c) 2026 Behrang Shafei, Impressum | Datenschutz,</copyright>
    <lastBuildDate>Sat, 10 Oct 2026 17:55:25 +0200</lastBuildDate>
    <atom:link href="https://www.bertiqwerty.com/en/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Acoustic lower-volume-drumming</title>
      <link>https://www.bertiqwerty.com/en/posts/acoustic-silent-drumming/</link>
      <pubDate>Sat, 10 Oct 2026 17:55:25 +0200</pubDate>
      <guid>https://www.bertiqwerty.com/en/posts/acoustic-silent-drumming/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Today, I came across &lt;a href=&#34;https://whisperdrums.com&#34;&gt;https://whisperdrums.com&lt;/a&gt;. They offer drumheads that supposedly feel and sound like acoustic heads but are 20 dB quieter. That sounds very promising. The company is based in Switzerland. While their products are not currently distributed in Germany, hopefully, they will be soon.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;(from &lt;a href=&#34;https://www.bertiqwerty.com/en/posts/drum-gear/&#34;&gt;Playing Drums in an Apartment Building – E-Drums with a Great Playing Feel&lt;/a&gt;, May 4, 2026)&lt;/p&gt;
&lt;p&gt;After contacting the manufacturer of the heads called Whisper Heads, I was directed to &lt;a href=&#34;https://www.ageancymbals.de&#34;&gt;ageancymbals.de&lt;/a&gt;. Although the heads weren&amp;rsquo;t listed in their online shop at the time, making a direct inquiry paid off. Some time after my initial contact, Ralf from Agean Cymbals got in touch to let me know the heads were in stock.&lt;/p&gt;</description>
    </item>
    <item>
      <title>My own Metronome-App</title>
      <link>https://www.bertiqwerty.com/en/posts/ownmetro/</link>
      <pubDate>Sat, 01 Aug 2026 20:48:48 +0200</pubDate>
      <guid>https://www.bertiqwerty.com/en/posts/ownmetro/</guid>
      <description>&lt;p&gt;In my article about commercially available &lt;a href=&#34;https://www.bertiqwerty.com/en/posts/metro-gap/&#34;&gt;metronome apps&lt;/a&gt; featuring a gap click where the metronome silences itself for a configurable number of bars, I couldn&amp;rsquo;t find a single candidate that met all my requirements. So, I built my own.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;The &lt;a href=&#34;https://www.bertiqwerty.com/posts/ownmetro/&#34;&gt;original text&lt;/a&gt; of this post was created by my human intelligence in German. The translation was a collaboration between man and machine. The man was I and the machine was Google Translate.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Metronome Apps with Gap Click</title>
      <link>https://www.bertiqwerty.com/en/posts/metro-gap/</link>
      <pubDate>Sat, 27 Jun 2026 20:04:02 +0200</pubDate>
      <guid>https://www.bertiqwerty.com/en/posts/metro-gap/</guid>
      <description>&lt;p&gt;The metronome is unexpectedly unpopular. At least with the rest of my family. I, on the other hand, like it.
My old Yamaha electronic drum kit had a training function where the metronome would drop out for a set number of bars after playing for a set number of bars. It also featured a metronome where the click sound could be adjusted independently for different note values. My current electronic drum kit is probably too pro-level for that. An accent on the 1 is all it offers. Unfortunately, I’m no pro. So, I went looking for a replacement in the Google Play Store and spent a few euros testing out various apps.&lt;/p&gt;</description>
    </item>
    <item>
      <title>My First Original Linear Groove</title>
      <link>https://www.bertiqwerty.com/en/posts/owngroove/</link>
      <pubDate>Sat, 23 May 2026 23:35:16 +0200</pubDate>
      <guid>https://www.bertiqwerty.com/en/posts/owngroove/</guid>
      <description>&lt;p&gt;Some time ago, I encountered my favorite drum groove during a lesson.
In &lt;em&gt;50 Ways to Leave Your Lover&lt;/em&gt;, Steve Gadd plays the following unusual yet extremely fitting rhythm spanning two bars&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;The &lt;a href=&#34;https://www.bertiqwerty.com/posts/owngroove/&#34;&gt;original text&lt;/a&gt; of this post was created by my human intelligence in German. The translation was a collaboration between man and machine. The man was I and the machine was Google Translate.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Bar 1&lt;/em&gt;&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Count        1 e &amp;amp; a 2 e &amp;amp; a 3 e &amp;amp; a 4 e &amp;amp; a
Hand           L R   L R L           RRL R L

Hi-Hat         x     x   x
Snare            o     o             ooo o o
Floor Tom                    o
Bass Drum    o             o o
Hi-Hat Foot  x     x

Count        1 e &amp;amp; a 2 e &amp;amp; a 3 e &amp;amp; a 4 e &amp;amp; a
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;em&gt;Bar 2&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Playing Drums in an Apartment Building – E-Drums with a Great Playing Feel</title>
      <link>https://www.bertiqwerty.com/en/posts/drum-gear/</link>
      <pubDate>Mon, 04 May 2026 22:59:45 +0200</pubDate>
      <guid>https://www.bertiqwerty.com/en/posts/drum-gear/</guid>
      <description>&lt;p&gt;Since I live in a ground-floor apartment in a multi-unit building, I started out with a &lt;a href=&#34;https://de.yamaha.com/de/musical-instruments/drums/products/electronic-drum-kits/dtx6-series&#34;&gt;Yamaha DTX6K E-drum kit&lt;/a&gt; out of consideration for the neighbors living above me.
Back then being completely clueless, I was told that the TCS silicone material used for the snare offered a realistic playing feel. After playing on the thing for about three years, I have to admit that
it doesn&amp;rsquo;t actually feel that bad. However, it has too much rebound compared to an acoustic snare drum.
I noticed this when I was able to play things on the DTX6 that simply didn&amp;rsquo;t
work on the acoustic kit at my music school. So, after about three years, I set out in search of a more realistic playing feel without generating the volume of an acoustic kit. That was about nine months ago.
Since I was prioritizing playing feel, I won&amp;rsquo;t say much about the kit sounds in this post. They were generally good enough for my untrained ears. I can say right up front, however, that I still prefer playing on an acoustic drum kit above all else.&lt;/p&gt;</description>
    </item>
    <item>
      <title>My Favorite Ruffs and Rolls</title>
      <link>https://www.bertiqwerty.com/en/posts/ruffsnrolls/</link>
      <pubDate>Tue, 28 Apr 2026 22:11:06 +0200</pubDate>
      <guid>https://www.bertiqwerty.com/en/posts/ruffsnrolls/</guid>
      <description>&lt;p&gt;The average drum student quickly encounters various patterns or figures, the so-called rudiments. Initially, there are single strokes played alternatingly with the left and right hand. Later, one encounters more complex rudiments, often derived from marching snare drumming, which are used on the drum kit, particularly in fills.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;The &lt;a href=&#34;https://www.bertiqwerty.com/posts/ruffsnrolls/&#34;&gt;original text&lt;/a&gt; of this post was created by my human intelligence in German. The translation was a collaboration between man and machine. The man was I and the machine was Google Translate.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>All Limbs on Deck</title>
      <link>https://www.bertiqwerty.com/en/posts/alllimbsondeck/</link>
      <pubDate>Fri, 10 Apr 2026 10:57:38 +0200</pubDate>
      <guid>https://www.bertiqwerty.com/en/posts/alllimbsondeck/</guid>
      <description>&lt;p&gt;My latest hobby is playing the hi-hat with my foot on the offbeats, i.e., the &lt;code&gt;&amp;amp;&lt;/code&gt; in &lt;code&gt;1 &amp;amp; 2 &amp;amp; 3 &amp;amp; 4 &amp;amp;&lt;/code&gt;. Due to limited independence of my limbs, I had to restrict myself to the following version&lt;span class=&#34;tooltip&#34;&gt;&lt;span style=&#34;font-size:14t;font-weight:900;&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;tooltiptext&#34;&gt;The ride cymbal can also be replaced by one or more toms.&lt;/span&gt;&lt;/span&gt;:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;The &lt;a href=&#34;https://www.bertiqwerty.com/posts/alllimbsondeck/&#34;&gt;original text&lt;/a&gt; of this post was created by my human intelligence in German. The translation was a collaboration between man and machine. The man was I and the machine was Google Translate.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Starting Drums at Almost 40 – A Preemptive Strike Against the Midlife Crisis</title>
      <link>https://www.bertiqwerty.com/en/posts/starting-drums/</link>
      <pubDate>Sun, 05 Apr 2026 21:42:41 +0200</pubDate>
      <guid>https://www.bertiqwerty.com/en/posts/starting-drums/</guid>
      <description>&lt;p&gt;In this somewhat personal article, I describe my thoughts and experiences as someone who started playing drums at the age of 39 and otherwise has very little musical experience.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;The &lt;a href=&#34;https://www.bertiqwerty.com/posts/starting-drums/&#34;&gt;original text&lt;/a&gt; of this post was created by my human intelligence in German. The translation was a collaboration between man and machine. The man was me and the machine was Google Translate.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&#34;what-has-happened-so-far&#34;&gt;What has happened so far&lt;/h2&gt;
&lt;p&gt;Before his 7th birthday, I asked my then-noisy child if he would like to learn drums and would forgo other birthday presents in return. Surprisingly, the child was very happy to oblige.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Triplets in 4/4-Drum-Grooves</title>
      <link>https://www.bertiqwerty.com/en/posts/triole/</link>
      <pubDate>Mon, 01 Dec 2025 22:56:34 +0100</pubDate>
      <guid>https://www.bertiqwerty.com/en/posts/triole/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been &lt;a href=&#34;https://www.bertiqwerty.com/en/posts/starting-drums/&#34;&gt;playing drums&lt;/a&gt; for about three years. I recently came across the following simplest of all non-degenerated polyrhythms.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;The &lt;a href=&#34;https://www.bertiqwerty.com/posts/triole/&#34;&gt;original text&lt;/a&gt; of this post was created by my human intelligence in German. The translation was a collaboration between man and machine. The man was I and the machine was Google Translate.&lt;/em&gt;&lt;/p&gt;
&lt;div id=&#34;abc-2&#34; class=&#34;abcjs-container&#34;&gt;&lt;/div&gt;


&lt;script&gt;
  (function() {
    var abcData = `\nX:1\nM:4\/4\nL:1\/8\nQ:1\/4=80\n%%score (1 2) % Merges voices 1 and 2 onto one staff\nU: k = !style=x! % Defines \u0027k\u0027 as the shortcut for x-noteheads\n%%MIDI channel 10\n%%MIDI drummap F 36% bass drum\n%%MIDI drummap c 38% snare drum\n%%MIDI drummap g 42% Closed Hi-Hat\n%%stretchlast true\nK:perc\nV:1 stemp=up\n|: kgkg [ckg]kg kgkg kgkg :| ka8 |\nV:2 stemp=down\n|: F2 z2 F2 (3ccc :| F8 |\n\n`;

    function renderAbcjs() {
      try {
        var visualObj = ABCJS.renderAbc(&#34;abc-2&#34;, abcData, {
          responsive: &#34;resize&#34;,
          add_classes: true
        });

        
      } catch (err) {
        console.warn(&#39;ABCJS render error:&#39;, err);
      }
    }

    if (document.readyState === &#39;complete&#39; || document.readyState === &#39;interactive&#39;) {
      renderAbcjs();
    } else {
      document.addEventListener(&#39;DOMContentLoaded&#39;, renderAbcjs);
    }
  })();
&lt;/script&gt;

&lt;br/&gt;
&lt;audio controls preload=&#34;none&#34;&gt;
&lt;source src=&#34;https://www.bertiqwerty.com/audio/tri-1-grv.mp3&#34; type=&#34;audio/mpeg&#34;&gt;
Your browser does not support audio playback.
&lt;/audio&gt;
&lt;p&gt;&lt;code&gt;Pearl eMerge recording, 10 Oct 2026&lt;/code&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Monads are Omnipresent in Rust</title>
      <link>https://www.bertiqwerty.com/en/posts/monad/</link>
      <pubDate>Fri, 15 Dec 2023 14:24:18 +0100</pubDate>
      <guid>https://www.bertiqwerty.com/en/posts/monad/</guid>
      <description>&lt;p&gt;Monads, as they occur in functional programming, seem crazy and difficult to understand to me. Above all
explanations and references to the mathematical subfield of category theory are confusing to me.
In this post, I&amp;rsquo;m trying to explain a concept that I haven&amp;rsquo;t penetrated very deeply myself,
in an introductory, application-oriented and superficial way, so that you can become the head nerd at the next party of imperative nerds.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This is a translation of the original German article in a collaboration between man and machine.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Simulating Worst-Case Scenarios for Passive Capital Income</title>
      <link>https://www.bertiqwerty.com/en/posts/entsparen/</link>
      <pubDate>Mon, 25 Sep 2023 20:01:01 +0200</pubDate>
      <guid>https://www.bertiqwerty.com/en/posts/entsparen/</guid>
      <description>&lt;p&gt;After a period of deprivation and frugality, Luise has entered a phase of greater financial freedom. All her funds are in an ETF portfolio that averages a 7% return in the long term. Unfortunately, the 7% return is not constant and fluctuates significantly. Luise plans to withdraw a certain amount every month, either through dividends or by selling shares.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Before I continue with a financial-themed story, I want to clarify that I&amp;rsquo;m not a financial expert. I&amp;rsquo;m just an individual who is interested in personal retirement planning and other financial topics, accumulating some solid half-knowledge along the way, and occasionally relying on my more or less sound common sense. From time to time I create or extend a &lt;a href=&#34;https://www.bertiqwerty.com/balance/&#34;&gt;calculator&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Back-of-the-envelope Simulation of Stock Prices</title>
      <link>https://www.bertiqwerty.com/en/posts/random-walker/</link>
      <pubDate>Wed, 16 Aug 2023 20:54:02 +0200</pubDate>
      <guid>https://www.bertiqwerty.com/en/posts/random-walker/</guid>
      <description>&lt;p&gt;When calculating financial goals, it&amp;rsquo;s often assumed, like on the informative website
&lt;a href=&#34;https://www.finanzfluss.de/rechner/finanzielle-freiheit/&#34;&gt;Finanzfluss&lt;/a&gt;, that there&amp;rsquo;s a fixed annual return. In the suggested return range of around 5% to 7% per year, I dare to challenge the expectation of consistent returns without the fluctuations of stock investments. Therefore, I&amp;rsquo;ve briefly explored simulating stock prices and implemented a
&lt;a href=&#34;https://bertiqwerty.com/balance&#34;&gt;savings plan calculator&lt;/a&gt; based on this concept. The focus of this article is on the simulation aspect.
However, please note that I haven&amp;rsquo;t consulted any books or experts – I&amp;rsquo;m just here for fun.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Geographic Re-Balancing of Stock ETFs</title>
      <link>https://www.bertiqwerty.com/en/posts/rebalancing/</link>
      <pubDate>Sat, 18 Feb 2023 18:46:55 +0000</pubDate>
      <guid>https://www.bertiqwerty.com/en/posts/rebalancing/</guid>
      <description>&lt;p&gt;Various channels claim that rebalancing your stock portfolio increases your return on investment. In this article, I will present the analysis of historical data on geographic allocations of the popular indices MSCI World and MSCI Emerging Markets.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;2 remarks before we start:&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;This article was translated from German to English in collaboration between man and machine&lt;/em&gt; &lt;span class=&#34;tooltip&#34;&gt;&lt;span style=&#34;font-size:14t;font-weight:900;&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;tooltiptext&#34;&gt;To be honest, I was a little disappointed by the translation performance of translate.google.com&lt;/span&gt;&lt;/span&gt;.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Even though I am talking finance in this article, I&amp;rsquo;m not a finance expert at all. I&amp;rsquo;m just a private individual who is interested in their own pension scheme and other financial topics. So I accumulate solid half-knowledge and rely on my more or less common sense and program a calculator&lt;sup&gt;&lt;a href=&#34;https://www.bertiqwerty.com/balance/&#34;&gt;1&lt;/a&gt;,&lt;a href=&#34;https://www.bertiqwerty.com/en/calculator/&#34;&gt;2&lt;/a&gt;&lt;/sup&gt; every now and then.&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;let-a-world-portfolio-be-given&#34;&gt;Let a world portfolio be given&lt;/h2&gt;
&lt;p&gt;Suppose a person, let&amp;rsquo;s call her Elisa, wants to benefit from the global capital market for her retirement. Her effort should be as
limited as possible. Now Elisa hears that ETFs can be used to easily benefit from profits
of public companies all around the world. An index called MSCI ACWI and ETFs that try to replicate this seem suitable to Elisa
at first glance. However, Elisa notes that the MSCI ACWI includes more than 50% shares in US companies. Represent the US
really half the global economy? Following the criterion of &lt;a href=&#34;https://en.wikipedia.org/wiki/Market_capitalization&#34;&gt;market capitalization&lt;/a&gt;
used here, definitively. There are other criteria for tracking the global economy,
see, e.g., &lt;a href=&#34;https://www.justetf.com/de/news/musterportfolio/gerd-kommers-weltportfolio-strategien-2018.html&#34;&gt;Justetf&lt;/a&gt;.
A popular alternative to 100% ACWI includes the MSCI World Index at 70% and the MSCI Emerging Markets Index at 30%.&lt;/p&gt;</description>
    </item>
    <item>
      <title>New Blog with Hugo</title>
      <link>https://www.bertiqwerty.com/en/posts/new-blog/</link>
      <pubDate>Mon, 09 Jan 2023 14:51:22 +0100</pubDate>
      <guid>https://www.bertiqwerty.com/en/posts/new-blog/</guid>
      <description>&lt;p&gt;My old wordpress blog has quit the service. Without consultation. Suddenly I could no longer log into the administration area under ninety.de. The first best debugging tips from the net turned out to be a waste of time. I denounced this while kicking Wordpress into the garbage can instead of asking ChatGpt&lt;span class=&#34;tooltip&#34;&gt;&lt;span style=&#34;font-size:14t;font-weight:900;&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;tooltiptext&#34;&gt;the cocky chat bot of the not-so-new startup OpenAI, which is a topic for another time&lt;/span&gt;&lt;/span&gt; for help. The greed for more simplicity and security was awakened. Thankfully, ChatGpt&lt;span class=&#34;tooltip&#34;&gt;&lt;span style=&#34;font-size:14t;font-weight:900;&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;tooltiptext&#34;&gt;Transparency regarding the use of ChatGpts and other AI text generators may be expected from this blog.&lt;/span&gt;&lt;/span&gt; pointed me to the popularity of static page generators for blogging. The question remained, which is the best static page generator? &lt;a href=&#34;https://www.mkdocs.org&#34;&gt;MkDocs&lt;/a&gt;? &lt;a href=&#34;https://gohugo.io/&#34;&gt;Hugo&lt;/a&gt;? &lt;a href=&#34;https://www.gatsbyjs.com/&#34;&gt;Gatsby&lt;/a&gt;? ChatGpt was not particularly opinionated on this. My list of requirements read as follows:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Parsing Operators in Rust</title>
      <link>https://www.bertiqwerty.com/en/posts/operatorenparsen-in-rust/</link>
      <pubDate>Thu, 11 Nov 2021 13:25:10 +0000</pubDate>
      <guid>https://www.bertiqwerty.com/en/posts/operatorenparsen-in-rust/</guid>
      <description>&lt;p&gt;The &lt;a href=&#34;https://adventofcode.com/&#34;&gt;Advent of Code&lt;/a&gt; is just around the corner. This is an advent calendar of programming tasks, the solution of which can serve as a pastime for the fun of joy. After successfully processing a task, you receive a virtual golden star. My first participation was in 2020. At the time, I thought I&amp;rsquo;d try to do this directly in the &lt;a href=&#34;https://www.rust-lang.org/&#34;&gt;Rust&lt;/a&gt; programming language, which I hadn&amp;rsquo;t used before. By the way, this article is not only intended to shed light on an interesting Advent of Code task, but also to highlight the flexibility of my Rust library &lt;a href=&#34;https://github.com/bertiqwerty/exmex&#34;&gt;Exmex,&lt;/a&gt; which is discussed below as part of the solution.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sequences of partial reductions in Elm</title>
      <link>https://www.bertiqwerty.com/en/posts/folgen-partieller-reduktionen-in-elm/</link>
      <pubDate>Tue, 01 Jun 2021 16:57:46 +0000</pubDate>
      <guid>https://www.bertiqwerty.com/en/posts/folgen-partieller-reduktionen-in-elm/</guid>
      <description>&lt;p&gt;In my previous &lt;a href=&#34;https://www.bertiqwerty.com/en/posts/passives-einkommen-aus-kapitalertraegen/&#34;&gt;article&lt;/a&gt; I derived the calculation for passive income from invested assets and demonstrated a small calculator. It struck me that there was a slight delay in the case of high annual numbers. The cause of the delay lies in my implementation of the formula $$ \sum_{k = 1}^{m-1} \frac {1} {\prod_ {t = 1} ^ {k} w_t}. $$&lt;/p&gt;
&lt;p&gt;As described in more detail in the article mentioned above, $ w_t $ denotes the relative market value in the month $ t $ and $ m $ the total number of months.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Passive income from stock market investments</title>
      <link>https://www.bertiqwerty.com/en/posts/passives-einkommen-aus-kapitalertraegen/</link>
      <pubDate>Thu, 13 May 2021 21:39:27 +0000</pubDate>
      <guid>https://www.bertiqwerty.com/en/posts/passives-einkommen-aus-kapitalertraegen/</guid>
      <description>&lt;p&gt;How can you generate passive income from return on stock market investments or  dividends&lt;span class=&#34;tooltip&#34;&gt;&lt;span style=&#34;font-size:14t;font-weight:900;&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;tooltiptext&#34;&gt;Dividends are of course also a kind of investment income. I just wanted to mention them again because they play a special role in this article.&lt;/span&gt;&lt;/span&gt; and when does that make sense? In addition to explanations and anecdotes, I also present mathematical formulas to answer this question🥳&lt;span class=&#34;tooltip&#34;&gt;&lt;span style=&#34;font-size:14t;font-weight:900;&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;tooltiptext&#34;&gt;That&#39;s a smiley celebrating the existence of math in this article.&lt;/span&gt;&lt;/span&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>First steps towards dynamic web apps in Elm</title>
      <link>https://www.bertiqwerty.com/en/posts/first-steps-towards-dynamic-app/</link>
      <pubDate>Mon, 19 Apr 2021 18:24:05 +0100</pubDate>
      <guid>https://www.bertiqwerty.com/en/posts/first-steps-towards-dynamic-app/</guid>
      <description>&lt;p&gt;Some time ago I was able to listen to the episode  &lt;a href=&#34;https://corecursive.com/teaching-fp-with-richard-feldman/&#34;&gt;We&amp;rsquo;re Teaching Functional Programming Wrong&lt;/a&gt; of the podcast Corecursive. Richard Feldman tells of a purely functional language with which you can actually create dynamic web pages. It is not even necessary to understand what a &lt;a href=&#34;https://en.wikipedia.org/wiki/Monad_%28functional_programming%29&#34;&gt;Monad&lt;/a&gt; is. Since I consider object-oriented programming to be overrated&lt;span class=&#34;tooltip&#34;&gt;&lt;span style=&#34;font-size:14t;font-weight:900;&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;tooltiptext&#34;&gt;The talk [Free your Functions](https://www.youtube.com/watch?v=WLDT1lDOsb4) by Klaus Iglberger highlights some practical aspects my point of view.&lt;/span&gt;&lt;/span&gt;, I had a closer look at this approach. In this post I will report on my first steps, hurdles and progress in Elm and focus on aspects that were unfamiliar to me having an imperative background.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Reincarnation</title>
      <link>https://www.bertiqwerty.com/en/posts/reinkarnation/</link>
      <pubDate>Sat, 10 Apr 2021 17:06:22 +0000</pubDate>
      <guid>https://www.bertiqwerty.com/en/posts/reinkarnation/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m just bringing my public diary back to life. I write in German and cooperate with machines to translate articles to English.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Modular Image Processing Algorithms Revisited - Functional Style</title>
      <link>https://www.bertiqwerty.com/en/posts/modular-image-processing-algorithms-revisited---functional-style/</link>
      <pubDate>Sun, 18 Jun 2017 14:56:00 +0000</pubDate>
      <guid>https://www.bertiqwerty.com/en/posts/modular-image-processing-algorithms-revisited---functional-style/</guid>
      <description>&lt;p&gt;In the &lt;a href=&#34;https://www.bertiqwerty.com/en/posts/strategy-vs-policy-for-image-processing-algorithms/&#34;&gt;blog post from August 2014&lt;/a&gt; we compared the modularization of image processing algorithms with template based policies against the dynamic polymophism based stragety pattern in terms of speed. We will compare the run-time of (almost) the same pixel-wise operations on images again. But this time, we consider different functional modularization techniques. More precisely, we will pass function pointers, lambdas, and derived functors to algorithms with corresponding argument types such as a templated one and &lt;code&gt;std::function&lt;/code&gt; among others.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Strategy vs. Policy for Image Processing Algorithms</title>
      <link>https://www.bertiqwerty.com/en/posts/strategy-vs-policy-for-image-processing-algorithms/</link>
      <pubDate>Fri, 29 Aug 2014 11:21:00 +0000</pubDate>
      <guid>https://www.bertiqwerty.com/en/posts/strategy-vs-policy-for-image-processing-algorithms/</guid>
      <description>&lt;p&gt;I was wondering for quite a while how much speed-up one can &lt;em&gt;roughly&lt;/em&gt; expect by a policy&lt;span class=&#34;tooltip&#34;&gt;&lt;span style=&#34;font-size:14t;font-weight:900;&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;tooltiptext&#34;&gt;Modern C++ Design, A. Alexandrescu, 2001&lt;/span&gt;&lt;/span&gt; based design of algorithms in C++ using templates compared to the strategy&lt;span class=&#34;tooltip&#34;&gt;&lt;span style=&#34;font-size:14t;font-weight:900;&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;tooltiptext&#34;&gt;Design Patterns, E. Gamma, R. Helm, R. Johnson, and J. Vlissides, 1995&lt;/span&gt;&lt;/span&gt; pattern using polymorphism. Thereby, I am especially interested in algorithms for image processing.&lt;/p&gt;
&lt;h1&gt;Strategy vs. Policy in C++&lt;/h1&gt;
Both, policy and strategy, can be used to modularize algorithms. For more details I refer to the textbooks listed below. To compare both approaches exclusively in terms of speed, I created a simple example. I consider the binary operations addition and subtraction of two images pixel-wise and in place for all image pixels &lt;em&gt;i&lt;/em&gt;.
For the polymorphism based strategy pattern I use an abstract super class.
```cpp
template &lt;class t_data&gt;
struct BinaryOperator
{
    virtual t_data sBinOperation(t_data a, t_data b) = 0;
};
template&lt;class t_data&gt;
struct Add : BinaryOperator&lt;t_data&gt;
{
    t_data sBinOperation(t_data a, t_data b)
    {
        return a+b;
    }
};
template&lt;class t_data&gt;
struct Subtract : BinaryOperator&lt;t_data&gt;
{
    t_data sBinOperation(t_data a, t_data b)
    {
        return a-b;
    }
};
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Further, I have a class that iterates over the image and applies the binary operation pixel-wise. The binary operation is contained as a polymorphic member.
```cpp
template &amp;lt;class t_data&amp;gt;
struct ImBinaryOperatorStrategy
{
    BinaryOperator&amp;lt;t_data&amp;gt; *binOp;
    ImBinaryOperatorStrategy(BinaryOperator&amp;lt;t_data&amp;gt; *binOp):binOp(binOp){}
    void imBinOperation(t_data* im1, t_data* im2, int width, int height, int step1,
                        int step2)
    {
        for (int y=0; y&amp;lt;height; y++)
            for (int x=0; x&amp;lt;width; x++)
                im1[x+y*step1] = binOp-&amp;gt;sBinOperation(im1[x+y*step1],im2[x+y*step2]);
    }
};
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;For the policy based design with templates, I use the classes &lt;em&gt;Add&lt;/em&gt; and &lt;em&gt;Subtract&lt;/em&gt; (but not their base class &lt;em&gt;BinaryOperator&lt;/em&gt;) and the following class to operate on images. In contrast to the strategy pattern, the binary operation is not a member but passed as template parameter.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
