<?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>Niklas Deutschmann</title>
    <link>https://niklas-deutschmann.de/</link>
    <description>Recent content on Niklas Deutschmann</description>
    <generator>Hugo -- 0.148.2</generator>
    <language>de</language>
    <lastBuildDate>Sun, 22 Feb 2026 08:34:00 +0100</lastBuildDate>
    <atom:link href="https://niklas-deutschmann.de/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Offener Brief an Tim Klüssendorf, Generalsekretär der SPD</title>
      <link>https://niklas-deutschmann.de/posts/offener-brief-an-tim-kluessendorf/</link>
      <pubDate>Sun, 22 Feb 2026 08:34:00 +0100</pubDate>
      <guid>https://niklas-deutschmann.de/posts/offener-brief-an-tim-kluessendorf/</guid>
      <description>&lt;p&gt;Hallo Tim,&lt;/p&gt;
&lt;p&gt;Ich bin 46 Jahre alt und 2024 hier in Erlangen der SPD beigetreten, weil ich der Ansicht war, dass es wichtig ist, sich in einer demokratischen Partei zu engagieren, wenn die Demokratie aus allen möglichen Richtungen unter Druck gerät.&lt;/p&gt;
&lt;p&gt;Selbstverständlich war mir auch klar, dass ich nicht immer mit allem einverstanden sein werde, was auf Bundesebene beschlossen wird - normal in einer großen Partei.&lt;/p&gt;
&lt;p&gt;Beim Thema Social-Media-Verbot habe ich jedoch eine Reihe schwerwiegender Bedenken.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Hallo Tim,</p>
<p>Ich bin 46 Jahre alt und 2024 hier in Erlangen der SPD beigetreten, weil ich der Ansicht war, dass es wichtig ist, sich in einer demokratischen Partei zu engagieren, wenn die Demokratie aus allen möglichen Richtungen unter Druck gerät.</p>
<p>Selbstverständlich war mir auch klar, dass ich nicht immer mit allem einverstanden sein werde, was auf Bundesebene beschlossen wird - normal in einer großen Partei.</p>
<p>Beim Thema Social-Media-Verbot habe ich jedoch eine Reihe schwerwiegender Bedenken.</p>
<p>Ich teile komplett deine Meinung, dass das Agieren der großen Digitalkonzerne (insbesondere der aus den USA) ein Riesenproblem ist und die Art und Weise, wie dort Aufmerksamkeit gesteuert wird und Inhalte verbreitet werden, den gesellschaftlichen Zusammenhalt und die psychische Gesundheit vieler Menschen (nicht nur von Kindern und Jugendlichen) gefährdet. Ich habe das selbst im Zusammenhang mit X (damals noch Twitter) während der Corona-Pandemie erlebt. Die amerikanischen Digitalkonzerne sind auch mehr oder weniger offen mit der Trump-Administration verbündet (inbesondere natürlich X, dessen Chef offen die Machtübernahme rechtsradikaler Parteien in Europa fordert, auf seiner Plattform die Anfertigung von Porno-Deepfake-Bildern durch Grok zulässt und schon vor mehr als einem Jahr auf offener Bühne den Hitlergruß zeigte)</p>
<p>Jetzt sehe ich aber, dass du selbst Accounts bei Facebook, Instagram, TikTok und YouTube betreibst, also trotz des äußerst problematischen Geschäftsmodells die Reichweite gerne mitnimmst. Damit fängt es schon an. Wenigstens scheinst du keinen Account mehr bei X zu betreiben, aber selbst diesen wirklich minimalen Schritt sind einige Kollegen wie z.B. Lars Klingbeil noch nicht gegangen. Von den Politikern bei unserem Koalitionspartner ganz zu schweigen.</p>
<p>Mich stört an eurem Konzeptpapier als erstes z.B., dass nicht klar ist, welche Plattformen und Apps es überhaupt betreffen wird. Muss in Zukunft jeder, der ein Forum, eine Mailingliste oder ein Blog mit Kommentarmöglichkeit betreibt, sich um Altersverifikation kümmern? Jede Webseite und jede App, auf der sich Benutzer registrieren und miteinander interagieren können, könnte man ja als „Social Media“ ansehen. Für Kinder und Jugendliche sind da z.B. auch Multiplayer-Spiele relevant.</p>
<p>Man löst das Problem des schädlichen Einflusses von Digitalkonzernen nicht, indem man diese zum „Gatekeeper“ macht und für das Betreiben von Social-Media-Angeboten Anforderungen schafft, die nur Großkonzerne umsetzen können. Du wirst jetzt wahrscheinlich behaupten, dass es ganz einfach sei, eine Schnittstelle zur EUDI-Wallet-App einzubinden.</p>
<p>Nach jetzigem Stand ist aber für die Nutzung der EUDI-Wallet-App ein Apple-Gerät erforderlich oder ein Android-Gerät, das die Google Play Services unterstützt. Das würde bedeuten, dass man für die Nutzung großer Teile des Internets einen Abhängigkeit von Apple oder Google schafft. Außen bleiben nicht nur freie Android-Varianten wie z.B. GrapheneOS, sondern auch Menschen ohne (die richtigen) Ausweispapiere wie z.B. Geflüchtete. Die EU-Vorordnung zu „Digital Identity Wallets“ sagt im Übrigen:</p>
<blockquote>
<p>The use of European Digital Identity Wallets shall be voluntary. Access to public and private services, access to the labour market and freedom to conduct business shall not in any way be restricted or made disadvantageous to natural or legal persons that do not use European Digital Identity Wallets. It shall remain possible to access public and private services by other existing identification and authentication means. (<a href="https://eur-lex.europa.eu/eli/reg/2014/910/2024-05-20/eng">https://eur-lex.europa.eu/eli/reg/2014/910/2024-05-20/eng</a>)</p></blockquote>
<p>Wenn man sich andere anschaut, die die Koalition beschlossen und die SPD mitgetragen hat, bekomme ich im Übrigen nicht den Eindruck, dass das (psychische) Wohlergehen von Kindern und Jugendlichen eine besondere Rolle gespielt hat. Wenn uns das Wohlergehen von Kindern und Jugendlichen wichtig ist, dann müssen viele der Verschärfungen beim Bürgergeld zurückgenommen werden, es dürfen nicht Jugendliche direkt aus ihrer Ausbildungsstelle gerissen und abgeschoben werden, und es muss wieder echter Klimaschutz stattfinden.</p>
<p>Im digitalpolitischen Bereich müssen freie, nichtkommerzielle Angebote wie z.B. das Fediverse gestärkt werden. Diese sind nicht den oben beschriebenen aufmerksamkeitsökonomischen Zwängen unterworfen und ermöglichen digitale Souveränität und eine bewusste Entscheidung über die konsumierten Inhalte. Das Betreiben solcher Angebote durch zivilgesellschaftliche Organisationen, Vereine und Einzelpersonen sollte vereinfacht und nicht mit zusätzlichen Hürden versehen werden. Alle Politiker und öffentlichen Einrichtungen sollten sofort(!) ihre Präsenz zumindest bei X beenden.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Processing time series data in MySQL using subqueries and window functions</title>
      <link>https://niklas-deutschmann.de/posts/mysql-time-series-data/</link>
      <pubDate>Sun, 08 Feb 2026 12:01:16 +0200</pubDate>
      <guid>https://niklas-deutschmann.de/posts/mysql-time-series-data/</guid>
      <description>&lt;p&gt;Let’s assume we have daily weather records with the maximum temperature:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th style=&#34;text-align: center&#34;&gt;day&lt;/th&gt;
          &lt;th style=&#34;text-align: center&#34;&gt;max_temp_celsius&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;2025-07-01&lt;/td&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;25&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;2025-07-02&lt;/td&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;27&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;2025-07-03&lt;/td&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;30&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;2025-07-04&lt;/td&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;32&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;2025-07-05&lt;/td&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;35&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;2025-07-06&lt;/td&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;29&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;2025-07-07&lt;/td&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;31&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;2025-07-08&lt;/td&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;31&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;2025-07-09&lt;/td&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;28&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;2025-07-10&lt;/td&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;22&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Now, we want to find the &lt;strong&gt;longest heatwaves&lt;/strong&gt; (the longest sequences of days with a maximum temperature &amp;gt;= 30 degrees) using SQL only. We can achieve this using multiple subqueries with window functions - here’s the complete SQL statement:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Let’s assume we have daily weather records with the maximum temperature:</p>
<table>
  <thead>
      <tr>
          <th style="text-align: center">day</th>
          <th style="text-align: center">max_temp_celsius</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td style="text-align: center">2025-07-01</td>
          <td style="text-align: center">25</td>
      </tr>
      <tr>
          <td style="text-align: center">2025-07-02</td>
          <td style="text-align: center">27</td>
      </tr>
      <tr>
          <td style="text-align: center">2025-07-03</td>
          <td style="text-align: center">30</td>
      </tr>
      <tr>
          <td style="text-align: center">2025-07-04</td>
          <td style="text-align: center">32</td>
      </tr>
      <tr>
          <td style="text-align: center">2025-07-05</td>
          <td style="text-align: center">35</td>
      </tr>
      <tr>
          <td style="text-align: center">2025-07-06</td>
          <td style="text-align: center">29</td>
      </tr>
      <tr>
          <td style="text-align: center">2025-07-07</td>
          <td style="text-align: center">31</td>
      </tr>
      <tr>
          <td style="text-align: center">2025-07-08</td>
          <td style="text-align: center">31</td>
      </tr>
      <tr>
          <td style="text-align: center">2025-07-09</td>
          <td style="text-align: center">28</td>
      </tr>
      <tr>
          <td style="text-align: center">2025-07-10</td>
          <td style="text-align: center">22</td>
      </tr>
  </tbody>
</table>
<p>Now, we want to find the <strong>longest heatwaves</strong> (the longest sequences of days with a maximum temperature &gt;= 30 degrees) using SQL only. We can achieve this using multiple subqueries with window functions - here’s the complete SQL statement:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sql" data-lang="sql"><span style="display:flex;"><span><span style="color:#66d9ef">WITH</span> numbered_records <span style="color:#66d9ef">AS</span> (
</span></span><span style="display:flex;"><span>  <span style="color:#75715e">-- Assign row numbers to all records and to records meeting the condition
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>  <span style="color:#66d9ef">SELECT</span> 
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">day</span>,
</span></span><span style="display:flex;"><span>    max_temp_celsius,
</span></span><span style="display:flex;"><span>    ROW_NUMBER() OVER (<span style="color:#66d9ef">ORDER</span> <span style="color:#66d9ef">BY</span> <span style="color:#66d9ef">day</span>) <span style="color:#66d9ef">AS</span> overall_row,
</span></span><span style="display:flex;"><span>    ROW_NUMBER() OVER (
</span></span><span style="display:flex;"><span>      PARTITION <span style="color:#66d9ef">BY</span> <span style="color:#66d9ef">CASE</span> <span style="color:#66d9ef">WHEN</span> max_temp_celsius <span style="color:#f92672">&gt;=</span> <span style="color:#ae81ff">30</span> <span style="color:#66d9ef">THEN</span> <span style="color:#ae81ff">1</span> <span style="color:#66d9ef">ELSE</span> <span style="color:#ae81ff">0</span> <span style="color:#66d9ef">END</span> 
</span></span><span style="display:flex;"><span>      <span style="color:#66d9ef">ORDER</span> <span style="color:#66d9ef">BY</span> <span style="color:#66d9ef">day</span>
</span></span><span style="display:flex;"><span>    ) <span style="color:#66d9ef">AS</span> hot_or_cold_row
</span></span><span style="display:flex;"><span>  <span style="color:#66d9ef">FROM</span> weather
</span></span><span style="display:flex;"><span>),
</span></span><span style="display:flex;"><span>numbered_heatwaves <span style="color:#66d9ef">AS</span> (
</span></span><span style="display:flex;"><span>  <span style="color:#75715e">-- Create group identifiers for consecutive sequences
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>  <span style="color:#66d9ef">SELECT</span> 
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">day</span>,
</span></span><span style="display:flex;"><span>    max_temp_celsius,
</span></span><span style="display:flex;"><span>    overall_row <span style="color:#f92672">-</span> hot_or_cold_row <span style="color:#66d9ef">AS</span> heatwave_id
</span></span><span style="display:flex;"><span>  <span style="color:#66d9ef">FROM</span> numbered_records
</span></span><span style="display:flex;"><span>  <span style="color:#66d9ef">WHERE</span> max_temp_celsius <span style="color:#f92672">&gt;=</span> <span style="color:#ae81ff">30</span>
</span></span><span style="display:flex;"><span>),
</span></span><span style="display:flex;"><span>longest_heatwaves <span style="color:#66d9ef">AS</span> (
</span></span><span style="display:flex;"><span>  <span style="color:#75715e">-- Count the length of each sequence
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>  <span style="color:#66d9ef">SELECT</span> 
</span></span><span style="display:flex;"><span>    heatwave_id,
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">MIN</span>(<span style="color:#66d9ef">day</span>) <span style="color:#66d9ef">AS</span> start_date,
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">MAX</span>(<span style="color:#66d9ef">day</span>) <span style="color:#66d9ef">AS</span> end_date,
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">COUNT</span>(<span style="color:#f92672">*</span>) <span style="color:#66d9ef">AS</span> heatwave_length
</span></span><span style="display:flex;"><span>  <span style="color:#66d9ef">FROM</span> numbered_heatwaves
</span></span><span style="display:flex;"><span>  <span style="color:#66d9ef">GROUP</span> <span style="color:#66d9ef">BY</span> heatwave_id
</span></span><span style="display:flex;"><span>)
</span></span><span style="display:flex;"><span><span style="color:#75715e">-- Find the longest sequence
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#66d9ef">SELECT</span> 
</span></span><span style="display:flex;"><span>  start_date,
</span></span><span style="display:flex;"><span>  end_date,
</span></span><span style="display:flex;"><span>  heatwave_length
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">FROM</span> longest_heatwaves
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">ORDER</span> <span style="color:#66d9ef">BY</span> heatwave_length <span style="color:#66d9ef">DESC</span>;
</span></span></code></pre></div><p>I’ll explain the subqueries step by step now.</p>
<p><strong>Subquery 1</strong> defines (using window functions) a row number for all days, and a row number that counts records above and below 30 degrees separately:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sql" data-lang="sql"><span style="display:flex;"><span><span style="color:#66d9ef">WITH</span> numbered_records <span style="color:#66d9ef">AS</span> (
</span></span><span style="display:flex;"><span>  <span style="color:#66d9ef">SELECT</span> 
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">day</span>,
</span></span><span style="display:flex;"><span>    max_temp_celsius,
</span></span><span style="display:flex;"><span>    ROW_NUMBER() OVER (<span style="color:#66d9ef">ORDER</span> <span style="color:#66d9ef">BY</span> <span style="color:#66d9ef">day</span>) <span style="color:#66d9ef">AS</span> overall_row,
</span></span><span style="display:flex;"><span>    ROW_NUMBER() OVER (
</span></span><span style="display:flex;"><span>      PARTITION <span style="color:#66d9ef">BY</span> <span style="color:#66d9ef">CASE</span> <span style="color:#66d9ef">WHEN</span> max_temp_celsius <span style="color:#f92672">&gt;=</span> <span style="color:#ae81ff">30</span> <span style="color:#66d9ef">THEN</span> <span style="color:#ae81ff">1</span> <span style="color:#66d9ef">ELSE</span> <span style="color:#ae81ff">0</span> <span style="color:#66d9ef">END</span> 
</span></span><span style="display:flex;"><span>      <span style="color:#66d9ef">ORDER</span> <span style="color:#66d9ef">BY</span> <span style="color:#66d9ef">day</span>
</span></span><span style="display:flex;"><span>    ) <span style="color:#66d9ef">AS</span> hot_or_cold_row
</span></span><span style="display:flex;"><span>  <span style="color:#66d9ef">FROM</span> weather
</span></span><span style="display:flex;"><span>)
</span></span></code></pre></div><p>Result:</p>
<table>
  <thead>
      <tr>
          <th style="text-align: center">day</th>
          <th style="text-align: center">max_temp_celsius</th>
          <th style="text-align: center">overall_row</th>
          <th style="text-align: center">hot_or_cold_row</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td style="text-align: center">2025-07-01</td>
          <td style="text-align: center">25</td>
          <td style="text-align: center">1</td>
          <td style="text-align: center">1</td>
      </tr>
      <tr>
          <td style="text-align: center">2025-07-02</td>
          <td style="text-align: center">27</td>
          <td style="text-align: center">2</td>
          <td style="text-align: center">2</td>
      </tr>
      <tr>
          <td style="text-align: center">2025-07-03</td>
          <td style="text-align: center">30</td>
          <td style="text-align: center">3</td>
          <td style="text-align: center">1</td>
      </tr>
      <tr>
          <td style="text-align: center">2025-07-04</td>
          <td style="text-align: center">32</td>
          <td style="text-align: center">4</td>
          <td style="text-align: center">2</td>
      </tr>
      <tr>
          <td style="text-align: center">2025-07-05</td>
          <td style="text-align: center">35</td>
          <td style="text-align: center">5</td>
          <td style="text-align: center">3</td>
      </tr>
      <tr>
          <td style="text-align: center">2025-07-06</td>
          <td style="text-align: center">29</td>
          <td style="text-align: center">6</td>
          <td style="text-align: center">3</td>
      </tr>
      <tr>
          <td style="text-align: center">2025-07-07</td>
          <td style="text-align: center">31</td>
          <td style="text-align: center">7</td>
          <td style="text-align: center">4</td>
      </tr>
      <tr>
          <td style="text-align: center">2025-07-08</td>
          <td style="text-align: center">31</td>
          <td style="text-align: center">8</td>
          <td style="text-align: center">5</td>
      </tr>
      <tr>
          <td style="text-align: center">2025-07-09</td>
          <td style="text-align: center">28</td>
          <td style="text-align: center">9</td>
          <td style="text-align: center">4</td>
      </tr>
      <tr>
          <td style="text-align: center">2025-07-10</td>
          <td style="text-align: center">22</td>
          <td style="text-align: center">10</td>
          <td style="text-align: center">5</td>
      </tr>
  </tbody>
</table>
<p><strong>Subquery 2</strong> creates a unique ID for each sequence of hot days simply by subtracting <code>hot_or_cold_row</code> from <code>overall_row</code>:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sql" data-lang="sql"><span style="display:flex;"><span>numbered_heatwaves <span style="color:#66d9ef">AS</span> (
</span></span><span style="display:flex;"><span>  <span style="color:#66d9ef">SELECT</span> 
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">day</span>,
</span></span><span style="display:flex;"><span>    max_temp_celsius,
</span></span><span style="display:flex;"><span>    overall_row <span style="color:#f92672">-</span> hot_or_cold_row <span style="color:#66d9ef">AS</span> heatwave_id
</span></span><span style="display:flex;"><span>  <span style="color:#66d9ef">FROM</span> numbered_records
</span></span><span style="display:flex;"><span>  <span style="color:#66d9ef">WHERE</span> max_temp_celsius <span style="color:#f92672">&gt;=</span> <span style="color:#ae81ff">30</span>
</span></span><span style="display:flex;"><span>)
</span></span></code></pre></div><table>
  <thead>
      <tr>
          <th style="text-align: center">day</th>
          <th style="text-align: center">max_temp_celsius</th>
          <th style="text-align: center">heatwave_id</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td style="text-align: center">2025-07-03</td>
          <td style="text-align: center">30</td>
          <td style="text-align: center">2</td>
      </tr>
      <tr>
          <td style="text-align: center">2025-07-04</td>
          <td style="text-align: center">32</td>
          <td style="text-align: center">2</td>
      </tr>
      <tr>
          <td style="text-align: center">2025-07-05</td>
          <td style="text-align: center">35</td>
          <td style="text-align: center">2</td>
      </tr>
      <tr>
          <td style="text-align: center">2025-07-07</td>
          <td style="text-align: center">31</td>
          <td style="text-align: center">3</td>
      </tr>
      <tr>
          <td style="text-align: center">2025-07-08</td>
          <td style="text-align: center">31</td>
          <td style="text-align: center">3</td>
      </tr>
  </tbody>
</table>
<p><strong>Subquery 3</strong> is transforming the result of the second subquery into a form that makes it easy to retrieve the longest sequences:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sql" data-lang="sql"><span style="display:flex;"><span>longest_heatwaves <span style="color:#66d9ef">AS</span> (
</span></span><span style="display:flex;"><span>  <span style="color:#66d9ef">SELECT</span> 
</span></span><span style="display:flex;"><span>    heatwave_id,
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">MIN</span>(<span style="color:#66d9ef">day</span>) <span style="color:#66d9ef">AS</span> start_date,
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">MAX</span>(<span style="color:#66d9ef">day</span>) <span style="color:#66d9ef">AS</span> end_date,
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">COUNT</span>(<span style="color:#f92672">*</span>) <span style="color:#66d9ef">AS</span> heatwave_length
</span></span><span style="display:flex;"><span>  <span style="color:#66d9ef">FROM</span> numbered_heatwaves
</span></span><span style="display:flex;"><span>  <span style="color:#66d9ef">GROUP</span> <span style="color:#66d9ef">BY</span> heatwave_id
</span></span><span style="display:flex;"><span>)
</span></span></code></pre></div><table>
  <thead>
      <tr>
          <th style="text-align: center">heatwave_id</th>
          <th style="text-align: center">start_date</th>
          <th style="text-align: center">end_date</th>
          <th style="text-align: center">heatwave_length</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td style="text-align: center">2</td>
          <td style="text-align: center">2025-07-03</td>
          <td style="text-align: center">2025-07-05</td>
          <td style="text-align: center">3</td>
      </tr>
      <tr>
          <td style="text-align: center">3</td>
          <td style="text-align: center">2025-07-07</td>
          <td style="text-align: center">2025-07-08</td>
          <td style="text-align: center">2</td>
      </tr>
  </tbody>
</table>
<p>And here we are with the result of the complete query:</p>
<table>
  <thead>
      <tr>
          <th style="text-align: center">start_date</th>
          <th style="text-align: center">end_date</th>
          <th style="text-align: center">heatwave_length</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td style="text-align: center">2025-07-03</td>
          <td style="text-align: center">2025-07-05</td>
          <td style="text-align: center">3</td>
      </tr>
      <tr>
          <td style="text-align: center">2025-07-07</td>
          <td style="text-align: center">2025-07-08</td>
          <td style="text-align: center">2</td>
      </tr>
  </tbody>
</table>
<p>Note that window functions require at least MySQL 8.0</p>
<p>We might explore more of this topic in the future and try to achieve the same with Oracle, Postgres and older MySQL versions&hellip;</p>
]]></content:encoded>
    </item>
    <item>
      <title>Nürnberger Ringstraße im Test</title>
      <link>https://niklas-deutschmann.de/posts/nuernberger-ringstrasse-im-test/</link>
      <pubDate>Sun, 14 Dec 2025 19:21:16 +0200</pubDate>
      <guid>https://niklas-deutschmann.de/posts/nuernberger-ringstrasse-im-test/</guid>
      <description>&lt;p&gt;Hier ist jemand zweimal zur Hauptverkehrszeit um den Ring in Nürnberg geradelt (19 km) und hat die Radwege komplett gefilmt - beeindruckend zu sehen, an wie vielen Stellen es nicht sicher oder einladend ist, da zu fahren.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=tlZYhmTmcqI&#34;&gt;Uhrzeigersinn&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=CqlGLgSOeao&#34;&gt;Gegenuhrzeigersinn&lt;/a&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Hier ist jemand zweimal zur Hauptverkehrszeit um den Ring in Nürnberg geradelt (19 km) und hat die Radwege komplett gefilmt - beeindruckend zu sehen, an wie vielen Stellen es nicht sicher oder einladend ist, da zu fahren.</p>
<p><a href="https://www.youtube.com/watch?v=tlZYhmTmcqI">Uhrzeigersinn</a></p>
<p><a href="https://www.youtube.com/watch?v=CqlGLgSOeao">Gegenuhrzeigersinn</a></p>
]]></content:encoded>
    </item>
    <item>
      <title>Zitat des Tages</title>
      <link>https://niklas-deutschmann.de/posts/zitat-des-tages-20250919/</link>
      <pubDate>Fri, 19 Sep 2025 07:19:16 +0200</pubDate>
      <guid>https://niklas-deutschmann.de/posts/zitat-des-tages-20250919/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Windows 11 is a travesty, a loose collection of dark patterns and incompetence, run by people who have zero interest in lovingly crafting an operating system they can be proud of. Windows has become a vessel for subscriptions and ads, and cannot reasonably be considered anything other than a massive pile of user-hostile dark patterns designed to extract data, ad time, and subscription money from its users.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&#34;https://www.osnews.com/story/143376/dark-patterns-killed-my-wifes-windows-11-installation/&#34;&gt;Dark patterns killed my wife’s Windows 11 installation&lt;/a&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<blockquote>
<p>Windows 11 is a travesty, a loose collection of dark patterns and incompetence, run by people who have zero interest in lovingly crafting an operating system they can be proud of. Windows has become a vessel for subscriptions and ads, and cannot reasonably be considered anything other than a massive pile of user-hostile dark patterns designed to extract data, ad time, and subscription money from its users.</p></blockquote>
<p><a href="https://www.osnews.com/story/143376/dark-patterns-killed-my-wifes-windows-11-installation/">Dark patterns killed my wife’s Windows 11 installation</a></p>
]]></content:encoded>
    </item>
    <item>
      <title>Zum Thema Deutschlandticket</title>
      <link>https://niklas-deutschmann.de/posts/zum-thema-deutschlandticket/</link>
      <pubDate>Thu, 18 Sep 2025 22:19:16 +0200</pubDate>
      <guid>https://niklas-deutschmann.de/posts/zum-thema-deutschlandticket/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.adac.de/verkehr/tanken-kraftstoff-antrieb/deutschland/kraftstoffpreisentwicklung/&#34;&gt;Hier sieht man sehr schön&lt;/a&gt;, dass Benzin und Diesel in den letzten zwei Jahren sogar billiger geworden sind. Seit 2011 ist der Sprit nur um 14,2% (Benzin) bzw. 16,8% (Diesel) teurer geworden. Ein Großteil des Anstiegs fand von 2020 bis 2022 statt.&lt;/p&gt;
&lt;p&gt;Beim Deutschlandticket wird die Verteuerung 30% in zweieinhalb Jahren sein.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://www.adac.de/verkehr/tanken-kraftstoff-antrieb/deutschland/kraftstoffpreisentwicklung/">Hier sieht man sehr schön</a>, dass Benzin und Diesel in den letzten zwei Jahren sogar billiger geworden sind. Seit 2011 ist der Sprit nur um 14,2% (Benzin) bzw. 16,8% (Diesel) teurer geworden. Ein Großteil des Anstiegs fand von 2020 bis 2022 statt.</p>
<p>Beim Deutschlandticket wird die Verteuerung 30% in zweieinhalb Jahren sein.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Diskriminierung aufgrund von Browser und Betriebssystem?</title>
      <link>https://niklas-deutschmann.de/posts/diskriminierung-nach-browser-und-betriebssystem/</link>
      <pubDate>Mon, 08 Sep 2025 09:11:16 +0200</pubDate>
      <guid>https://niklas-deutschmann.de/posts/diskriminierung-nach-browser-und-betriebssystem/</guid>
      <description>&lt;p&gt;Ob einem beim Online-Shopping abhängig von verwendetem Browser und Betriebssystem unterschiedliche Preise angezeigt werden, ist ein bisschen umstritten - es gibt Untersuchungen, nach denen dies zumindest im deutschen Online-Handel &lt;a href=&#34;https://www.heise.de/news/Teurer-mit-iPhone-BMJV-findet-keine-Preisdifferenzen-beim-Online-Shopping-5078411.html&#34;&gt;nicht oder kaum der Fall ist&lt;/a&gt;. Eine ähnliche Geschichte habe ich aber am Freitag direkt erlebt und es war eine absolute Premiere für mich.&lt;/p&gt;
&lt;p&gt;Ich hatte bei Ryanair einen Flug von Nürnberg nach London gebucht (übrigens mein erster Flug seit 7 Jahren). Leider erfuhr ich erst danach vom &lt;a href=&#34;https://www.bbc.com/news/articles/c33rnnvmgkyo&#34;&gt;geplanten Streik in London&lt;/a&gt;, durch den bis Freitag dieser Woche die U-Bahn fast gar nicht fährt. Ich beschloss deshalb, die ganze London-Reise um zwei Tage zu verschieben. Für den Ryanair-Flug sah es auch so aus, als sei dies problemlos möglich. Allerdings war der neue Flug um 42,50€ teurer. Für diese 42,50€ wurde aber kein Zahlungsmittel akzeptiert - weder die für die ursprüngliche Buchung verwendete Kreditkarte noch Paypal. Ich habe dann angefangen, diverse Dinge im Browser (Firefox unter Linux Mint) auszuprobieren (Adblocker abschalten, Cache und Cookies löschen usw.)&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Ob einem beim Online-Shopping abhängig von verwendetem Browser und Betriebssystem unterschiedliche Preise angezeigt werden, ist ein bisschen umstritten - es gibt Untersuchungen, nach denen dies zumindest im deutschen Online-Handel <a href="https://www.heise.de/news/Teurer-mit-iPhone-BMJV-findet-keine-Preisdifferenzen-beim-Online-Shopping-5078411.html">nicht oder kaum der Fall ist</a>. Eine ähnliche Geschichte habe ich aber am Freitag direkt erlebt und es war eine absolute Premiere für mich.</p>
<p>Ich hatte bei Ryanair einen Flug von Nürnberg nach London gebucht (übrigens mein erster Flug seit 7 Jahren). Leider erfuhr ich erst danach vom <a href="https://www.bbc.com/news/articles/c33rnnvmgkyo">geplanten Streik in London</a>, durch den bis Freitag dieser Woche die U-Bahn fast gar nicht fährt. Ich beschloss deshalb, die ganze London-Reise um zwei Tage zu verschieben. Für den Ryanair-Flug sah es auch so aus, als sei dies problemlos möglich. Allerdings war der neue Flug um 42,50€ teurer. Für diese 42,50€ wurde aber kein Zahlungsmittel akzeptiert - weder die für die ursprüngliche Buchung verwendete Kreditkarte noch Paypal. Ich habe dann angefangen, diverse Dinge im Browser (Firefox unter Linux Mint) auszuprobieren (Adblocker abschalten, Cache und Cookies löschen usw.)</p>
<p>Was dann aber tatsächlich geholfen hat: Windows 10 in der Virtual Box booten und dort Edge benutzen.</p>
<p>Kann man so etwas irgendwo melden? Verbraucherzentrale oder so?</p>
]]></content:encoded>
    </item>
    <item>
      <title>Summer of AI - Nachtrag</title>
      <link>https://niklas-deutschmann.de/posts/summer-of-ai-2/</link>
      <pubDate>Wed, 03 Sep 2025 06:38:16 +0200</pubDate>
      <guid>https://niklas-deutschmann.de/posts/summer-of-ai-2/</guid>
      <description>&lt;p&gt;Nach 2-3 Wochen habe ich das &lt;a href=&#34;https://niklas-deutschmann.de/posts/summer-of-ai/&#34;&gt;Interesse am Vibe Coding&lt;/a&gt; wieder verloren. Es fühlt sich irgendwie leer und hohl an - so als hätte man das, was man da baut, nicht wirklich selbst gebaut. Ich habe auch ab ca. 2000 Zeilen Code das Bedürfnis verspürt, kleine Änderungen lieber direkt von Hand zu machen anstatt umständlich in natürlicher Sprache zu beschreiben.&lt;/p&gt;
&lt;p&gt;Vielleicht kommt es eines Tages wieder.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Nach 2-3 Wochen habe ich das <a href="/posts/summer-of-ai/">Interesse am Vibe Coding</a> wieder verloren. Es fühlt sich irgendwie leer und hohl an - so als hätte man das, was man da baut, nicht wirklich selbst gebaut. Ich habe auch ab ca. 2000 Zeilen Code das Bedürfnis verspürt, kleine Änderungen lieber direkt von Hand zu machen anstatt umständlich in natürlicher Sprache zu beschreiben.</p>
<p>Vielleicht kommt es eines Tages wieder.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Europäische Alternativen zu Microsoft, Facebook &amp; Co (Ergänzung 2)</title>
      <link>https://niklas-deutschmann.de/posts/europaeische-alternativen-3/</link>
      <pubDate>Sun, 31 Aug 2025 16:30:16 +0200</pubDate>
      <guid>https://niklas-deutschmann.de/posts/europaeische-alternativen-3/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://wero-wallet.eu/&#34;&gt;Wero&lt;/a&gt; positioniert sich als europäische Alternative zu PayPal. Es funktioniert schon in Deutschland, Belgien und Frankreich mit einigen Banken (die Bank muss mitmachen). Im Moment kann man damit aber nur als Privatperson Geld an eine andere Privatperson schicken - es gibt (noch) keine Online-Shops oder Dienste, die es als Bezahlmethode akzeptieren.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://wero-wallet.eu/">Wero</a> positioniert sich als europäische Alternative zu PayPal. Es funktioniert schon in Deutschland, Belgien und Frankreich mit einigen Banken (die Bank muss mitmachen). Im Moment kann man damit aber nur als Privatperson Geld an eine andere Privatperson schicken - es gibt (noch) keine Online-Shops oder Dienste, die es als Bezahlmethode akzeptieren.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Cyber Cyber!</title>
      <link>https://niklas-deutschmann.de/posts/cyber-cyber/</link>
      <pubDate>Sat, 30 Aug 2025 10:19:16 +0200</pubDate>
      <guid>https://niklas-deutschmann.de/posts/cyber-cyber/</guid>
      <description>&lt;p&gt;Das &lt;a href=&#34;https://www.heise.de/news/Mehr-IT-Sicherheit-Dobrindt-will-den-Cyber-Dome-10623448.html&#34;&gt;Cyber-Bullshit-Gelaber aus dem Innenministerium&lt;/a&gt; nimmt gerade wieder überhand, da ist es &lt;a href=&#34;https://netzpolitik.org/2014/cyber-cyber-die-hymne-zur-digitalen-agenda/&#34;&gt;Zeit für diesen Klassiker&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Party on!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Das <a href="https://www.heise.de/news/Mehr-IT-Sicherheit-Dobrindt-will-den-Cyber-Dome-10623448.html">Cyber-Bullshit-Gelaber aus dem Innenministerium</a> nimmt gerade wieder überhand, da ist es <a href="https://netzpolitik.org/2014/cyber-cyber-die-hymne-zur-digitalen-agenda/">Zeit für diesen Klassiker</a>.</p>
<p>Party on!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Manchmal sind soziale Netzwerke doch zu etwas gut</title>
      <link>https://niklas-deutschmann.de/posts/manchmal-sind-soziale-netzwerke-doch-zu-etwas-gut/</link>
      <pubDate>Fri, 29 Aug 2025 13:48:16 +0200</pubDate>
      <guid>https://niklas-deutschmann.de/posts/manchmal-sind-soziale-netzwerke-doch-zu-etwas-gut/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://mstdn.social/@stux/115112969150916874&#34;&gt;Dieser Post bei Mastodon&lt;/a&gt; hat dazu geführt, dass ich jetzt den Hersteller der Spielzeugeisenbahn kenne, die wir als Kinder Mitte der 80er Jahre in Japan hatten. Und mit der mein Neffe und meine Nichte heute wieder spielen - hier gab es offensichtlich gerade ein schweres Erdbeben, oder einen Godzilla-Angriff:&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;Spielzeugeisenbahn auf einem Teppich, diverse Wagen, Brückenteile und Häuser sind umgekippt und liegen wild verstreut in der Gegend herum&#34; loading=&#34;lazy&#34; src=&#34;https://niklas-deutschmann.de/images/plarail.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;Es gibt sogar einen &lt;a href=&#34;https://japan-figure.com/de-de/collections/plarail&#34;&gt;deutschsprachigen Online-Shop&lt;/a&gt;, man könnte jetzt den 40-jährigen Investitionsstau auflösen und neues Rollmaterial beschaffen, z.B. die &lt;a href=&#34;https://japan-figure.com/de-de/collections/plarail/products/takara-tomy-plarail-s-03-e5-series-shinkansen-hayabusa-f-s-takara-tomy&#34;&gt;aktuelle Shinkansen-Baureihe&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://mstdn.social/@stux/115112969150916874">Dieser Post bei Mastodon</a> hat dazu geführt, dass ich jetzt den Hersteller der Spielzeugeisenbahn kenne, die wir als Kinder Mitte der 80er Jahre in Japan hatten. Und mit der mein Neffe und meine Nichte heute wieder spielen - hier gab es offensichtlich gerade ein schweres Erdbeben, oder einen Godzilla-Angriff:</p>
<p><img alt="Spielzeugeisenbahn auf einem Teppich, diverse Wagen, Brückenteile und Häuser sind umgekippt und liegen wild verstreut in der Gegend herum" loading="lazy" src="/images/plarail.jpg"></p>
<p>Es gibt sogar einen <a href="https://japan-figure.com/de-de/collections/plarail">deutschsprachigen Online-Shop</a>, man könnte jetzt den 40-jährigen Investitionsstau auflösen und neues Rollmaterial beschaffen, z.B. die <a href="https://japan-figure.com/de-de/collections/plarail/products/takara-tomy-plarail-s-03-e5-series-shinkansen-hayabusa-f-s-takara-tomy">aktuelle Shinkansen-Baureihe</a>.</p>
<p>Problem ist nur, dass Neffe und Nichte mittelfristig selbst zu alt werden dafür. Da hilft nur doch noch selber Kinder in die Welt setzen - oder auf die nächste Generation warten.</p>
]]></content:encoded>
    </item>
    <item>
      <title>30 Jahre Windows 95 - 30 Jahre Spaß am Gerät</title>
      <link>https://niklas-deutschmann.de/posts/30-jahre-windows-95/</link>
      <pubDate>Thu, 28 Aug 2025 19:05:16 +0200</pubDate>
      <guid>https://niklas-deutschmann.de/posts/30-jahre-windows-95/</guid>
      <description>&lt;p&gt;Bei Heise gab’s vor kurzem &lt;a href=&#34;https://www.heise.de/hintergrund/Warum-Microsoft-mit-Windows-95-den-modernen-PC-definierte-10590863.html&#34;&gt;diesen schönen Artikel&lt;/a&gt;, der eine Menge nostalgischer Erinnerungen ausgelöst hat. In den Kommentaren sagen einige, dieser Artikel sei zu Microsoft-freundlich, aber mein IT-Leben begann schon kurz vor Windows 95 und Linux spielte dann schon wenige Jahre später auch eine Rolle. Aber mal schön der Reihe nach&amp;hellip;&lt;/p&gt;
&lt;p&gt;Das hier&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;Damit wurden schließlich auch bei den großen PC-Ketten Escom und Vobis Computer mit vorinstalliertem OS/2 verkauft.&#34; loading=&#34;lazy&#34; src=&#34;https://niklas-deutschmann.de/images/30-jahre-windows-95-zitat-01.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;..habe ich nämlich direkt miterlebt, bei meinem ersten wirklich „eigenen“ PC. Meine Mutter hatte schon ein paar Jahre lang einen 286er, den sie hauptsächlich für Textverarbeitung mit Word Perfect 5.1 benutzt hat, aber da durften wir Kinder nie wirklich viel ran.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Bei Heise gab’s vor kurzem <a href="https://www.heise.de/hintergrund/Warum-Microsoft-mit-Windows-95-den-modernen-PC-definierte-10590863.html">diesen schönen Artikel</a>, der eine Menge nostalgischer Erinnerungen ausgelöst hat. In den Kommentaren sagen einige, dieser Artikel sei zu Microsoft-freundlich, aber mein IT-Leben begann schon kurz vor Windows 95 und Linux spielte dann schon wenige Jahre später auch eine Rolle. Aber mal schön der Reihe nach&hellip;</p>
<p>Das hier</p>
<p><img alt="Damit wurden schließlich auch bei den großen PC-Ketten Escom und Vobis Computer mit vorinstalliertem OS/2 verkauft." loading="lazy" src="/images/30-jahre-windows-95-zitat-01.png"></p>
<p>..habe ich nämlich direkt miterlebt, bei meinem ersten wirklich „eigenen“ PC. Meine Mutter hatte schon ein paar Jahre lang einen 286er, den sie hauptsächlich für Textverarbeitung mit Word Perfect 5.1 benutzt hat, aber da durften wir Kinder nie wirklich viel ran.</p>
<p>Es war ein <strong>Riesenfehler</strong> von den Einzelhandelsketten, Rechner mit vorinstalliertem OS/2 und 4 MB RAM zu verkaufen. Genau so viel hatte nämlich meine Vobis-Kiste, ungefähr die ganz links hier (<a href="https://archive.org/details/vobis-denkzettel-1993-05-21/Vobis%20Denkzettel%201995-02-02/page/n3/mode/2up">Quelle</a>)</p>
<p><img alt="Ausschnitte aus dem Vobis-Prospekt von Februar 1995" loading="lazy" src="/images/30-jahre-windows-95-denkzettel-01.png"></p>
<p>Es war&hellip; vermutlich das langsamste digitale Endgerät, das ich jemals hatte. 5 Minuten zum Booten und dann noch mal mehrere Minuten für jeden Programmstart. Es hat damals <strong>Monate</strong> gedauert, bis ich herausgefunden hatte, wie man den „Win-OS/2-Gesamtbildschirm“ startet (die Windows 3.11-Oberfläche im Vollbildmodus), was die Sache etwas erträglicher gemacht hat. Und noch mal Monate, bis ich herausgefunden hatte, wie man direkt in DOS bootet und ab diesem Zeitpunkt war’s dann halt ein DOS + Windows 3.11 PC.</p>
<p>So viel zum Thema Erfolgschancen von OS/2. Immerhin war dadurch meine erste Programmiersprache dadurch <a href="https://de.wikipedia.org/wiki/REXX">REXX</a>, die Skriptsprache von OS/2, und nicht BASIC oder Turbo Pascal.</p>
<p>Es sei noch erwähnt, dass</p>
<ul>
<li>4 MB RAM damals 350 DM kosteten.</li>
<li>Das mit dem „Aufgrund erhöhter Nachfrage ist nicht immer alles sofort lieferbar“ auch gestimmt hat (Gerät im November 94 bestellt, im Januar 95 konnten wir es abholen)</li>
</ul>
<p>Und wann gab’s dann tatsächlich Windows 95? Mit dem PC Nr. 2 zwei Jahre später. Das war dann schon eine andere Geschichte (Pentium 133, 16 MB RAM), und vor allem bekam diese Maschine dann schon bald:</p>
<ul>
<li>32 MB RAM</li>
<li>Eine Soundkarte (endlich!)</li>
<li>Eine 3Dfx-Beschleunigerkarte. Damit konnte dann schon richtig die Post abgehen in Spielen wie Half-Life, FIFA 98, Bleifuss 2, Need for Speed 2 oder dem Microsoft Flugsimulator 98.</li>
</ul>
<p>Und 1998 kam dann auch dieses Betriebssystem namens „SuSE“ (Version 6.0) dazu, dass damals noch in Buchhandlungen in Schachteln mit mathematischen Gebilden darauf verkauft wurde&hellip;</p>
]]></content:encoded>
    </item>
    <item>
      <title>Peak AI Hype?</title>
      <link>https://niklas-deutschmann.de/posts/peak-ai-hype/</link>
      <pubDate>Sun, 24 Aug 2025 21:35:16 +0200</pubDate>
      <guid>https://niklas-deutschmann.de/posts/peak-ai-hype/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.theverge.com/news/761338/microsoft-excel-ai-copilot-spreadsheet-cell-filling&#34;&gt;Microsoft baut noch mehr Copilot-Funktionalität in Excel ein&lt;/a&gt; und warnt gleichzeitig davor, sie für &amp;hellip;äh&amp;hellip; eigentlich alles zu benutzen, was man mit einer Tabellenkalkulation macht.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Microsoft also warns against using the AI function for numerical calculations or in “high-stakes scenarios” with legal, regulatory, and compliance implications, as COPILOT “can give incorrect responses.”&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Was auch noch dazugehört: Vor 5 Monaten &lt;a href=&#34;https://www.businessinsider.com/anthropic-ceo-ai-90-percent-code-3-to-6-months-2025-3&#34;&gt;hat der Anthropic-CEO vorhergesagt&lt;/a&gt;, dass KI in 3-6 Monaten 90% des Codes schreiben wird.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://www.theverge.com/news/761338/microsoft-excel-ai-copilot-spreadsheet-cell-filling">Microsoft baut noch mehr Copilot-Funktionalität in Excel ein</a> und warnt gleichzeitig davor, sie für &hellip;äh&hellip; eigentlich alles zu benutzen, was man mit einer Tabellenkalkulation macht.</p>
<blockquote>
<p>Microsoft also warns against using the AI function for numerical calculations or in “high-stakes scenarios” with legal, regulatory, and compliance implications, as COPILOT “can give incorrect responses.”</p></blockquote>
<p>Was auch noch dazugehört: Vor 5 Monaten <a href="https://www.businessinsider.com/anthropic-ceo-ai-90-percent-code-3-to-6-months-2025-3">hat der Anthropic-CEO vorhergesagt</a>, dass KI in 3-6 Monaten 90% des Codes schreiben wird.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Wie soziale Netzwerke die Wirklichkeit verzerren (eine Anekdote)</title>
      <link>https://niklas-deutschmann.de/posts/wie-soziale-netzwerke-die-wirklichkeit-verzerren/</link>
      <pubDate>Mon, 18 Aug 2025 05:50:00 +0200</pubDate>
      <guid>https://niklas-deutschmann.de/posts/wie-soziale-netzwerke-die-wirklichkeit-verzerren/</guid>
      <description>&lt;p&gt;Ich habe gestern folgendes bei Mastodon und Bluesky gepostet und kurze Zeit später wieder gelöscht:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Gerade in der S-Bahn angeschnauzt worden, weil ich ein Gepäckstück eigenmächtig bewegt habe&lt;/p&gt;
&lt;p&gt;JA DANN STELL HALT DEINEN 1-KUBIKMETER-KOFFER NICHT SO HIN, DASS ER ZWEI ANDERE SITZPLÄTZE BLOCKIERT, USCHI&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Ich habe es krawalliger formuliert, als in der Realität war. Ich habe zwei Menschen angesprochen und im gleichen Moment schon den Koffer beiseite geschoben - aber die falschen zwei Menschen. Der Koffer gehörte der Person im Sitz gegenüber und nicht dem Paar eine Sitzreihe weiter. Es war zwar objektiv rücksichtslos und die Person hätte nicht so ausrasten sollen, aber mit 10 Sekunden warten und herumfragen hätte ich die Situation vielleicht vermeiden können.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Ich habe gestern folgendes bei Mastodon und Bluesky gepostet und kurze Zeit später wieder gelöscht:</p>
<blockquote>
<p>Gerade in der S-Bahn angeschnauzt worden, weil ich ein Gepäckstück eigenmächtig bewegt habe</p>
<p>JA DANN STELL HALT DEINEN 1-KUBIKMETER-KOFFER NICHT SO HIN, DASS ER ZWEI ANDERE SITZPLÄTZE BLOCKIERT, USCHI</p></blockquote>
<p>Ich habe es krawalliger formuliert, als in der Realität war. Ich habe zwei Menschen angesprochen und im gleichen Moment schon den Koffer beiseite geschoben - aber die falschen zwei Menschen. Der Koffer gehörte der Person im Sitz gegenüber und nicht dem Paar eine Sitzreihe weiter. Es war zwar objektiv rücksichtslos und die Person hätte nicht so ausrasten sollen, aber mit 10 Sekunden warten und herumfragen hätte ich die Situation vielleicht vermeiden können.</p>
<p>Achtet mal darauf, ob ihr Dinge online „krawalliger“ beschreibt, als sie tatsächlich waren, um Likes abzugreifen.</p>
<p>Im Übrigen bin ich der Meinung, dass es in Zügen regelmäßig Durchsagen geben sollte: „Bitte belegen Sie mit Ihrem Gepäck keine Sitzplätze“</p>
]]></content:encoded>
    </item>
    <item>
      <title>Europäische Alternativen zu Microsoft, Facebook &amp; Co (Ergänzung)</title>
      <link>https://niklas-deutschmann.de/posts/europaeische-alternativen-2/</link>
      <pubDate>Sun, 17 Aug 2025 13:06:16 +0200</pubDate>
      <guid>https://niklas-deutschmann.de/posts/europaeische-alternativen-2/</guid>
      <description>&lt;p&gt;Noch ein paar Ergänzungen zum vorigen Artikel:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Kalender und Notizen in iPhone und Thunderbird von iCloud auf Posteo umzustellen, war kinderleicht, und ich habe es bloß aus Faulheit lange nicht gemacht :-)&lt;/li&gt;
&lt;li&gt;Möglicherweise brauche ich doch wieder einen Github-Account - für die Zusammenarbeit mit anderen OpenSource-Projekten. Ich habe im &lt;a href=&#34;https://github.com/adityatelange/hugo-PaperMod&#34;&gt;Template&lt;/a&gt;, das für diese Seite verwendet wird, &lt;a href=&#34;https://codeberg.org/SonstHarmlos/hugo-PaperMod/issues/1&#34;&gt;einen Bug&lt;/a&gt; gefunden, und konnte ihn erst mal nur für &lt;a href=&#34;https://codeberg.org/SonstHarmlos/hugo-PaperMod&#34;&gt;meinen Fork&lt;/a&gt; &lt;a href=&#34;https://codeberg.org/SonstHarmlos/hugo-PaperMod/commit/7b45c18a39895f12ba33666d289675db801909a2&#34;&gt;fixen&lt;/a&gt; - aber ihn nicht beim Originalprojekt in Github eintragen und keinen Pull Request erstellen.&lt;/li&gt;
&lt;li&gt;Bei &lt;strong&gt;Grafiksoftware&lt;/strong&gt; (Pixel- und Vektorgrafik sowie Desktop Publishing) ist die britisch-australische Firma Serif mit &lt;a href=&#34;https://affinity.serif.com/de/&#34;&gt;Affinity Photo, Affinity Designer und Affinity Publisher&lt;/a&gt; eine gute Alternative zur Adobe-Cloud. Leider nicht für Linux - aber zu sehr fairen Preisen (180€ für alle Programme auf allen unterstützen Betriebssystemen) und ohne Abo-Zwang. Serif wurde zwar 2024 vom australischen Unternehmen &lt;a href=&#34;https://www.canva.com&#34;&gt;Canva&lt;/a&gt; aufgekauft, bis jetzt hat sich aber an der Preispolitik nichts geändert.&lt;/li&gt;
&lt;li&gt;Hier läuft jetzt auch &lt;a href=&#34;https://nextcloud.com/de/&#34;&gt;NextCloud&lt;/a&gt; - es hat mich überrascht, wie gut es auf einem relativ günstigen Webspace mit LAMP-Stack läuft, zumindest mit wenig Usern, auch wenn nicht alle Funktionen zur Verfügung stehen. Aber zum Fotos hochladen sieht es ganz OK aus (Immich läuft nämlich leider nicht bei mir) und ich habe auch eine &lt;a href=&#34;https://apps.nextcloud.com/apps/news&#34;&gt;RSS-Reader-„App“&lt;/a&gt; gefunden.&lt;/li&gt;
&lt;/ul&gt;</description>
      <content:encoded><![CDATA[<p>Noch ein paar Ergänzungen zum vorigen Artikel:</p>
<ul>
<li>Kalender und Notizen in iPhone und Thunderbird von iCloud auf Posteo umzustellen, war kinderleicht, und ich habe es bloß aus Faulheit lange nicht gemacht :-)</li>
<li>Möglicherweise brauche ich doch wieder einen Github-Account - für die Zusammenarbeit mit anderen OpenSource-Projekten. Ich habe im <a href="https://github.com/adityatelange/hugo-PaperMod">Template</a>, das für diese Seite verwendet wird, <a href="https://codeberg.org/SonstHarmlos/hugo-PaperMod/issues/1">einen Bug</a> gefunden, und konnte ihn erst mal nur für <a href="https://codeberg.org/SonstHarmlos/hugo-PaperMod">meinen Fork</a> <a href="https://codeberg.org/SonstHarmlos/hugo-PaperMod/commit/7b45c18a39895f12ba33666d289675db801909a2">fixen</a> - aber ihn nicht beim Originalprojekt in Github eintragen und keinen Pull Request erstellen.</li>
<li>Bei <strong>Grafiksoftware</strong> (Pixel- und Vektorgrafik sowie Desktop Publishing) ist die britisch-australische Firma Serif mit <a href="https://affinity.serif.com/de/">Affinity Photo, Affinity Designer und Affinity Publisher</a> eine gute Alternative zur Adobe-Cloud. Leider nicht für Linux - aber zu sehr fairen Preisen (180€ für alle Programme auf allen unterstützen Betriebssystemen) und ohne Abo-Zwang. Serif wurde zwar 2024 vom australischen Unternehmen <a href="https://www.canva.com">Canva</a> aufgekauft, bis jetzt hat sich aber an der Preispolitik nichts geändert.</li>
<li>Hier läuft jetzt auch <a href="https://nextcloud.com/de/">NextCloud</a> - es hat mich überrascht, wie gut es auf einem relativ günstigen Webspace mit LAMP-Stack läuft, zumindest mit wenig Usern, auch wenn nicht alle Funktionen zur Verfügung stehen. Aber zum Fotos hochladen sieht es ganz OK aus (Immich läuft nämlich leider nicht bei mir) und ich habe auch eine <a href="https://apps.nextcloud.com/apps/news">RSS-Reader-„App“</a> gefunden.</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Europäische Alternativen zu Microsoft, Facebook &amp; Co</title>
      <link>https://niklas-deutschmann.de/posts/europaeische-alternativen/</link>
      <pubDate>Sat, 16 Aug 2025 08:27:16 +0200</pubDate>
      <guid>https://niklas-deutschmann.de/posts/europaeische-alternativen/</guid>
      <description>&lt;p&gt;Spätestens seit Trump II ist es offensichtlich, dass Europa in vielen Bereichen mehr auf eigenen Füßen
stehen muss, dazu gehört neben den miltärischen Fähigkeiten (darauf werde ich jetzt nicht näher eingehen) vor allem
das Digitale. Ich habe in den letzten Monaten - aber auch schon davor - versucht, Hardware, Software und Dienste von
US-Tech-Giganten durch europäische Alternativen zu ersetzen. In einigen Bereichen war ich dabei sehr erfolgreich,
in anderen ist es sehr schwierig. Ich möchte mal einen kleinen Überblick geben:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Spätestens seit Trump II ist es offensichtlich, dass Europa in vielen Bereichen mehr auf eigenen Füßen
stehen muss, dazu gehört neben den miltärischen Fähigkeiten (darauf werde ich jetzt nicht näher eingehen) vor allem
das Digitale. Ich habe in den letzten Monaten - aber auch schon davor - versucht, Hardware, Software und Dienste von
US-Tech-Giganten durch europäische Alternativen zu ersetzen. In einigen Bereichen war ich dabei sehr erfolgreich,
in anderen ist es sehr schwierig. Ich möchte mal einen kleinen Überblick geben:</p>
<h3 id="hardware">Hardware</h3>
<p>Hier gibt es zur Zeit (neben dem PC) ein iPhone 12 mini (Apple), eine Sportuhr von Garmin und einen Radcomputer von
Wahoo. Solange diese Hardware funktioniert, werde ich sie auch weiterbenutzen. Würde ich jetzt eine neue
Sportuhr kaufen, käme möglicherweise <a href="https://www.polar.com/de">Polar</a> (Finnland)
in Frage und beim Radcomputer der deutsche Hersteller <a href="https://sigma.bike/de/product-category/bike-computer/">Sigma</a></p>
<h3 id="betriebssysteme">Betriebssysteme</h3>
<p>Gerade auf dem PC von Windows 10 auf <a href="https://linuxmint.com/">Linux Mint</a> umgestiegen,
das ist aber nichts neues - ich hatte seit ca. 1999 immer wieder mal Linux auf meinen Rechnern (SuSE, Debian, Ubuntu
seit der ersten Version 2004 und Elementary OS, etwa in dieser Reihenfolge). Auf dem Smartphone ist natürlich iOS nicht ersetzbar,
Android höchstens durch eine Google-freiere Variante. Wenn das iPhone den Geist aufgibt, käme evtl. ein Google Pixel mit
<a href="https://grapheneos.org/">Graphene OS</a> in Frage.</p>
<h3 id="browser">Browser</h3>
<p>Firefox statt Internet Explorer, Chrome oder Edge - das war schon immer so. Nehme ich gar nicht als
bewussten Schritt wahr.</p>
<h3 id="e-mail">E-Mail</h3>
<p>Ähnlich - statt Google Mail oder Outlook schon seit 2014 <a href="https://posteo.de">Posteo</a>, eine
kleiner und symphatischer Anbieter aus Berlin, bei dem ihr ab 1 Euro/Monat (abhängig vom gewünschten Speicherplatz) dabei
seid. Vorher auch schon die üblichen deutschen Freemail-Anbieter (GMX, Web.de und Strato)</p>
<h3 id="messenger">Messenger</h3>
<p>WhatsApp ist installiert, aber deutlich mehr Kontakte habe ich bei <a href="https://signal.org/de/">Signal</a>
und einige wenige bei <a href="https://threema.com/de">Threema</a>. Telegram spielt keinerlei Rolle mehr.</p>
<h3 id="office">Office</h3>
<p>LibreOffice statt Microsoft war im privaten Bereich schon immer so (früher hieß es OpenOffice),
ebenfalls ein absoluter „No-Brainer&quot;. Etwas schwieriger ist es bei den browserbasierten Office-Programmen.
Ich benutze diese nicht besonders oft, habe aber trotzdem mal einen Account bei
<a href="https://cryptpad.fr/">CryptPad</a> angelegt. Es ist aber deutlich hakeliger als Google Drive und fühlt sich
weniger geschmeidig und desktop-artig an.</p>
<h3 id="soziale-netzwerke">Soziale Netzwerke</h3>
<p>Sicher das spannende und emotionalste Kapitel.</p>
<p><strong>X</strong> habe ich schon zu Silvester 2022, kurz nach
der Übernahme durch Elon Musk, verlassen, als es noch Twitter hieß. Der einzige Ersatz war zunächst nur
<a href="https://sueden.social/@SonstHarmlos">Mastodon</a>, einige Kontakte sind aber auch zu
<a href="https://bsky.app/profile/sonstharmlos.bsky.social">Bluesky</a> gewandert,
ein kommerzielles, aber deutlich kleineres und bis jetzt halbwegs vernünftiges US-Unternehmen, dessen Netzwerk
deutlich an das „alte&quot; Twitter erinnert. <!-- raw HTML omitted --></p>
<p><strong>Instagram</strong> hat sich bis vor kurzem hartnäckig gehalten, wenn auch mit viel
Schauen und wenig selbst Posten. Ende April 2025 war damit aber auch Schluss.<!-- raw HTML omitted --></p>
<p><strong>Facebook</strong> war schon immer eine On-Off-Geschichte, zuletzt war ich 2024 für ein paar Monate während
dort (während des StuB-Wahlkampfs hier in Erlangen)</p>
<p>Bei <strong>LinkedIn</strong>, <strong>TikTok</strong> und <strong>Threads</strong> hatte ich noch nie einen Account und plane es auch nicht.<!-- raw HTML omitted --></p>
<p>Schwer zu ersetzen bleiben <strong>Strava</strong>, <strong>Reddit</strong> und <strong>YouTube</strong> - letzteres betreibe ich auch nur im
„passiven&quot; Modus.</p>
<h3 id="kartendienste">Kartendienste</h3>
<p>Hier ist Google Maps für viele Dinge schwer zu ersetzen (bzw. ich habe es noch nicht wirklich
ausprobiert). Street View dient natürlich auch als Grundlage für Geoguessr, das ich oft spiele.<!-- raw HTML omitted -->
Im Wander- und Fahrradbereich hat sich aber der <a href="https://bikerouter.de">BikeRouter</a> sehr bewährt (so
sehr, dass ich z.B. extrem selten Komoot benutzt habe), und als mobile App ist <a href="https://www.comaps.app/">CoMaps</a> sehr
vielversprechend.</p>
<h3 id="ki">KI</h3>
<p>Wie schon gesagt, das superheiße Thema im Moment und auch sehr umstritten! Ich habe die bewusste Entscheidung
getroffen, als einzige KI-App auf dem Smartphone das französische <a href="https://chat.mistral.ai/chat">Mistral</a> zu
installieren und benutze es recht sparsam (hauptsächlich, um Bildbeschreibungen für Posts bei Mastodon und Bluesky zu
generieren). Bei den <a href="https://sonstharmlos.codeberg.page/#summer-of-ai">gerade beschriebenen</a>
Programmierexperimenten bin ich aber stark auf US-Modelle angewiesen (GPT 5, Claude 4). Ich habe auch die bewusste
Entscheidung getroffen, für KI privat kein Geld auszugeben - die Kosten dürften grob mit dem Token-Verbrauch bzw. der
Rechenleistung korrellieren und diese mit den CO2-Emissionen.</p>
<h3 id="softwareentwicklung">Softwareentwicklung</h3>
<p>Gerade auch von GitHub zu <a href="https://codeberg.org/">Codeberg</a> gewechselt - auch die
Seite, die ihr hier gerade lest, liegt dort. Ob ich wirklich dauerhaft ohne GitHub-Account auskommen kann, ist aber fraglich,
wenn ich zu anderen Open-Source-Projekten etwas beitragen oder die diversen Dienste nutzen möchte, die einen GitHub-Account
voraussetzen.</p>
<h3 id="shopping-und-e-books">Shopping und E-Books</h3>
<p>Ein Account bei Amazon ist auch vorhanden, wird aber nicht sehr stark benutzt, vielleicht 3-4 Einkäufe im Jahr.
Als E-Book-Reader habe ich seit Ende 2022 (oder so) einen <a href="https://mytolino.de/">Tolino</a>.</p>
<h3 id="streaming-und-musik">Streaming und Musik</h3>
<p>Hierzu kann ich nicht so viel sagen, da ich kein großer Film- oder Serienjunkie bin und mir für Dokus YouTube und die
öffentlich-rechtlichen Mediatheken meistens ausreichen. Ich hatte für einige Jahre Netflix (im Moment aber nicht)
und habe auch schon einige Male Spielfilme bei Amazon Prime Video geschaut. Welcher Streaming-Dienst der geeignetste
ist, hängt auch stark von den eigenen Lieblingsserien und Vorlieben ab.<!-- raw HTML omitted -->
Ähnlich bei Musik - hier habe ich bis jetzt immer Apple Music benutzt. Spotify, der dominierende Konzern hier,
der <a href="https://de.wikipedia.org/wiki/Spotify#Kritik">in vielen Bereichen fragwürdig</a> ist, ist auch kein
US-amerikanisches, sondern ein schwedisches Unternehmen.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Summer of AI</title>
      <link>https://niklas-deutschmann.de/posts/summer-of-ai/</link>
      <pubDate>Fri, 15 Aug 2025 20:21:16 +0200</pubDate>
      <guid>https://niklas-deutschmann.de/posts/summer-of-ai/</guid>
      <description>&lt;p&gt;Künstliche Intelligenz ist ja spätestens seit dem Erscheinen von ChatGPT Ende 2022 das superheiße Thema und
hat vorherige Tech-Hypes wie Kryptowährungen weitgehend abgelöst. Ich hatte da natürlich meine Ausprobierphase, aber insgesamt
war die Entwicklung bis vor kurzem so, dass mein Bild immer negativer wurde. Grund dafür sind z.B. der immense
Ressourcenverbrauch, die noch weitergehenden Möglichkeiten, die öffentliche Meinung zu manipulieren, und auch die enge
Bande zwischen vielen Silicon-Valley-Größen und der Trump-Administration. Es wird &lt;a href=&#34;https://www.wertstoffsammler.info/kuenstliche-intelligenz-braucht-echte-verantwortung-mit-johannes-link/&#34;&gt;hier in diesem Podcast&lt;/a&gt; ganz gut zusammengefasst. Ich habe schon angefangen, an meinem Beruf zu zweifeln, und mich zu fragen, ob ich überhaupt damit in Verbindung gebracht werden möchte.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Künstliche Intelligenz ist ja spätestens seit dem Erscheinen von ChatGPT Ende 2022 das superheiße Thema und
hat vorherige Tech-Hypes wie Kryptowährungen weitgehend abgelöst. Ich hatte da natürlich meine Ausprobierphase, aber insgesamt
war die Entwicklung bis vor kurzem so, dass mein Bild immer negativer wurde. Grund dafür sind z.B. der immense
Ressourcenverbrauch, die noch weitergehenden Möglichkeiten, die öffentliche Meinung zu manipulieren, und auch die enge
Bande zwischen vielen Silicon-Valley-Größen und der Trump-Administration. Es wird <a href="https://www.wertstoffsammler.info/kuenstliche-intelligenz-braucht-echte-verantwortung-mit-johannes-link/">hier in diesem Podcast</a> ganz gut zusammengefasst. Ich habe schon angefangen, an meinem Beruf zu zweifeln, und mich zu fragen, ob ich überhaupt damit in Verbindung gebracht werden möchte.</p>
<p>Das hat sich in den letzten 2-3 Wochen ein wenig geändert. Ich habe nämlich das sogenannte „Vibe Coding“ für mich entdeckt.
Der Begriff ist erst Anfang diesen Jahres entstanden und bezeichnet eine Art des Programmierens, bei der der Code zu (fast)
100% von einer KI generiert wird, so dass man nur noch mit Anweisungen in natürlicher Sprache formuliert, wie das Programm
sich verhalten soll. Im Beruf kannte ich zwar schon ein KI-Tool, die Nutzung beschränkte sich aber im Wesentlichen darauf, die
KI wie eine Suchmaschine zu fragen, oder vielleicht mal ein paar Kommentare, Doku oder Tests zu generieren. Bei einer deutlich
sechsstelligen Anzahl Codezeilen ist man natürlich auch sehr vorsichtig und möchte nichts kaputtmachen. Vollgas geben, und wirklich
mal testen, was geht, kann ich nur zu Hause.</p>
<p>Das begann mit <a href="https://claude.ai/">Claude</a> und einer <a href="https://niklas-deutschmann.de/timer/">kleinen Timer-App</a>. Schon hier war es beeindruckend, einfach sagen zu können „Bau mal das ganze Progressive-Webapp-Zeug ein,
damit es auf dem Smartphone gut aussieht“ - aber ich musste auch ein paar Dinge von Hand reparieren. Als nächstes kam dann
etwas, was ich schon immer mal haben wollte: Die Möglichkeit, in meinem sehr geschätzten <a href="https://www.geoguessr.com/">GeoGuessr</a>
die in den letzten Monaten „besuchten“ Orte als KML-Datei zu <a href="https://codeberg.org/SonstHarmlos/gg2kml">exportieren</a>,
um sie in Google Earth usw. darstellen zu können.
Hier wurde schon eine „inoffizielle“ <a href="https://efisha.com/2022/04/18/geoguessr-api-endpoints/">API</a> benutzt und ich
achtete ein wenig darauf, den Server nicht mit Requests zu bombardieren, um nicht den Account gesperrt zu bekommen.</p>
<p>Was habe ich jetzt bei dem Ganzen gelernt?</p>
<ul>
<li>Es ist cool, mal wieder ein paar Hobbyprojekte zu haben. Die paar, die ich vorher auf Github hatte, waren sehr klein
und/oder sehr angestaubt.</li>
<li>Man kann jetzt Dinge in Programmcode gießen, so schnell, wie man denken kann. Nicht mehr nur so schnell, wie man
den Programmcode tippen kann. Man muss es nur noch in natürlicher Sprache tippen (viel kompakter)</li>
<li>Das lässt es für das Management so attraktiv aussehen. Das Management bleibt in dieser Stufe der Begeisterung stehen,
weil es ja hauptsächlich an schnellen Ergebnissen interessiert ist, und nicht daran, wie sie zustandekommen.
Und auch nicht immer daran, wie das Produkt langfristig betrieben und gewartet werden soll.</li>
<li>Grundsätzlich gab es früher schon Tools, um schnell und mit wenig Programmierkenntnissen zu vorzeigbaren Ergebnissen zu
kommen („Rapid Application Development“, „Low Code“ usw., was auch immer das aktuelle Buzzword ist), diese waren aber
deterministisch im Gegensatz zu natürlicher Sprache.</li>
<li>Natürliche Sprache ist unpräzise und doppeldeutig im Vergleich zu Programmcode und dadurch entstehen Fehler.
Fehler entstehen aber auch so. Wo Software entwickelt wird, entstehen immer Fehler. Mehr oder weniger.
Es geht darum, sie schnell zu finden, je früher, desto kostengünstiger und nervenschonender ist die Behebung.</li>
<li>Das „Vibe Coding“ kam mir jetzt manchmal so vor, als hätte ich einen immer freundlichen und willigen Junior-Entwickler zur
Verfügung, der im Prinzip alles auswendig weiß, aber ein bisschen schusselig ist, beaufsichtigt werden muss und auch
nur zwei Stunden am Tag arbeiten kann (im kostenlosen Plan von Claude&hellip;)</li>
<li>Man begibt sich stark in Abhängigkeiten und gibt Produktionsmittel aus der Hand, wenn man ohne KI nichts mehr
entwickeln kann. LLMs von Grund auf aufsetzen und trainieren können aufgrund der immensen benötigten Rechenleistung
nur große Unternehmen.</li>
<li>Es wurde schon viel darüber geschrieben, das die ganze Technologie strukturell „rechts“ oder konservativ sei (weil z.B.
immer nur vorhandene Kulturgüter wiedergekäut werden, anstatt etwas wirklich neues zu schaffen), aber ein entscheidender
Aspekt fehlt da noch: Man gewöhnt sich daran, Befehle zu geben, die widerspruchslos befolgt werden.</li>
<li>Etwa das, was Jürgen Geuter hier als <a href="https://tante.cc/2025/07/30/friction-and-not-being-touched/">„Reibungslosigkeit“</a> bezeichnet. Die Illusion einer Welt, die auf einen zugeschnitten ist. Dabei brauchen wir die „Reibung“, um die Bedürfnisse anderer Menschen zu erkennen und zu sozialen Wesen zu werden.</li>
<li>Du hast <em>etwas</em>, das deine Befehle stets willig ausführt. Das dir nie widerspricht. Ich habe noch keine KI gesehen, die mir gesagt hat „Nein, das geht so nicht. Überleg dir etwas anderes.&quot; Ich habe noch keine KI mit einer <em>Meinung</em> gesehen. Das muss irgendwann auf den Umgang mit Menschen abfärben.</li>
<li>Ich kann jetzt besser nachvollziehen, wie die Musks und Thiels denken.</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Setzt Vibe Coding eine alte Tradition fort?</title>
      <link>https://niklas-deutschmann.de/posts/vibe-coding-alte-tradition/</link>
      <pubDate>Thu, 14 Aug 2025 10:45:00 +0200</pubDate>
      <guid>https://niklas-deutschmann.de/posts/vibe-coding-alte-tradition/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://mastodon.social/@mschfr&#34;&gt;@mschfr&lt;/a&gt; am &lt;a href=&#34;https://mastodon.social/@mschfr/115022500442848113&#34;&gt;13.08.2025&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Das wirklich coole an KI ist, dass es einem selbst eine neue Welt des wirklichen Personal Computings ermöglicht: Ich kann so mittel programmieren, aber definitiv nicht professionell und habe auch keine riesige Erfahrung im täglichen Umgang. Aber ich hab jetzt einfach so nach Feierabend, weil ich eine Idee hatte, ein Firefox-Addon gebastelt ohne vorher Ahnung gehabt zu haben, wie das geht.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Wäre das dann vielleicht so etwas wie Basic? Basic war für viele auf dem Commodore 64, Amiga oder unter MS-DOS die erste Programmiersprache. Mit Visual Basic konnte man mit relativ geringen Programmierkenntnissen kleine Desktop-Anwendungen für Windows entwickeln, die von Profis immer etwas belächelt wurden.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://mastodon.social/@mschfr">@mschfr</a> am <a href="https://mastodon.social/@mschfr/115022500442848113">13.08.2025</a>:</p>
<blockquote>
<p>Das wirklich coole an KI ist, dass es einem selbst eine neue Welt des wirklichen Personal Computings ermöglicht: Ich kann so mittel programmieren, aber definitiv nicht professionell und habe auch keine riesige Erfahrung im täglichen Umgang. Aber ich hab jetzt einfach so nach Feierabend, weil ich eine Idee hatte, ein Firefox-Addon gebastelt ohne vorher Ahnung gehabt zu haben, wie das geht.</p></blockquote>
<p>Wäre das dann vielleicht so etwas wie Basic? Basic war für viele auf dem Commodore 64, Amiga oder unter MS-DOS die erste Programmiersprache. Mit Visual Basic konnte man mit relativ geringen Programmierkenntnissen kleine Desktop-Anwendungen für Windows entwickeln, die von Profis immer etwas belächelt wurden.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Sind LLMs wie Spielautomaten?</title>
      <link>https://niklas-deutschmann.de/posts/sind-llms-wie-spielautomaten/</link>
      <pubDate>Wed, 13 Aug 2025 13:21:16 +0200</pubDate>
      <guid>https://niklas-deutschmann.de/posts/sind-llms-wie-spielautomaten/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://mamot.fr/@pluralistic/115033250480201431&#34;&gt;Sehr gute Beobachtung vom großen Cory Doctorow&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;LLMs are like slot machines, in that an incorrect answer (the slot machine eating your dollar) is unremarkable, while the LLM solving a problem (a jackpot) is amazing, and the latter stands out in your memory, causing you to overestimate the reliability of LLMs.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Der &lt;a href=&#34;https://blog.glyph.im/2025/08/futzing-fraction.html&#34;&gt;Blogbeitrag&lt;/a&gt;, auf den er sich bezieht, ist auch lesenswert.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://mamot.fr/@pluralistic/115033250480201431">Sehr gute Beobachtung vom großen Cory Doctorow</a></p>
<blockquote>
<p>LLMs are like slot machines, in that an incorrect answer (the slot machine eating your dollar) is unremarkable, while the LLM solving a problem (a jackpot) is amazing, and the latter stands out in your memory, causing you to overestimate the reliability of LLMs.</p></blockquote>
<p>Der <a href="https://blog.glyph.im/2025/08/futzing-fraction.html">Blogbeitrag</a>, auf den er sich bezieht, ist auch lesenswert.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Braucht Nürnberg eine Magnetschwebebahn?</title>
      <link>https://niklas-deutschmann.de/posts/braucht-nuernberg-eine-magnetschwebebahn/</link>
      <pubDate>Tue, 12 Aug 2025 13:21:16 +0200</pubDate>
      <guid>https://niklas-deutschmann.de/posts/braucht-nuernberg-eine-magnetschwebebahn/</guid>
      <description>&lt;p&gt;Die kurze Antwort: &lt;strong&gt;Nein&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Die etwas längere Antwort: Auch wenn Markus Söder es immer wieder suggeriert - die Magnetschwebebahn ist kein besonders neues oder revolutionäres Verkehrsmittel. Schon Ende der 80er Jahre war in Berlin die &lt;a href=&#34;https://de.wikipedia.org/wiki/M-Bahn&#34;&gt;M-Bahn&lt;/a&gt; am damaligen Niemandsland am Potsdamer Platz unterwegs. Diese wurde aber nach der Wiedervereinigung sehr schnell abgerissen, da sie der Wiederherstellung der durch die Mauer unterbrochenen Strecke der U2 im Weg stand. Der &lt;a href=&#34;de.wikipedia.org/wiki/Transrapid_Shanghai&#34;&gt;Transrapid Shanghai&lt;/a&gt; fährt auch schon seit 2004 zwischen dem Flughafen und&amp;hellip; einer Station weit außerhalb der Innenstadt, was auch die eher bescheidenen Fahrgastzahlen begründet.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Die kurze Antwort: <strong>Nein</strong></p>
<p>Die etwas längere Antwort: Auch wenn Markus Söder es immer wieder suggeriert - die Magnetschwebebahn ist kein besonders neues oder revolutionäres Verkehrsmittel. Schon Ende der 80er Jahre war in Berlin die <a href="https://de.wikipedia.org/wiki/M-Bahn">M-Bahn</a> am damaligen Niemandsland am Potsdamer Platz unterwegs. Diese wurde aber nach der Wiedervereinigung sehr schnell abgerissen, da sie der Wiederherstellung der durch die Mauer unterbrochenen Strecke der U2 im Weg stand. Der <a href="de.wikipedia.org/wiki/Transrapid_Shanghai">Transrapid Shanghai</a> fährt auch schon seit 2004 zwischen dem Flughafen und&hellip; einer Station weit außerhalb der Innenstadt, was auch die eher bescheidenen Fahrgastzahlen begründet.</p>
<p><img alt="M-Bahn Berlin, 1990" loading="lazy" src="/images/m-bahn.jpg">
M-Bahn Berlin, 1990 (Quelle: Von Bassaar - Eigenes Werk, CC BY-SA 3.0, <a href="https://commons.wikimedia.org/w/index.php?curid=12726621">https://commons.wikimedia.org/w/index.php?curid=12726621</a>)</p>
<p>Eine Magnetschwebebahn ist vor allem eine Insellösung, die einen Umsteigezwang für die Fahrgäste schafft. Das Verkehrsunternehmen muss ein weiteres System beherrschen und warten, braucht eine zusätzliche Werkstatt usw. In einer Stadt von der Größe Nürnbergs fällt das noch mal mehr ins Gewicht. Schon für eine U-Bahn ist Nürnberg eigentlich zu klein - wahrscheinlich wäre man besser gefahren, wenn man in den 1970er Jahren das Straßenbahnnetz in voller Länge beibehalten und nur wenige Abschnitte (z.B. in der Innenstadt) unter die Erde verlegt hätte. So wie Frankfurt, Stuttgart, Düsseldorf, Dortmund, Hannover, Bielefeld und viele andere Städte ähnlicher Größe halt auch.</p>
<p>Das Problem der Magnetschwebebahn ist auch, dass sie wie eine U-Bahn <strong>immer</strong> eine vollständig vom restlichen Verkehr abgetrennte Trasse braucht. Die Straßenbahn kann hingegen direkt auf der Straße, auf einem eigenen Gleiskörper, als Hochbahn oder im Tunnel fahren - je nachdem, was vor Ort gerade am besten ist. Ein eigener Gleiskörper kann als Rasengleis realisiert werden, was viel grüner und stadtbildschonender ist als eine kilometerlange aufgeständerte Betontrasse. Ich empfehle, sich einfach mal die Magnetschwebebahn in Nagoya (Japan) <a href="https://maps.app.goo.gl/7S2TFwWGDYTsLkds8">bei Google Street View anzuschauen</a>. Bei einem ebenerdigen Verlauf sind ihre Haltestellen auch automatisch barrierefrei.</p>
<p>Wenn Nürnberg Geld ohne Ende hätte, wäre es auch eine Option, einen zweiten Ast der U1 von der Bauernfeindstraße zum Südklinikum zu bauen. Unter den jetzigen Rahmenbedingungen ist aber eine Verlängerung der Straßenbahnlinie 7 die beste Alternative.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Foto des Tages</title>
      <link>https://niklas-deutschmann.de/posts/foto-des-tages-2025-08-11/</link>
      <pubDate>Mon, 11 Aug 2025 13:13:16 +0200</pubDate>
      <guid>https://niklas-deutschmann.de/posts/foto-des-tages-2025-08-11/</guid>
      <description>&lt;p&gt;Heute vor einem Jahr am Zürser See bei Lech in Vorarlberg.&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;Hochmoor mit Wollgras in der Nähe des Zürser Sees, Vorarlberg&#34; loading=&#34;lazy&#34; src=&#34;https://niklas-deutschmann.de/images/zuerser_see.jpg&#34;&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Heute vor einem Jahr am Zürser See bei Lech in Vorarlberg.</p>
<p><img alt="Hochmoor mit Wollgras in der Nähe des Zürser Sees, Vorarlberg" loading="lazy" src="/images/zuerser_see.jpg"></p>
]]></content:encoded>
    </item>
    <item>
      <title>Alternativen zu Pocket</title>
      <link>https://niklas-deutschmann.de/posts/alternativen-zu-pocket/</link>
      <pubDate>Sun, 10 Aug 2025 13:21:16 +0200</pubDate>
      <guid>https://niklas-deutschmann.de/posts/alternativen-zu-pocket/</guid>
      <description>&lt;p&gt;Den Bookmarking-Dienst &lt;strong&gt;Pocket&lt;/strong&gt; habe ich seit über 10 Jahren benutzt (schon, als er noch nicht in Firefox integriert war), um interessante Artikel zum später lesen zu speichern. Jetzt hat Mozilla ihn abgeschaltet.&lt;/p&gt;
&lt;p&gt;Eine gute Alternative ist &lt;a href=&#34;https://wallabag.org/&#34;&gt;Wallabag&lt;/a&gt;. Man kann die Software selbst hosten oder &lt;a href=&#34;https://wallabag.it/&#34;&gt;wallabag.it&lt;/a&gt; für 11 Euro im Jahr nutzen. Die Webanwendung sieht etwas altbacken aus und für manche Seiten kann kein Preview-Bild generiert werden, ansonsten funktioniert aber alles wie vorher.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Den Bookmarking-Dienst <strong>Pocket</strong> habe ich seit über 10 Jahren benutzt (schon, als er noch nicht in Firefox integriert war), um interessante Artikel zum später lesen zu speichern. Jetzt hat Mozilla ihn abgeschaltet.</p>
<p>Eine gute Alternative ist <a href="https://wallabag.org/">Wallabag</a>. Man kann die Software selbst hosten oder <a href="https://wallabag.it/">wallabag.it</a> für 11 Euro im Jahr nutzen. Die Webanwendung sieht etwas altbacken aus und für manche Seiten kann kein Preview-Bild generiert werden, ansonsten funktioniert aber alles wie vorher.</p>
<p><img alt="Screenshot von Wallabag" loading="lazy" src="/images/wallabag.png"></p>
<p>In den nächsten Tagen wird es einen längeren Artikel über europäische und Open-Source-Alternativen zu den Diensten der großen amerikanischen Technologiekonzerne geben - stay tuned!</p>
]]></content:encoded>
    </item>
    <item>
      <title>10 Jahre #landesverrat</title>
      <link>https://niklas-deutschmann.de/posts/zehn-jahre-landesverrat/</link>
      <pubDate>Sat, 09 Aug 2025 14:19:16 +0200</pubDate>
      <guid>https://niklas-deutschmann.de/posts/zehn-jahre-landesverrat/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://netzpolitik.org/2025/zehn-jahre-landesverrat-ein-angriff-auf-die-pressefreiheit-der-vieles-veraenderte/&#34;&gt;netzpolitik.org&lt;/a&gt; ruft die damaligen Ereignisse noch mal in Erinnerung. Hatte schon völlig vergessen, dass damals Hans-Georg Maaßen Chef des Verfassungsschutzes war.&lt;/p&gt;
&lt;p&gt;Und ich habe das T-Shirt noch.&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;Schwarzes T-Shirt mit dem Schriftzug „Ein Abgrund von Landesverrat! - 🌍Netzpolitik.org“&#34; loading=&#34;lazy&#34; src=&#34;https://niklas-deutschmann.de/images/landesverrat.jpg&#34;&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://netzpolitik.org/2025/zehn-jahre-landesverrat-ein-angriff-auf-die-pressefreiheit-der-vieles-veraenderte/">netzpolitik.org</a> ruft die damaligen Ereignisse noch mal in Erinnerung. Hatte schon völlig vergessen, dass damals Hans-Georg Maaßen Chef des Verfassungsschutzes war.</p>
<p>Und ich habe das T-Shirt noch.</p>
<p><img alt="Schwarzes T-Shirt mit dem Schriftzug „Ein Abgrund von Landesverrat! - 🌍Netzpolitik.org“" loading="lazy" src="/images/landesverrat.jpg"></p>
]]></content:encoded>
    </item>
    <item>
      <title>Autoverfettung</title>
      <link>https://niklas-deutschmann.de/posts/autoverfettung/</link>
      <pubDate>Fri, 08 Aug 2025 17:45:16 +0200</pubDate>
      <guid>https://niklas-deutschmann.de/posts/autoverfettung/</guid>
      <description>&lt;p&gt;So schmal war ein BMW früher mal:&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;Altes BMW-Modell (BMW 1800) neben einem heutigen VW Touran&#34; loading=&#34;lazy&#34; src=&#34;https://niklas-deutschmann.de/images/bmw_1800.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;Die „Autoverfettung“ kann man &lt;a href=&#34;https://www.carsized.com/en/&#34;&gt;hier gut für fast alle Modelle anschauen&lt;/a&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>So schmal war ein BMW früher mal:</p>
<p><img alt="Altes BMW-Modell (BMW 1800) neben einem heutigen VW Touran" loading="lazy" src="/images/bmw_1800.jpg"></p>
<p>Die „Autoverfettung“ kann man <a href="https://www.carsized.com/en/">hier gut für fast alle Modelle anschauen</a></p>
]]></content:encoded>
    </item>
    <item>
      <title>Foto des Tages</title>
      <link>https://niklas-deutschmann.de/posts/foto-des-tages-2025-08-07/</link>
      <pubDate>Thu, 07 Aug 2025 18:02:16 +0200</pubDate>
      <guid>https://niklas-deutschmann.de/posts/foto-des-tages-2025-08-07/</guid>
      <description>&lt;p&gt;Oldtimerstraßenbahn an der Haltestelle Nürnberg-Steinbühl - hätte ich unter der Woche gar nicht erwartet.&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;Oldtimerstraßenbahn an der Haltestelle Nürnberg-Steinbühl&#34; loading=&#34;lazy&#34; src=&#34;https://niklas-deutschmann.de/images/oldtimerbahn.jpg&#34;&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Oldtimerstraßenbahn an der Haltestelle Nürnberg-Steinbühl - hätte ich unter der Woche gar nicht erwartet.</p>
<p><img alt="Oldtimerstraßenbahn an der Haltestelle Nürnberg-Steinbühl" loading="lazy" src="/images/oldtimerbahn.jpg"></p>
]]></content:encoded>
    </item>
    <item>
      <title>Links</title>
      <link>https://niklas-deutschmann.de/links/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://niklas-deutschmann.de/links/</guid>
      <description>links</description>
      <content:encoded><![CDATA[<h2 id="blogs-deutschsprachig">Blogs (deutschsprachig)</h2>
<ul>
<li><a href="https://www.codingblatt.de/">#!/coding/blatt</a> Sammelsurium mit Schwerpunkten Linux &amp; IT-Sicherheit</li>
<li><a href="https://bielinski.de/">chez @heibie</a> Ein privates Blog über München, Mobilitätswende und DiesDasDinge</li>
<li><a href="https://www.cycletux.de/">Cycletux</a> Schönes Blog mit Reiseberichten vor allem von Mehrtageswanderungen und Radreisen</li>
<li><a href="https://blog.koehntopp.info/">Die wunderbare Welt von Isotopp</a></li>
<li><a href="https://gnulinux.ch/">GNU/Linux.ch</a></li>
<li><a href="https://it-frettchen.de/">IT-Frettchen</a></li>
<li><a href="https://www.marcusjaschen.de/">Marcus Jaschen</a> u.a. Entwickler des <a href="https://bikerouter.de">BikeRouter</a></li>
<li><a href="https://schmalenstroer.net/blog/">Schmalenstroer.net</a> Blog aus der Freiburger Ecke mit viel Geschichte (aber nicht nur)</li>
</ul>
<h2 id="blogs-international">Blogs (international)</h2>
<ul>
<li><a href="https://daringfireball.net/">Daring Fireball</a></li>
</ul>
<h2 id="apps">Apps</h2>
<p>Kleine von mir entwickelte Webapps, die ihr direkt hier nutzen könnt.</p>
<ul>
<li><a href="https://niklas-deutschmann.de/timer">ExpTimer</a> Du hängst abends auf dem Sofa herum, aber die Küche ist ein einziges Schlachtfeld und müsste noch in Ordnung gebracht werden? Du müsstest dringend mal anfangen, etwas für die Hausarbeit zu schreiben, aber kommst nicht über das weiße Blatt hinaus? Dann versuch doch einfach mal, die Aufgabe eine Minute lang auszuführen! Mach einen Sport daraus! Eine Minute tut überhaupt nicht weh! Und wenn du eine Minute geschafft hast, dann vielleicht auch zwei Minuten. Oder vier Minuten&hellip;</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Über mich</title>
      <link>https://niklas-deutschmann.de/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://niklas-deutschmann.de/about/</guid>
      <description>about</description>
      <content:encoded><![CDATA[<p><img alt="Bild von mir mit Fahrradhelm, Sonnenbrille und blauer Jacke" loading="lazy" src="/images/portrait.jpg"></p>
<h2 id="lebenslauf">Lebenslauf</h2>
<ul>
<li>Geboren 1979 in Frankfurt (Main)</li>
<li>1984-1986: Sendai (Japan), mein Vater war als Gastwissenschaftler an der <a href="https://www.tohoku.ac.jp/en/">Tohoku University</a>. Dort Kindergarten und 1. Klasse Grundschule</li>
<li>1986-1989: Berlin, 2. bis 4. Klasse Grundschule</li>
<li>1989-1999: Tübingen, Gymnasium (<a href="https://www.csg-tuebingen.de/">Carlo-Schmid-Gymnasium</a>, Abitur 1998) und Zivildienst (Universitätsklinik)</li>
<li>1999-2008: Freiburg im Breisgau, Studium Diplom-Informatik mit Nebenfach Soziologie, Abschluss 2006. März-Oktober 2002 Auslandsaufenthalt in Göteborg (Schweden)</li>
<li>2008: Umzug nach Nürnberg</li>
<li>2018: Umzug nach Erlangen</li>
</ul>
<h2 id="beruflich">Beruflich</h2>
<ul>
<li>Software-Entwickler (Full Stack, komplexe Enterprise-Webanwendung, die als Produkt seit über 20 Jahren existiert, Java am Backend, Angular+Typescript am Frontend)</li>
</ul>
<h2 id="hobbys">Hobbys</h2>
<ul>
<li>Politik: Ich war von 2010 bis 2015 in der Piratenpartei (ein Jahr stellvertretender Vorsitzender des Kreisverbands Nürnberg) und bin seit September 2024 SPD-Mitglied. Ich setze mich für eine umfassende Verkehrswende ein und war 2024 im <a href="https://www.wir-pro-stub.de/">Wahlkampf für den StUB-Bürgerentscheid</a> in Erlangen sehr aktiv.</li>
<li>Ausdauersport: Laufen und Radfahren. Zwischen 2015 und 2019 habe ich an 5 Marathons teilgenommen (Freiburg, Hamburg, Frankfurt, Challenge Roth Staffel und Düsseldorf, Bestzeit 3:37:23). Seit 2021 aus gesundheitlichen Gründen, die ich vielleicht noch näher erläutere, kaum noch Wettkämpfe. Ab und zu fahre ich auch mit dem Gravelbike durch die Gegend</li>
<li>Fotografie</li>
</ul>
]]></content:encoded>
    </item>
  </channel>
</rss>
