<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="data:text/xsl;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48eHNsOnN0eWxlc2hlZXQgdmVyc2lvbj0iMy4wIiB4bWxuczp4c2w9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML1RyYW5zZm9ybSIgeG1sbnM6YXRvbT0iaHR0cDovL3d3dy53My5vcmcvMjAwNS9BdG9tIj48eHNsOm91dHB1dCBtZXRob2Q9Imh0bWwiIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBpbmRlbnQ9InllcyIvPjx4c2w6dGVtcGxhdGUgbWF0Y2g9Ii8iPjx4c2w6dmFyaWFibGUgbmFtZT0ib3duZXJfdXJsIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iL3Jzcy9jaGFubmVsL2xpbmsiLz48L3hzbDp2YXJpYWJsZT48aHRtbD48aGVhZD48bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiLz48bWV0YSBuYW1lPSJyZWZlcnJlciIgY29udGVudD0idW5zYWZlLXVybCIvPjx0aXRsZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iL3Jzcy9jaGFubmVsL3RpdGxlIi8+PC90aXRsZT48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vd3d3LmZlZWQuc3R5bGUvY3NzL3dhdGVyLm1pbi5jc3MiLz48L2hlYWQ+PGJvZHk+PGgxPjxpbWcgYWx0PSJmZWVkIGljb24iIHNyYz0iaHR0cHM6Ly93d3cudmVjdG9ybG9nby56b25lL2xvZ29zL3Jzcy9yc3MtdGlsZS5zdmciIHN0eWxlPSJoZWlnaHQ6MWVtO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTsiLz4mI3hhMDs8eHNsOnZhbHVlLW9mIHNlbGVjdD0iL3Jzcy9jaGFubmVsL3RpdGxlIi8+PC9oMT48cD48eHNsOnZhbHVlLW9mIHNlbGVjdD0iL3Jzcy9jaGFubmVsL2Rlc2NyaXB0aW9uIi8+PC9wPjxwPlRoaXMgaXMgdGhlIFJTUzxhIGhyZWY9Imh0dHBzOi8vd3d3LmZlZWQuc3R5bGUvd2hhdC1pcy1hLWZlZWQuaHRtbCI+bmV3cyBmZWVkPC9hPiBmb3IgdGhlJiN4YTA7PGE+PHhzbDphdHRyaWJ1dGUgbmFtZT0iaHJlZiI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii9yc3MvY2hhbm5lbC9saW5rIi8+PC94c2w6YXR0cmlidXRlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIvcnNzL2NoYW5uZWwvdGl0bGUiLz48L2E+JiN4YTA7CndlYnNpdGUuPC9wPjxwPkl0IGlzIG1lYW50IGZvcjxhIGhyZWY9Imh0dHBzOi8vd3d3LmZlZWQuc3R5bGUvbmV3c3JlYWRlcnMuaHRtbCI+bmV3cyByZWFkZXJzPC9hPiwgbm90IGh1bWFucy4gUGxlYXNlIGNvcHktYW5kLXBhc3RlIHRoZSBVUkwgaW50byB5b3VyIG5ld3MgcmVhZGVyITwvcD48cD48cHJlPjxjb2RlIGlkPSJmZWVkdXJsIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iL3Jzcy9jaGFubmVsL2F0b206bGluay9AaHJlZiIvPjwvY29kZT48L3ByZT48YnV0dG9uIGNsYXNzPSJjbGlwYm9hcmQiIGRhdGEtY2xpcGJvYXJkLXRhcmdldD0iI2ZlZWR1cmwiPgpDb3B5IHRvIGNsaXBib2FyZDwvYnV0dG9uPjwvcD48eHNsOmZvci1lYWNoIHNlbGVjdD0iL3Jzcy9jaGFubmVsL2l0ZW0iPjxkZXRhaWxzPjxzdW1tYXJ5PjxhPjx4c2w6YXR0cmlidXRlIG5hbWU9ImhyZWYiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJsaW5rIi8+PC94c2w6YXR0cmlidXRlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJ0aXRsZSIvPjwvYT4mI3hhMDstJiN4YTA7PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9InB1YkRhdGUiLz48L3N1bW1hcnk+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImRlc2NyaXB0aW9uIiBkaXNhYmxlLW91dHB1dC1lc2NhcGluZz0ieWVzIi8+PC9kZXRhaWxzPjwveHNsOmZvci1lYWNoPjxwPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJjb3VudCgvcnNzL2NoYW5uZWwvaXRlbSkiLz4gbmV3cyBpdGVtcy48L3A+PHA+PHNtYWxsPlBvd2VyZWQgYnk8YSBocmVmPSJodHRwczovL3d3dy5mZWVkLnN0eWxlLyI+PGltZyByZWZlcnJlcnBvbGljeT0ib3JpZ2luIiBzcmM9Imh0dHBzOi8vd3d3LmZlZWQuc3R5bGUvZmF2aWNvbi5zdmciIHN0eWxlPSJoZWlnaHQ6MWVtO3BhZGRpbmctcmlnaHQ6MC4yNWVtO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTsiLz5GZWVkLlN0eWxlPC9hPjwvc21hbGw+PC9wPjxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2NsaXBib2FyZEAyLjAuMTEvZGlzdC9jbGlwYm9hcmQubWluLmpzIi8+PHNjcmlwdD4KbmV3IENsaXBib2FyZEpTKCcuY2xpcGJvYXJkJyk7PC9zY3JpcHQ+PC9ib2R5PjwvaHRtbD48L3hzbDp0ZW1wbGF0ZT48L3hzbDpzdHlsZXNoZWV0Pg==" ?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <channel>
        <title></title>
        <link>https://mark-schmeiser.de/de</link>
        <description></description>
        <language>de</language>
        <lastBuildDate>Tue, 03 Feb 2026 09:00:00 +0100</lastBuildDate>
                <atom:link href="https://mark-schmeiser.de/de/feed.rss" rel="self" type="application/rss+xml" />

                                                                                <item>
                <title>Review &#34;Kintsugi&#34;</title>
                <link>https://mark-schmeiser.de/de/buecher/2026/review-kintsugi</link>
                <guid>https://mark-schmeiser.de/de/@/page/fiqx14p5dzooesbs</guid>
                <pubDate>Tue, 03 Feb 2026 09:00:00 +0100</pubDate>
                <dc:creator>Mark Schmeiser</dc:creator>

                                    <category>Buchreview</category>
                
                <description>
                    <![CDATA[<img alt="" src="https://mark-schmeiser.de/media/pages/buecher/2026/review-kintsugi/8c0a3c67b0-1769790466/kintsugi-hero-1000x.jpg">

<p>Zerbrochen, repariert, wertvoller als zuvor – so funktioniert die japanische Kintsugi-Kunst. Andrea Löhndorf überträgt diese Philosophie auf unser Leben: Was wäre, wenn unsere Brüche, Krisen und Narben nicht Schwäche, sondern innere Stärke zeigen? Ein poetisches, psychologisch fundiertes Buch darüber, wie wir aus Scherben etwas Kostbares machen – nicht trotz, sondern wegen unserer Verletzlichkeit.</p><h3>Über die Autorin</h3>
<p>Andrea Löhndorf studierte deutsche, englische und italienische Literaturwissenschaft und entwickelte bereits während des Studiums eine tiefe Faszination für östliche Weisheitslehren. Zwanzig Jahre lang prägte sie als Programmleiterin und Lektorin in renommierten deutschen Verlagen die Bereiche der östlichen Lehren und der Psychologie. Heute lebt sie in Hamburg und arbeitet als Lektorin, Übersetzerin und Autorin. Ihre Texte verbinden psychologisches Wissen mit poetischer Sensibilität und machen östliche Philosophie für westliche Leser:innen zugänglich, ohne sie zu verwässern.</p>
<h3>Worum geht es im Buch?</h3>
<p>Kintsugi ist die alte japanische Reparaturkunst, bei der zerbrochene Keramik mit goldhaltigem Lack wieder zusammengefügt wird. Die Bruchstellen werden nicht versteckt, sondern betont – sie machen das Objekt wertvoller als das Original. Löhndorf zeigt, wie diese Philosophie auf unser Leben übertragbar ist: Verletzungen, Krisen, Rückschläge und Brüche sind keine Makel, die wir kaschieren müssen, sondern Chancen für Wachstum und Reifung.</p>
<p>Das Buch verbindet die japanischen Konzepte Wabi-Sabi (die Schönheit des Unvollkommenen), Ikigai (den eigenen Lebenszweck finden) und Kaizen (die kontinuierliche Verbesserung in kleinen Schritten) mit moderner Psychologie. Es bietet praktische Übungen und Reflexionsanregungen, die zeigen, wie wir lernen können, unsere Brüche anzunehmen und daraus innere Stärke zu entwickeln. Kintsugi wird zum Handwerk des Lebens – die Kunst, aus Scherben etwas Neues und Kostbares zu erschaffen.</p>
<h3>Was ist daran toll?</h3>
<p>Das Buch ist eine Wohltat. Löhndorf schreibt ohne Pathos, aber mit großer Empathie. Sie predigt keine oberflächliche Positivity, sondern zeigt einen ehrlichen und respektvollen Umgang mit Schmerz und Verletzlichkeit. Die Verknüpfung japanischer Ästhetik mit westlicher Psychologie funktioniert überraschend gut – sie wirkt nicht konstruiert, sondern organisch.</p>
<p>Besonders wertvoll: Das Buch verzichtet auf die typisch westliche Haltung, alles reparieren, optimieren oder wegtherapieren zu müssen. Stattdessen lädt es ein, innezuhalten, zu akzeptieren und zu wachsen. Die enthaltenen Übungen sind alltagstauglich, nicht esoterisch und regen tatsächlich zum Nachdenken an. Ich habe begonnen, bewusster auf meine eigenen Narben zu schauen – nicht mit Scham, sondern mit Neugier. Welche Geschichte erzählen sie? Was habe ich dadurch gelernt?</p>
<h3>Was nervt daran?</h3>
<p>Bei aller Schönheit: Das Buch ist sehr kompakt – 152 Seiten gehen schnell durch. Manche Themen werden nur angerissen, wobei ich mir mehr Tiefe gewünscht hätte. Für jemanden, der sich bereits intensiv mit Achtsamkeit, japanischer Philosophie oder psychologischer Resilienz beschäftigt hat, bringt das Buch wenig Neues.</p>
<p>Auch die praktischen Übungen könnten für manche zu zaghaft wirken. Wer konkrete, strukturierte Methoden erwartet, wird hier eher sanfte Impulse finden. Das ist Absicht – passt zur Philosophie – kann aber auch frustrieren, wenn man schnelle, greifbare Veränderung sucht.</p>
<h3>Das beste Zitat und was daran besonders ist</h3>
<blockquote>
<p>Was zerbrochen ist, muss nicht verborgen werden. Es kann zum wertvollsten Teil von uns werden.</p>
</blockquote>
<p>Dieses Zitat trifft den Kern der Kintsugi-Philosophie: Unsere Brüche sind keine Defekte, die wir verstecken müssen. Sie sind das, was uns einzigartig, wertvoll und menschlich macht. Löhndorf fordert uns auf, Verletzlichkeit nicht als Schwäche, sondern als Stärke zu sehen. In einer Welt, die Perfektion und Unversehrtheit glorifiziert, ist das radikal – und heilsam.</p>
<blockquote>
<p>Kein Dasein ist frei von Brüchen wie Enttäuschungen, Verlusten, Krankheit, Scheitern, Alter und Tod.</p>
</blockquote>
<p>Ich finde dieses Zitat deshalb so stark, weil es ungeschönt ist. Löhndorf listet auf, was wir alle kennen und fürchten – und sagt gleichzeitig: Das ist okay. Das gehört dazu. Die Brüche machen uns nicht kaputt; sie machen uns erst zu dem, was wir sind. Es ist eine Einladung, das Leben in seiner ganzen Unvollkommenheit anzunehmen, ohne sich im Selbstoptimierungswahn zu verlieren.</p>
<h3>Was habe ich gelernt?</h3>
<p>Ich habe gelernt, dass Resilienz nicht bedeutet, unverwundbar zu sein. Resilienz bedeutet, die eigenen Brüche anzunehmen und daraus zu wachsen. Die Kintsugi-Philosophie hat mir geholfen, meinen Blick auf vergangene Krisen zu verändern: Sie waren nicht Fehler oder Versagen, sondern Wendepunkte, die mich geformt haben.</p>
<p>Konkret habe ich angefangen, bewusster mit dem Perfektionismus umzugehen. Wenn ich in Projekten oder im Alltag auf Unvollkommenheit stoße, frage ich mich: Ist das wirklich ein Problem oder kann es sogar einen Wert haben? Das klingt simpel, aber es hat meine Haltung verändert. Ich bin nachsichtiger mit mir selbst geworden – und gleichzeitig achtsamer.</p>
<p>Das Buch hat mir auch gezeigt, wie wichtig es ist, Pausen zuzulassen. Die japanische Idee von Ma – der Wert des leeren Raums – erinnert mich daran, dass nicht jede Minute produktiv gefüllt sein muss. Manchmal ist das Nichtstun das Wertvollste.</p>
<h3>Warum sollte jede:r das Buch lesen?</h3>
<p>Weil wir in einer Kultur leben, die Perfektion, Unversehrtheit und Stärke glorifiziert – und dabei übersieht, dass echte Stärke oft aus Brüchen entsteht. Kintsugi bietet einen anderen Blick: auf uns selbst, auf unsere Vergangenheit, auf unsere Verletzlichkeit. Es ist ein Buch für alle, die sich selbst nicht mehr verstecken wollen und ihre Narben nicht als Makel, sondern als Teil ihrer Geschichte sehen möchten.</p>
<p>Besonders wertvoll ist es in Krisenzeiten – sei es beruflich, persönlich oder gesundheitlich. Aber auch ohne akute Krise ist es eine Erinnerung daran, dass wir nicht perfekt sein müssen, um wertvoll zu sein. Für Führungskräfte, die authentisch führen wollen, für Kreative, die mit Selbstzweifeln kämpfen, für alle, die sich manchmal unvollkommen fühlen: Dieses Buch zeigt, dass genau das unsere Stärke ist.</p>
<div class="relative px-5 py-12 rounded-2xl bg-gray-100 my-10">
  <!-- Content -->
  <div class="relative items-center w-full">
    <div class="text-center">
      <h3 class="text-4xl m-1 font-semibold text-black font-display sm:text-5xl">
        Sind perfekte Teams überhaupt erstrebenswert?      </h3>
      <p class="mx-auto mt-2 text-lg text-black lg:mx-0">
        Resiliente Teams entstehen nicht durch Fehlerlosigkeit, sondern durch den bewussten Umgang mit Brüchen. Kintsugi zeigt, wie Verletzlichkeit zur Stärke wird – auch in der Produktentwicklung.      </p>

      <a data-umami-event="cta-tile-click" class="mt-4 no-underline bg-slate-900 text-white hover:bg-sky-800 inline-flex items-center rounded-full gap-2.5 justify-center px-7 py-3 text-md font-semibold leading-none outline-offset-2 transition-all duration-200 ease-in-out active:transition-none" href="https://calendly.com/mark-schmeiser/digital-coffee">
        Perfekte Teams sind fragil. Resiliente Teams zeigen ihre Brüche – und wachsen daran. Wie gehst du in deinem Team mit Fehlern um: Verstecken oder transparent machen?        <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="currentColor" class="w-5 h-5 duration-300 ease-in-out text-white group-hover:text-white">
          <path fill-rule="evenodd" d="M5.22 14.78a.75.75 0 001.06 0l7.22-7.22v5.69a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75h-7.5a.75.75 0 000 1.5h5.69l-7.22 7.22a.75.75 0 000 1.06z" clip-rule="evenodd"></path>
        </svg>
      </a>
    </div>
  </div>
</div>]]>
                </description>
            </item>
                                                                                <item>
                <title>He Who Fights With Monsters (Band 1)</title>
                <link>https://mark-schmeiser.de/de/buecher/2026/he-who-fights-with-monsters-band-1</link>
                <guid>https://mark-schmeiser.de/de/@/page/viz5tkzethe1pstr</guid>
                <pubDate>Fri, 30 Jan 2026 17:01:00 +0100</pubDate>
                <dc:creator>Mark Schmeiser</dc:creator>

                                    <category>Buchreview</category>
                
                <description>
                    <![CDATA[<img alt="" src="https://mark-schmeiser.de/media/pages/buecher/2026/he-who-fights-with-monsters-band-1/5cd5d6d7d6-1769788857/he-who-fights-monsters-vol-1-hero-1000x.jpg">

<p>Neue Fantasyserie, neues Glück. Anfangs habe ich mich gefragt, ob das nicht wie die anderen Serien wird. Doch eine Formulierung in der Beschreibung hat mich neugierig gemacht: „but it’s hard to be good when all your powers are evil.“</p>
<p>Ich liebe den Schreibstil. Der Humor ist grandios. Auch wenn der Titel etwas anderes suggeriert, spielen die Kämpfe keine (große) Rolle. Sie sind Teil des Abenteuers. Der Schwerpunkt liegt auf den Charakteren und deren Entwicklung und Geschichte. Mich hat der Autor Shirtaloon nach den ersten paar Kapiteln gehabt.</p>]]>
                </description>
            </item>
                                                                                <item>
                <title>Luni App - Das Making-Of</title>
                <link>https://mark-schmeiser.de/de/blog/2026/luni-app-das-making-of</link>
                <guid>https://mark-schmeiser.de/de/@/page/igk9kihvlcgkfe5b</guid>
                <pubDate>Tue, 27 Jan 2026 09:00:00 +0100</pubDate>
                <dc:creator>Mark Schmeiser</dc:creator>

                                    <category>Software Engineering</category>
                
                <description>
                    <![CDATA[<img alt="" src="https://mark-schmeiser.de/media/pages/blog/2026/luni-app-das-making-of/1b380de024-1769340331/luni-hero-1000x.png">

<p>Nicht jede App muss erklären, was sie tut. Manche sollten einfach funktionieren.</p>
<p>Luni ist der Versuch, ein sensibles Thema so zurückhaltend wie möglich zu begleiten. Keine Texte, keine Nutzerkonten, keine personenbezogenen Daten. Stattdessen Symbole, Farben und ein klarer Ablauf. Öffnen. Bestätigen. Überblick sehen.</p><h2>Luni: Eine App, entstanden aus Verantwortung</h2>
<p>Manche Projekte beginnen nicht mit einer Idee, sondern mit einer Beobachtung. Bei Luni war es meine Tochter.</p>
<p>Sie kann bisher nicht lesen. Gleichzeitig möchte sie Dinge selbstständig erledigen, ohne ständig fragen zu müssen. Auch Themen, die sensibel sind. Auch Dinge, bei denen es um den eigenen Körper geht. Mir wurde klar: Die meisten Apps, die es dafür gibt, setzen Lesen voraus. Texte, Erklärungen, Formulare, Logins. Alles Dinge, die Selbstständigkeit verhindern, statt sie zu fördern.</p>
<p>Luni ist mein Versuch, das zu ändern.</p>
<h3>Warum diese App existiert</h3>
<p>Luni soll meiner Tochter helfen, eigenständig mit ihren Tagen umzugehen – ohne Texte, ohne Erklärungen, ohne fremde Erwartungen. Die App besteht im Kern aus Symbolen, Farben und einem klaren Rhythmus: öffnen, bestätigen, Überblick sehen.</p>
<p>Dabei ging es mir um mehr als eine einzelne Anwendung. Luni ist auch ein persönlicher Beitrag zum Thema Inklusion. Nicht als großes Konzept, sondern ganz konkret: Was braucht ein Mensch, der nicht lesen kann, um trotzdem selbstbestimmt handeln zu können?</p>
<p>Diese Frage hat viele Entscheidungen geprägt:</p>
<ul>
<li>bewusst keine Werbung</li>
<li>bewusst keine Logins</li>
<li>bewusst keine persönlichen Informationen</li>
<li>keine Cloud, kein Tracking</li>
<li>Reduktion auf das absolut Wesentliche</li>
</ul>
<p>Je weniger die App weiß, desto sicherer fühlt sie sich an. Je weniger sie erklärt, desto besser funktioniert sie für Menschen, die nicht lesen können oder wollen.</p>
<p>Luni ist kein medizinisches Produkt. Sie verspricht nichts. Sie bewertet nichts. Sie beobachtet nur, was war – und macht es sichtbar.</p>
<h2>Technischer Hintergrund: VibeCoding mit Replit</h2>
<p>Technisch ist Luni ebenfalls aus einem Dialog entstanden. Entwickelt habe ich die App via VibeCoding mit Replit. Die Arbeit lief in kurzen, sauberen Iterationen: Idee formulieren, umsetzen lassen, prüfen, anpassen. Kein starres Pflichtenheft, sondern ein kontinuierliches Gespräch mit dem Tool.</p>
<p>Das funktionierte erstaunlich gut – bis zum Punkt der Veröffentlichung.</p>
<h3>Wenn Automatisierung endet</h3>
<p>Die eigentliche Herausforderung begann beim Publizieren über Expo Build. Hier war zum ersten Mal manuelles Eingreifen notwendig: Code anpassen, Konfiguration prüfen, Kommandos in der Shell ausführen. Nichts Dramatisches, aber ein klarer Bruch mit dem bisherigen Flow.</p>
<p>Was geholfen hat, war eine einfache Maßnahme: Ich habe mir früh eine README.md angelegt, in der ich alle relevanten Kommandos, Schritte und Entscheidungen festgehalten habe. Dadurch blieb der Prozess nachvollziehbar – auch dann, wenn ich ihn ein paar Tage liegen ließ.</p>
<h3>App-Store-Realität</h3>
<p>Überraschend aufwendig war die Vorbereitung der Vorschaubilder für den iOS-App-Store. Die geforderten Seitenverhältnisse weichen stark von dem ab, was gängige Tools unterstützen. Weder klassische AI-Generatoren noch Designtools wie Canva liefern hier zuverlässig passende Ergebnisse.</p>
<p>Interessanterweise hat Replit selbst diese Aufgabe hervorragend gelöst: Screenshots exakt im gewünschten Format, ohne Nacharbeit. Ein Detail, das im Gesamtprozess viel Zeit und Nerven gespart hat.</p>
<h2>Weniger als Prinzip</h2>
<p>Luni ist kein Showcase für Technik. Die App ist bewusst klein. Sie will nichts erklären, nichts optimieren, nichts analysieren. Sie will nur funktionieren. Vielleicht ist das am Ende die wichtigste Erkenntnis aus diesem Projekt:</p>
<blockquote>
<p>Reduktion ist keine Einschränkung. Sie ist eine Haltung.</p>
</blockquote>
<p>Und manchmal beginnt gute Software genau dort, wo man aufhört, mehr zu wollen.</p>]]>
                </description>
            </item>
                                                                                <item>
                <title>Story der Woche 04</title>
                <link>https://mark-schmeiser.de/de/blog/2026/story-der-woche-04</link>
                <guid>https://mark-schmeiser.de/de/@/page/ngl1corqv4a5cuqo</guid>
                <pubDate>Sun, 25 Jan 2026 09:00:00 +0100</pubDate>
                <dc:creator>Mark Schmeiser</dc:creator>

                                    <category>Story der Woche</category>
                
                <description>
                    <![CDATA[<img alt="" src="https://mark-schmeiser.de/media/pages/blog/2026/story-der-woche-04/8417ef9355-1769339573/cw04-1000x.jpg">

<p>Ein Gruß von einem alten Bekannten wirft mich zurück in eine längst vergangene Auseinandersetzung. Ich dachte, ich erinnere mich an die Fakten – doch was wirklich geblieben ist, sind nur die Gefühle. Eine Geschichte über transparente Kommunikation, den Mut zu schwierigen Entscheidungen und die Erkenntnis, dass das Wie in solchen Situationen wichtiger ist als das Was.</p><h3>Wenn Emotionen Fakten überleben</h3>
<p>Ich sitze zu Hause und warte auf meinen Kaffee-und-Kuchen-Gast. Draußen zieht der Nachmittag vorbei, während ich am Tisch sitze und meine letzte Zeile für meinen Blog schreibe. Die Vorfreude ist da, greifbar und warm. Der Gast, der gleich kommt, war vor 20 Jahren eine starke Schulter, auf der ich heute noch stehe. Er war am Start meiner beruflichen Laufbahn ein Unterstützer, dessen Einfluss ich bis heute spüre. Eigentlich sollten wir uns in der Stadt zum Lunch treffen, nur kann ich aus gesundheitlichen Gründen das Haus nicht verlassen. Mein Kollege und Freund war sofort einverstanden und macht sich nun auf den Weg zu mir. Er kommt direkt von einer zweitägigen Messe, auf der er bekannte Gesichter getroffen hat.</p>
<p>Die Vorfreude auf solche Begegnungen entsteht nicht aus Fakten oder Daten. Sie kommt aus den Gefühlen, die dieser Mensch bei mir hinterlassen hat. Aus der Sicherheit, die ich damals empfand. Aus dem Vertrauen, das mir geschenkt wurde. Genau diese Emotionen sind es, die überdauern.</p>
<h3>Ein unerwarteter Gruß</h3>
<p>Es dauert nicht lange, bis wir am Kaffeetisch sitzen. Die Gespräche fließen, alte Geschichten werden aufgewärmt, neue erzählt. Dann fällt beiläufig ein Satz, der mich innehalten lässt: Einer der Bekannten von der Messe lässt mich grüßen. Das überrascht mich. Wir sind nicht harmonisch auseinandergegangen, dieser Bekannte und ich. Die Trennung war klar, aber nicht einfach.</p>
<p>Ich erinnere mich an die Situation – zumindest glaube ich es. Der Bekannte hat mich damals bewegt, drastische Maßnahmen zu ergreifen und knifflige Entscheidungen zu fällen. Ich weiß, dass ich emotional und entschlossen war. Die Gründe waren klar. Die Fakten lagen auf dem Tisch. Die Entscheidung wurde bewusst getroffen und die Beteiligten transparent informiert. So war es doch, oder?</p>
<h3>Fakten im Nebel der Jahre</h3>
<p>Heute, viele Jahre später, ist da nur noch ein dumpfes Echo aus dieser Zeit. Mit etwas Grübeln kann ich mich an die Situation und die Fakten erinnern. Je länger ich jedoch darüber nachdenke, desto klarer wird mir eine überraschende Wahrheit: Ich erinnere mich gar nicht wirklich an die Fakten oder die konkrete Situation. Ich erinnere mich an die Gefühle, die das damalige Problem bei mir ausgelöst hat.</p>
<p>An die Anspannung. An die Verantwortung. An das Unbehagen. Und ich erinnere mich an das Gefühl danach – an den Stolz, wie erhebend es war, zu meinen Werten gestanden zu haben. Diese emotionale Landkarte ist geblieben, während die faktische Topografie längst verschwommen ist. Die Gefühle, die unsere Taten und Worte hinterlassen, sind das, an das wir uns erinnern. Nicht die Taten oder Worte selbst.</p>
<h3>Das Geschenk ehrlicher Kommunikation</h3>
<p>Aufgrund dieser Grüße fand nach langer Zeit ein Videocall mit dem Bekannten statt. Es war ein höflich distanzierter Gesprächsverlauf zwischen zwei Fachexperten aus derselben Domäne. Wir wussten beide, dass wir mit deutlich unterschiedlichen Meinungen auseinandergegangen sind. Doch genau die Transparenz meinerseits und die klare Ansprache der kritischen Punkte damals ermöglichen es uns heute, ohne Groll und Zorn in die Augen zu schauen.</p>
<p>Es ist kein herzliches Wiedersehen alter Freunde. Aber es ist ein respektvolles Aufeinandertreffen zweier Menschen, die ihre Geschichte kennen und akzeptieren. Die Klarheit von damals hat den Raum für diese Begegnung heute geschaffen. Es zeigt mir wieder deutlich, wie wichtig es ist, transparent zu kommunizieren, selbst wenn – oder gerade weil – es unterschiedliche Meinungen gibt.</p>
<p>Am Ende des Gesprächs bleibt eine Erkenntnis: Die Gefühle, die wir bei anderen hinterlassen, bilden das Fundament dessen, was von uns in Erinnerung bleibt. Nicht die perfekte Argumentation. Nicht die fehlerfreie Entscheidung. Sondern die Art, wie wir Menschen behandeln. Die Ehrlichkeit, die wir aufbringen. Der Respekt, den wir zeigen. Das ist es, was überdauert.</p>
<div class="relative px-5 py-12 rounded-2xl bg-gray-100 my-10">
  <!-- Content -->
  <div class="relative items-center w-full">
    <div class="text-center">
      <h3 class="text-4xl m-1 font-semibold text-black font-display sm:text-5xl">
        Was bleibt wirklich?      </h3>
      <p class="mx-auto mt-2 text-lg text-black lg:mx-0">
        In deiner letzten schwierigen Entscheidung als Tech-Lead: Erinnerst du dich besser an die Argumente oder an das Gefühl danach? Diese Frage berührt den Kern unserer Führungsverantwortung. Teile deine Perspektive in den Kommentaren.      </p>

      <a data-umami-event="cta-tile-click" class="mt-4 no-underline bg-slate-900 text-white hover:bg-sky-800 inline-flex items-center rounded-full gap-2.5 justify-center px-7 py-3 text-md font-semibold leading-none outline-offset-2 transition-all duration-200 ease-in-out active:transition-none" href="https://calendly.com/mark-schmeiser/digital-coffee">
        Stimmst du zu, dass emotionale Erinnerungen faktische Argumente überleben – oder sind dokumentierte Entscheidungsprozesse wichtiger als der zwischenmenschliche Umgang dabei?        <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="currentColor" class="w-5 h-5 duration-300 ease-in-out text-white group-hover:text-white">
          <path fill-rule="evenodd" d="M5.22 14.78a.75.75 0 001.06 0l7.22-7.22v5.69a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75h-7.5a.75.75 0 000 1.5h5.69l-7.22 7.22a.75.75 0 000 1.06z" clip-rule="evenodd"></path>
        </svg>
      </a>
    </div>
  </div>
</div>]]>
                </description>
            </item>
                                                                                <item>
                <title>Node.js und Logging - Recap</title>
                <link>https://mark-schmeiser.de/de/blog/2026/node-js-und-logging-recap</link>
                <guid>https://mark-schmeiser.de/de/@/page/uebhibjxjjuwl1ra</guid>
                <pubDate>Sat, 24 Jan 2026 08:00:00 +0100</pubDate>
                <dc:creator>Mark Schmeiser</dc:creator>

                                    <category>Software Engineering</category>
                
                <description>
                    <![CDATA[

<p>Diese Artikelserie zeigt, wie aus einfachem Logging ein belastbares Werkzeug für den Alltag wird. Schritt für Schritt entsteht ein professionelles Setup für Node.js: klar strukturiert, konfigurierbar und praxiserprobt. Von LogService und EnvVarService über Datenschutz und Correlation-IDs bis hin zu Performance-Logs steht dabei immer ein Ziel im Fokus: Logs, die beim Debuggen wirklich helfen – lokal wie produktiv.</p><p>Die Artikelserie <strong><a href="https://mark-schmeiser.de/de/blog/2026/node-js-und-logging-ein-uberblick-zur-artikelserie">„Node.js und Logging“</a></strong>  führt Schritt für Schritt von den Grundlagen bis zu praxistauglichen Erweiterungen eines professionellen Logging-Konzepts. Ziel ist kein theoretischer Überblick, sondern ein belastbares Setup, das im Alltag trägt – lokal wie produktiv.</p>
<p>Den Einstieg bildet ein Überblick über die Motivation und Zielrichtung der Serie: Logging wird als zentrales Werkzeug zur Fehlersuche, Analyse und Wartung eingeordnet. Darauf aufbauend entsteht mit dem <strong>LogService</strong> eine erste technische Grundlage, die die Logik kapselt und konsistente Logausgaben ermöglicht.</p>
<p>Mit dem <strong>EnvVarService</strong> und der anschließenden Einführung von <strong>dotenv</strong> wird die Konfiguration sauber vom Code getrennt. Umgebungsvariablen werden beherrschbar, reproduzierbar und testbar – ein entscheidender Schritt für unterschiedliche Laufzeitumgebungen. Die folgende <strong>Konfiguration des LogServices</strong> zeigt, wie Log-Level, Formate und Ziele flexibel gesteuert werden können.</p>
<p>Ein wichtiger Praxisaspekt ist die <strong>Anpassung der Unit-Tests</strong>: Störende Logausgaben werden vermieden, Umgebungsvariablen werden gezielt gesetzt. So bleiben Tests aussagekräftig und ruhig. Durch das <strong>Filtern von Loginhalten</strong> wird anschließend der Blick auf den Datenschutz geschärft – sensible Daten gehören nicht ins Log, schon gar nicht ungefiltert.</p>
<p>Die Einführung der <strong>Correlation-ID</strong> hebt das Logging auf ein neues Niveau. Zusammengehörige Logeinträge lassen sich über Request-Grenzen hinweg verfolgen. Im nächsten Schritt wird diese ID konsequent auf <strong>jede Logausgabe</strong> angewendet und damit tatsächlich nutzbar.</p>
<p>Den Abschluss bildet das <strong>Performance-Logging von HTTP-Requests</strong>. Ohne Statistik-Tools zu ersetzen, liefert es wertvolle Einblicke in die Laufzeiten einzelner Endpunkte und schafft Transparenz dort, wo sie im Alltag oft fehlt.</p>
<h2>Fazit</h2>
<p>Die Serie zeigt, dass gutes Logging kein Nebenprodukt ist, sondern eine bewusste Designentscheidung. Mit klarer Struktur, sauberer Konfiguration und gezielten Erweiterungen entsteht ein Logging-Setup, das Debugging erleichtert, den Datenschutz respektiert und die Basis für stabile Node.js-Anwendungen legt.</p>]]>
                </description>
            </item>
                                                                                <item>
                <title>Review &#34;Passives Einkommen als Coach&#34;</title>
                <link>https://mark-schmeiser.de/de/buecher/2026/review-passives-einkommen-als-coach</link>
                <guid>https://mark-schmeiser.de/de/@/page/59kr0hotxhi7okrw</guid>
                <pubDate>Thu, 22 Jan 2026 08:45:00 +0100</pubDate>
                <dc:creator>Mark Schmeiser</dc:creator>

                                    <category>Buchreview</category>
                
                <description>
                    <![CDATA[<img alt="" src="https://mark-schmeiser.de/media/pages/buecher/2026/review-passives-einkommen-als-coach/fede3701ea-1768659222/passives-einkommen-hero-1000x.jpg">

<p>Passives Einkommen klingt verlockend – gerade für Coaches, die ihr Wissen skalieren wollen, ohne ständig Zeit gegen Geld zu tauschen. Julia Bräunig verspricht in ihrem Buch keinen schnellen Reichtum, sondern einen strukturierten Blick darauf, wie aus Expertise nachhaltige Einkommensströme entstehen können. Ein Buch für alle, die Coaching unternehmerisch denken wollen.</p><h3>Über die Autorin</h3>
<p>Julia Bräunig ist Coachin und Unternehmerin mit klarem Fokus auf skalierbare Geschäftsmodelle. Sie verbindet klassische Coaching-Erfahrung mit Online-Produkten, Automatisierung und Marketing. Ihr Ansatz ist dabei weniger Guru-Gehabe als vielmehr stark praxis- und umsetzungsorientiert.</p>
<h3>Worum geht es im Buch?</h3>
<p>Das Buch zeigt, wie Coaches Schritt für Schritt passives Einkommen aufbauen können. Im Zentrum stehen digitale Produkte, Prozesse, Positionierung und Mindset. Es geht nicht um Abkürzungen, sondern um Systeme: vom ersten Angebot über Automatisierung bis hin zur langfristigen Kundenbindung.</p>
<h3>Was ist daran toll?</h3>
<p>Besonders überzeugend ist die klare Struktur. Die Inhalte bauen logisch aufeinander auf und machen deutlich, dass passives Einkommen kein Zufallsprodukt ist. Bräunig benennt Voraussetzungen, Stolpersteine und Entscheidungsstellen offen – ohne falsche Versprechen.</p>
<h3>Was nervt daran?</h3>
<p>Wer auf tiefe Zahlenmodelle, technische Architekturen oder detaillierte Toolvergleiche hofft, wird enttäuscht. Manche Abschnitte bleiben bewusst auf konzeptioneller Ebene. Für erfahrene Unternehmer:innen könnten einzelne Passagen daher zu grundlegend wirken.</p>
<h3>Das beste Zitat und was daran besonders ist</h3>
<blockquote>
<p>Passives Einkommen ist kein Einkommen ohne Arbeit, sondern das Ergebnis sauber gebauter Systeme, die für dich arbeiten</p>
</blockquote>
<p>Diese Kernaussage entzaubert den Mythos vom „Geld im Schlaf“ und bringt den eigentlichen Wert des Buches auf den Punkt: Es geht um Verantwortung, Struktur und langfristiges Denken.</p>
<h3>Was habe ich gelernt?</h3>
<p>Passives Einkommen ist weniger eine Marketingfrage als eine Systemfrage. Erst wenn Angebot, Zielgruppe und Prozesse sauber aufeinander abgestimmt sind, entsteht echte Skalierung. Das Buch schärft den Blick dafür, wo man sich selbst im Weg steht.</p>
<h3>Warum sollte jede:r das Buch lesen?</h3>
<p>Weil es ein realistisches Gegengewicht zu vielen lauten Online-Versprechen ist. Wer Coaching nicht als Lifestyle, sondern als Business versteht, bekommt hier einen klaren Orientierungsrahmen – unabhängig von Branche oder Erfahrungsstand.</p>
<div class="relative px-5 py-12 rounded-2xl bg-gray-100 my-10">
  <!-- Content -->
  <div class="relative items-center w-full">
    <div class="text-center">
      <h3 class="text-4xl m-1 font-semibold text-black font-display sm:text-5xl">
        Passiv ist nichts ohne System      </h3>
      <p class="mx-auto mt-2 text-lg text-black lg:mx-0">
        Viele wollen skalieren, aber nur wenige sind bereit, ihr Geschäftsmodell konsequent zu strukturieren. Wo stehst du? Teile deine Perspektive oder diskutiere mit.      </p>

      <a data-umami-event="cta-tile-click" class="mt-4 no-underline bg-slate-900 text-white hover:bg-sky-800 inline-flex items-center rounded-full gap-2.5 justify-center px-7 py-3 text-md font-semibold leading-none outline-offset-2 transition-all duration-200 ease-in-out active:transition-none" href="https://calendly.com/mark-schmeiser/digital-coffee">
        Willst du wirklich passives Einkommen oder nur weniger Arbeit?        <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="currentColor" class="w-5 h-5 duration-300 ease-in-out text-white group-hover:text-white">
          <path fill-rule="evenodd" d="M5.22 14.78a.75.75 0 001.06 0l7.22-7.22v5.69a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75h-7.5a.75.75 0 000 1.5h5.69l-7.22 7.22a.75.75 0 000 1.06z" clip-rule="evenodd"></path>
        </svg>
      </a>
    </div>
  </div>
</div>]]>
                </description>
            </item>
                                                                                <item>
                <title>Das Gro&#223;e Spiel - Uralte Schuld (Band 7)</title>
                <link>https://mark-schmeiser.de/de/buecher/2026/das-grosse-spiel-uralte-schuld-band-7</link>
                <guid>https://mark-schmeiser.de/de/@/page/bzhyld9llhvjv7og</guid>
                <pubDate>Tue, 20 Jan 2026 08:55:00 +0100</pubDate>
                <dc:creator>Mark Schmeiser</dc:creator>

                                    <category>Buchreview</category>
                
                <description>
                    <![CDATA[<img alt="" src="https://mark-schmeiser.de/media/pages/buecher/2026/das-grosse-spiel-uralte-schuld-band-7/80f1e97de6-1768651227/das-grosse-spiel-vol-7-hero-1000x.jpg">

<p>Im siebten Band der Reihe „Das große Spiel“ steht Michael für sein Rudel ein. Gleichzeitig erfährt er immer mehr über die Geschichte seiner neuen Welt. Dadurch ergeben sich Möglichkeiten und Entscheidungen müssen getroffen werden: die alten Pfade beschreiten und fortsetzen oder neue Wege gehen?</p>
<p>Michaels eigene Entwicklung rückt in den Hintergrund. Ist es sinnvoller, den Blick auf die Gefolgsleute zu richten und sie weiterzubringen? Vom Einzelkämpfer zur Führungsperson. Mancher Manager sollte dies lesen.</p>]]>
                </description>
            </item>
                                                                                <item>
                <title>Story der Woche 03</title>
                <link>https://mark-schmeiser.de/de/blog/2026/story-der-woche-03</link>
                <guid>https://mark-schmeiser.de/de/@/page/c4zvq3xfboditbfv</guid>
                <pubDate>Sun, 18 Jan 2026 08:00:00 +0100</pubDate>
                <dc:creator>Mark Schmeiser</dc:creator>

                                    <category>Story der Woche</category>
                
                <description>
                    <![CDATA[<img alt="" src="https://mark-schmeiser.de/media/pages/blog/2026/story-der-woche-03/4a0e5189e8-1768662734/cw03-1000x.jpg">

<p>Ideen wachsen nicht durch Tempo, sondern durch Richtung. In dieser Story geht es um den Moment, in dem aus einer vagen Vision eine klare Linie wird. Über externe Perspektiven, gute Fragen und den Mut, Dinge bewusst nicht zu tun. Eine Geschichte über Fokus, Reduktion und darüber, warum Klarheit selten allein entsteht.</p><h3>Die Pflanze bekommt Wasser</h3>
<p>Die zarte Pflanze <a href="https://mark-schmeiser.de/de/blog/2026/story-der-woche-02">aus der letzten Story</a> wird weiter gegossen. Kein großer Sprung, kein radikaler Schnitt. Eher dieses leise, konsequente Weitermachen. Genau das, was man oft unterschätzt. Ideen brauchen Pflege, nicht Applaus. Und manchmal reicht es, einfach präsent zu bleiben und nichts kaputt zu optimieren.</p>
<h3>Richtung vor Geschwindigkeit</h3>
<p>Die Idee ist gefasst: Die konzentrik Academy soll entstehen. Nicht als Schnellschuss, sondern als etwas Tragfähiges. Gleichzeitig ist mir klar: Was an Richtung fehlt, lässt sich durch Geschwindigkeit nicht kompensieren. Also halte ich inne und stelle mir die unbequemere Frage: Woher weiß ich eigentlich, dass ich in die richtige Richtung laufe?</p>
<h3>Hilfe rufen ist kein Scheitern</h3>
<p>Die Antwort ist simpel und schwer zugleich: durch jemanden Externen. Jemanden, der das Spielfeld kennt, Muster erkennt und mir einen Spiegel vorhält. Also Hilfe gerufen, einen Workshop vereinbart und bewusst Raum geschaffen, um nicht nur schneller, sondern auch besser zu werden.</p>
<h3>Vorbereitung ist Respekt</h3>
<p>Bis zwei Tage vorher bereite ich Pläne und Übersichten vor. Alles, was mir im Kopf herumfliegt, wird niedergeschrieben. Das Ergebnis ist eine digitale Landkarte in Miro: Kreise, Pfeile, Post-its. Erste Slogans, grobe Zielgruppen, lose Hypothesen. Nicht perfekt, aber vollständig genug, um produktiv zu sein.</p>
<h3>Klarheit entsteht im Gespräch</h3>
<p>Der Workshop-Tag ist da; die Spannung steigt. Und gefühlt einen Augenblick später sind vier Stunden vorbei. Wir laufen die Landkarte ab, knüpfen Analogien, übersetzen Gedanken. Erfahrungswerte werden geteilt, viele Warum-Fragen werden gestellt. Die Klarheit entsteht nicht durch Antworten, sondern durch gezielte Fragen. Mein Bullet-Journal füllt sich – besonders hilfreich sind die Dinge, die ich lasse, vermeide oder bewusst nicht tun werde.</p>
<h3>Klarheit schlägt Komplexität</h3>
<p>Am Ende bleibt Fokus. Kein Nebel mehr, sondern Richtung. Rückblickend wirkt vieles offensichtlich. Und ja, ich könnte denken, dass ich auch alleine darauf gekommen wäre. Die Wahrheit ist: Wäre ich nicht. Weder in der Tiefe noch in der kurzen Zeit. </p>
<p>Wer eine Content-Strategin sucht, die klar denkt und konsequent hinterfragt, ist bei Simone Maader goldrichtig. Darum an dieser Stelle ein herzliches Danke an <a href="https://www.maader.de/">Simone Maader.</a> </p>
<div class="relative px-5 py-12 rounded-2xl bg-gray-100 my-10">
  <!-- Content -->
  <div class="relative items-center w-full">
    <div class="text-center">
      <h3 class="text-4xl m-1 font-semibold text-black font-display sm:text-5xl">
        Willst du schneller werden und dabei sicher sein?      </h3>
      <p class="mx-auto mt-2 text-lg text-black lg:mx-0">
        Viele Firmen optimieren Tempo, bevor sie Orientierung haben. Das fühlt sich produktiv an, ist aber riskant. Zuerst die Prozesse prüfen, dann digitalisieren.      </p>

      <a data-umami-event="cta-tile-click" class="mt-4 no-underline bg-slate-900 text-white hover:bg-sky-800 inline-flex items-center rounded-full gap-2.5 justify-center px-7 py-3 text-md font-semibold leading-none outline-offset-2 transition-all duration-200 ease-in-out active:transition-none" href="https://calendly.com/mark-schmeiser/digital-coffee">
        Lass uns zusammen Geschwindigkeit und Klarheit für dich schaffen        <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="currentColor" class="w-5 h-5 duration-300 ease-in-out text-white group-hover:text-white">
          <path fill-rule="evenodd" d="M5.22 14.78a.75.75 0 001.06 0l7.22-7.22v5.69a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75h-7.5a.75.75 0 000 1.5h5.69l-7.22 7.22a.75.75 0 000 1.06z" clip-rule="evenodd"></path>
        </svg>
      </a>
    </div>
  </div>
</div>]]>
                </description>
            </item>
                                                                                <item>
                <title>Review &#34;The Spirit of Kaizen&#34;</title>
                <link>https://mark-schmeiser.de/de/buecher/2026/review-the-spirit-of-kaizen</link>
                <guid>https://mark-schmeiser.de/de/@/page/cssnnsbnp5n65z4r</guid>
                <pubDate>Sat, 17 Jan 2026 08:00:00 +0100</pubDate>
                <dc:creator>Mark Schmeiser</dc:creator>

                                    <category>Buchreview</category>
                
                <description>
                    <![CDATA[<img alt="" src="https://mark-schmeiser.de/media/pages/buecher/2026/review-the-spirit-of-kaizen/bdb01b4ba4-1767369919/the-spirit-of-kaizen-hero-1000x.jpg">

<p>Ich habe <em>The Spirit of Kaizen</em> von Robert Maurer gelesen – ein starkes Plädoyer dafür, wie nachhaltige Veränderung durch <strong>winzig kleine Schritte</strong> entsteht. Maurer zeigt, wie unser Gehirn vor großen Veränderungen zurückschreckt und wie wir diesem Widerstand begegnen, indem wir so klein starten, dass es fast keinen Mut benötigt. Für alle, die Gewohnheiten aufbauen oder große Ziele erreichen wollen: Dieses Buch bietet eine einfache, aber transformative Denkweise, die im Job und im Alltag wirksam ist.</p><h3>Über den Autor</h3>
<p>Dr. Robert Maurer ist klinischer Psychologe, der an der UCLA und der University of Washington Schools of Medicine lehrt und Gründer des Beratungsunternehmens „The Science of Excellence“ ist. Er verbindet Psychologie mit praktischen Strategien zur kontinuierlichen Verbesserung und berät Organisationen und Einzelpersonen weltweit darin, wie man Veränderungen nicht nur initiiert, sondern auch nachhaltig etabliert.</p>
<h3>Worum geht es im Buch?</h3>
<p><em>The Spirit of Kaizen</em> erklärt, wie echte Veränderung nicht durch große, einschüchternde Schritte entsteht, sondern durch winzige, konsequente Verbesserungen – inspiriert von der japanischen Kaizen-Philosophie der kontinuierlichen Verbesserung. Maurer zeigt, warum unser Gehirn vor großen Veränderungen zurückschreckt und wie kleine Schritte diesen Widerstand umgehen, sodass Gewohnheiten wachsen und große Ziele erreicht werden.</p>
<p>Neben der Philosophie der kleinen Schritte greift Maurer noch einen weiteren Punkt auf: Kreativität ist keine Fähigkeit, die man hat oder nicht, sondern eine Aktivität. Wie jede Aktivität kann sie trainiert und mit der richtigen Aufmerksamkeit verbessert werden. Dabei gilt es, die Aufmerksamkeit auf die alltäglichen kleinen Dinge zu richten. Ganz im Sinne der 1%-Methode.</p>
<h3>Was ist daran toll?</h3>
<p>Das Buch liefert eine pragmatische, leicht verständliche Anleitung zur Veränderung im Alltag, in der Arbeit und in der Führung. Die Idee, Angst vor Veränderung zu umgehen, indem man so kleine Schritte wählt, dass sie unser „Alarmzentrum“ nicht auslösen, ist kraftvoll und sofort anwendbar. Zudem liefert Maurer zahlreiche Beispiele dafür, wie Kaizen sowohl im persönlichen Leben als auch in Teams echte Wirkung entfaltet.</p>
<p>Ich habe beim Lesen direkt Ideen entwickelt. Zwei Beispiele aus verschiedenen Bereichen:</p>
<ul>
<li>Die Süßigkeiten nicht im Keller in der Nähe des Heimkinos zu verstauen, sondern auf dem Dachboden – ich bin gespannt, wie sich das auf mein Naschverhalten auswirkt. </li>
<li>Meinen Jahresvorsatz aufzuschreiben und eine dazugehörige Frage präsent zu positionieren: Was kann ich heute tun, um ein weiteres Experiment voranzubringen?</li>
</ul>
<h3>Das beste Zitat und was daran besonders ist</h3>
<blockquote>
<p>These steps are so small that they may seem useless, but that’s why they work. If the amygdala is like an alarm system, small steps are like cat burglars… Your alarm never goes off</p>
</blockquote>
<p>Dieses Bild macht greifbar, warum kleine Veränderungen oft effektiver sind als große – sie umgehen Widerstand und öffnen Raum für Kreativität und Wachstum. Mit den kleinen Schritten – selbst Stolpern ist ein Schritt – bewege ich mich voran und komme an; im Gegensatz zu einem großen Schritt, den ich nie wagen würde.</p>
<h3>Was habe ich gelernt?</h3>
<p>Veränderung benötigt keine riesigen Vorsätze. Wenn ich meine Ziele in minimale, nicht bedrohlich wirkende Schritte zerlege, verliere ich weder den Mut noch die Motivation. Durch regelmäßig kleine Verbesserungen wird mein Denken flexibler und meine Gewohnheiten stabiler.</p>
<p>Die Theorie klingt überzeugend, wirkt für mich jedoch wie Bremsen. Doch es reicht, mich daran zu erinnern, warum ich prokrastiniere: Ich will dem Gefühl entgehen, das die Aufgabe in mir hervorruft. Und genau das meint Maurer. An dieser Stelle setzt Kaizen an. Ich habe mir fest vorgenommen, noch viel kleinteiliger zu denken. Hauptsache, der erste Schritt ist gemacht.</p>
<p>Neben Kaizen gibt es weitere Ansätze aus Japan, etwa Wabi-Sabi oder Ikigai, um nur ein paar zu nennen. Ich habe in meinem <a href="https://mark-schmeiser.de/de/blog/2025/newsletter-010">Newsletter #010</a> im Kontext von Overthinking darüber geschrieben. Denkmuster wie Kaizen helfen mir in diesem Zusammenhang. </p>
<h3>Warum sollte jede:r das Buch lesen?</h3>
<p>Weil es ein Grundverständnis dafür vermittelt, <strong>wie Veränderung wirklich funktioniert</strong> – nicht durch Druck und große Schritte, sondern durch sanfte, kontinuierliche Bewegung. Für Menschen, die feststecken oder große Ziele haben, aber nie den ersten Schritt machen, ist das ein echter Game-Changer.</p>
<p>Mit meinem Vorsatz, 2026 mehr Experimente zu wagen, Dinge auszuprobieren und auf den Zug „passives Einkommen“ aufzuspringen, heißt es: Raus aus der Komfortzone. Nicht mit einem großen Sprung, sondern mit vielen kleinen Schritten. Wenn du auch an so einem Punkt stehst, ist das Buch eine Leseempfehlung.</p>
<div class="relative px-5 py-12 rounded-2xl bg-gray-100 my-10">
  <!-- Content -->
  <div class="relative items-center w-full">
    <div class="text-center">
      <h3 class="text-4xl m-1 font-semibold text-black font-display sm:text-5xl">
        Kleine Schritte oder große Vorsätze?      </h3>
      <p class="mx-auto mt-2 text-lg text-black lg:mx-0">
        Kaizen stellt unsere Vorliebe für radikale Veränderungen infrage. Dieses Buch ist genau dein Gegenpol zu Neujahrsvorsätzen und Transformationsprogrammen. Lies es – und entscheide dich.      </p>

      <a data-umami-event="cta-tile-click" class="mt-4 no-underline bg-slate-900 text-white hover:bg-sky-800 inline-flex items-center rounded-full gap-2.5 justify-center px-7 py-3 text-md font-semibold leading-none outline-offset-2 transition-all duration-200 ease-in-out active:transition-none" href="https://calendly.com/mark-schmeiser/digital-coffee">
        Jeden Tag 1 % besser werden oder einmal im Jahr alles umkrempeln?        <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="currentColor" class="w-5 h-5 duration-300 ease-in-out text-white group-hover:text-white">
          <path fill-rule="evenodd" d="M5.22 14.78a.75.75 0 001.06 0l7.22-7.22v5.69a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75h-7.5a.75.75 0 000 1.5h5.69l-7.22 7.22a.75.75 0 000 1.06z" clip-rule="evenodd"></path>
        </svg>
      </a>
    </div>
  </div>
</div>]]>
                </description>
            </item>
                                                                                <item>
                <title>Node.js und Logging &#8211; Teil 9: Performance-Logging der Http-Requests</title>
                <link>https://mark-schmeiser.de/de/blog/2026/node-js-und-logging-teil-9-performance-logging-der-http-requests</link>
                <guid>https://mark-schmeiser.de/de/@/page/spdxeiv04n7z6usx</guid>
                <pubDate>Fri, 16 Jan 2026 08:00:00 +0100</pubDate>
                <dc:creator>Mark Schmeiser</dc:creator>

                                    <category>Software Engineering</category>
                
                <description>
                    <![CDATA[

<p>Performance gehört in die Logs – zumindest so weit, dass wir beim Lesen verstehen, was passiert ist. In diesem Artikel ergänzen wir unsere HTTP-Endpunkte um aussagekräftige Performance-Logs: Welcher Endpunkt wurde aufgerufen und wie lange hat er gedauert? Ziel sind keine Metriken, sondern ein besseres Verständnis beim lokalen Entwickeln und Testen.</p><p>Ein wichtiger Aspekt des Loggings ist der Einblick in die Performance der Applikation. Für unsere Http-Endpunkte wollen wir genau diesen Aspekt aufgreifen: Jeder Http-Request soll zum Schluss ein Log schreiben, in dem deutlich wird, welcher Endpunkt aufgerufen wurde und wie lange die Bearbeitung gedauert hat.</p>
<p>Durch dieses Feature erhalten wir keine Statistiken und Auswertungen. Dafür nutzen wir in Produktivumgebungen andere Tools wie Prometheus, Loki und Grafana. Bei diesem Ansatz geht es darum, während der lokalen Entwicklung sowie in einer Testumgebung in den Logs Anhaltspunkte zu finden.</p>
<p>Eine meiner Angewohnheiten ist, während der Entwicklung die Logs zu lesen. Die Logs sollten sich wie eine Art Geschichte lesen, die beschreibt, was im Code vorgefallen ist. Das aufmerksame Lesen hat mich schon oft Ungereimtheiten finden lassen, die sich als Bauchgefühl äußerten: "Da stimmt doch was nicht." Dem Gefühl kann ich durch gezielte Tests nachgehen.</p>
<p>Wieder zurück zu unserem Ziel für heute. Um das zu erreichen, liegen folgende Schritte vor uns:</p>
<ol>
<li>Entwicklung der Express-Middleware</li>
<li>Einbindung in die Applikation</li>
</ol>
<p>Bevor wir loslegen, schau dir die bisherigen Artikel dieser Serie an. Du findest die Links im <a href="https://mark-schmeiser.de/de/blog/2026/node-js-und-logging-ein-uberblick-zur-artikelserie">Überblick zur Artikelserie</a>.</p>
<h3>1. Entwicklung der Express-Middleware</h3>
<p>Bei der Entwicklung machen wir uns die Funktion des NPM-Pakets <a href="https://www.npmjs.com/package/morgan">Morgan</a> zunutze. Wir können Morgan aufrufen und eine Middleware zurückbekommen. Beim Aufruf definieren wir einige relevante Parameter, die sich als sinnvoll erwiesen haben:</p>
<ul>
<li><em>skipLog</em> ermöglicht es uns, anhand des Requests ein Prädikat zu formulieren, das angibt, ob wir an der Performanceausgabe interessiert sind. Dabei schließen wir einige Fälle aus. Die Details findest du im Code-Snippet.</li>
<li><em>immediate</em> ermöglicht es uns, das Log am Anfang des Requests zu verfassen. Sollte unsere Applikation unvermittelt abstürzen, wäre der Eintrag im Log zu finden. In diesem Moment haben wir nur ein reduziertes Set an Informationen, wissen jedoch aus diesem Request, was in kritischen Fällen wertvoll ist. → Deswegen nutzen wir zwei Express-Middleware-Logs. Die Details siehst du im Code-Snippet.</li>
</ul>
<h4>Das Skip-Prädikat</h4>
<p>Die Prüfung des Request-Objekts ist umfangreich, daher lagern wir sie in eine eigene Funktion aus. Ziel ist, die Performance-Log-Ausgabe auf die Http-Endpunkte zu beschränken. </p>
<pre><code class="language-javascript">/**  
 * Determine if the request should skip logging. This applies to static resources and health checks.
 * Additionally, OPTIONS requests are skipped because with CORS preflight requests, they would flood the logs. 
*/
const skipLog = (req: Request) =&gt; {  
  let url = req.url  

  // Skip OPTIONS requests to reduce log noise from CORS preflight requests  
  if (req.method === 'OPTIONS') {  
    return true  
  }  

  // Skip static resource requests  
  if (url.match(/(js|jpg|png|ico|css|woff|woff2|eot)$/gi)) {  
    return true  
  }  

  // Skip our health check endpoint (commonly used in cluster hosting with Kubernetes)  
  if (url.includes('health')) {  
    return true  
  }  

  // Skip metrics endpoint to reduce log noise from monitoring systems  
  if (url.includes('metrics')) {  
    return true  
  }  

  return false  
}</code></pre>
<h4>Die zwei Morgan-Middleware-Definitionen</h4>
<p>Dank Morgans Flexibilität ist es sinnvoll, zwei Middleware-Definitionen vorzubereiten:</p>
<ul>
<li>Eine schlanke Ausgabe über den Eingang eines Requests, bestehend aus dem Http-Verb und dem Endpunkt.</li>
<li>Eine vollständige Ausgabe mit allen Details, die uns interessieren: Dauer in Millisekunden, Response-Größe und Performance. Hierbei unterscheiden wir zwei Ausgaben<ul>
<li><code>response-time</code><ul>
<li>Misst die Zeit vom Erreichen des Requests bei Morgan bis zum Schreiben der Response-Header.​</li>
<li>Nützlich, um die Dauer der App-Logik (Routing, DB-Abfragen etc.) zu sehen, unabhängig vom Versenden des Bodys.</li>
</ul>
</li>
<li><code>total-time</code><ul>
<li>Misst die Zeit vom Erreichen des Requests bei Morgan bis zum vollständigen Abschluss des Response-Versands.​</li>
<li>Beinhaltet die Streaming-Zeit des Response-Bodys (z. B. bei großen Downloads), daher immer größer oder gleich <code>response-time</code>.</li>
</ul>
</li>
</ul>
</li>
</ul>
<pre><code class="language-javascript">const immediateRequestLogMiddleware = morgan(`:method :url`, {  
  stream: {write: (text: string) =&gt; LogService.debug(text.trim())},  
  immediate: true, // Log at the beginning of the request  
  skip: skipLog, // Skip logging for certain requests  
})  

const responsePerformanceLogMiddleware = morgan(  
  `:method :status :url (:res[content-length] bytes) Response-time :response-time ms Total-time :total-time ms`,  
  {  
    stream: {write: (text: string) =&gt; LogService.verbose(text.trim())},  
    immediate: false, // Log after response is sent  
    skip: skipLog, // Skip logging for certain requests  
  },  
)</code></pre>
<h3>2. Einbindung in die Applikation</h3>
<p>Für die Einbindung bleiben wir unserer Syntax treu, wie wir sie für die Correlation-ID-Middleware verwendet haben. Die Einbindung erfolgt wie folgt:</p>
<pre><code class="language-javascript">import PerformanceLogMiddleware from '@/services/PerformanceLogMiddleware'

const app = express()  
CorrelationIdMiddleware(app)
PerformanceLogMiddleware(app) // &lt;- our new middleware
RegisterRoutes(app)</code></pre>
<p>Damit der Aufruf so klappt, definieren wir die Middleware:</p>
<pre><code class="language-javascript">export default function PerformanceLogMiddleware (app: Router) {  
  app.use(immediateRequestLogMiddleware)  
  app.use(responsePerformanceLogMiddleware)  
}</code></pre>
<h2>Fazit</h2>
<p>Mit der heutigen Ergänzung sehen wir in den Logs wichtige Performance-Details. Ein Aufruf des Http-Endpunkts sieht jetzt wie folgt aus:</p>
<pre><code class="language-sh">[2026-01-10T07:43:51.025Z - 67b5824a-5689-4349-92e5-003243bd24c8] debug GET /users/jwt
[2026-01-10T07:43:51.027Z - 67b5824a-5689-4349-92e5-003243bd24c8] info Getting user token
[2026-01-10T07:43:51.028Z - 67b5824a-5689-4349-92e5-003243bd24c8] debug Token sign options: {
  "issuer": "demo-company",
  "subject": "user-uuid",
  "audience": "https://demo-company.de",
  "expiresIn": 86400,
  "algorithm": "RS256"
}
[2026-01-10T07:43:51.065Z - 67b5824a-5689-4349-92e5-003243bd24c8] verbose GET 200 /users/jwt (984 bytes) Response-time 37.273 ms Total-time 39.520 ms</code></pre>
<p>Damit sind wir auch am Ende der Artikelserie angekommen. Ich plane, bald weitere Artikel zum Thema Node.js zu veröffentlichen. Dabei werde ich die Schwerpunkte Applikationsstart und -ende betrachten und meine Erfahrungen hinsichtlich der NPM-Pakete teilen, die bei einem produktiven Einsatz zwingend erforderlich sind (CORS, Rate-Limiting, Parameter Pollution Protection usw.). Zusätzlich gibt es einige Tipps, die ich dir zur Einbindung von Prisma als ORM mitgeben möchte.</p>
<p>Danke fürs Lesen. Bis zur nächsten Artikelserie.</p>]]>
                </description>
            </item>
            </channel>
</rss>
