Thorsten Zöller 2026-06-03 Thorsten Zöller https://thorstenzoeller.com <p>Running Anki inside Xephyr</p> https://thorstenzoeller.com/anki-inside-xephyr 2023-02-26 2023-02-26 <h1 id="running-anki-inside-xephyr">Running Anki inside Xephyr</h1> <p>2023-02-26</p> <p><a href="https://apps.ankiweb.net/">Anki</a> is a great tool for memorizing things, like words in a foreign language you want to learn. I am using it for memorizing Vietnamese words in my endeavor to learn Vietnamese.</p> <p>I am currently running Anki 2.1.16 on OpenBSD 7.1. Unfortunately, quite often Anki freezes after using it for some time, without any advance notice. When this happens, I can no longer do anything except moving the mouse pointer. I cannot switch windows and not even switch to the console in order to forcefully quit Anki. Apparently, it crashes the whole system, and the only way out is a forceful reboot.</p> <p>I do not know what causes this behavior or if there is any fix for it. It seems that I am not the only one experiencing this, but I have not yet found a solution to this behavior.</p> <p>I did find a workaround, however: Running Anki inside of <a href="https://man.openbsd.org/Xephyr">Xephyr(1)</a> (a nested X server that runs as an X application and is part of OpenBSD base) seems to prevent it from freezing. The workaround involves three steps:</p> <ol> <li>Launch <code>Xephyr</code> on display <code>:1</code> (or any other display differing from your main display, which is usually <code>:0</code>).</li> <li>Launch <code>cwm</code> inside the <code>Xephyr</code> window just created (it is necessary to run a window manager since Anki employs multiple windows in general; of course, any other window manager can be used as well).</li> <li>Lauch Anki inside the <code>Xephyr</code> window.</li> </ol> <p>For convenience, I have created a small shell script for executing these steps:</p> <pre><code>Xephyr -br -ac -noreset -screen 1920x1080 :1 &amp; cwm -c .cwmrc_xephyr -d :1 &amp; DISPLAY=:1 anki &amp; </code></pre> <p>Of course, the value of the <code>screen</code> command line parameter of <code>Xephyr</code> needs to be adjusted to your screen size. Also, I run <code>cwm</code> in the <code>Xephyr</code> window with a specific configuration file.</p> <p>It works well, but strangely, after a while <code>cwm</code> seems to stop running inside <code>Xephyr</code>. This is inconvenient because it makes it impossible to switch between different Anki windows. The solution is to simply restart <code>cwm</code> by manually executing the second line of the script again.</p> <p>Obviously, this is not a real fix to the problem, but it works. Hopefully, Anki will get more stable in the future so that this workaround will no longer be needed.</p> <p>The Melancholy of the Day</p> https://thorstenzoeller.com/day 2023-02-11 2023-02-11 <h1 id="the-melancholy-of-the-day">The Melancholy of the Day</h1> <p>2023-02-11</p> <p>A new day begins, in the dark, in silence. Everything is still asleep; there is barely any activity, any motion. It is a state of peace and serenity. There is nothing to accomplish, no hustle and bustle; everything is immersed in stillness.</p> <p>Then, the sun begins to rise, and slowly the world awakens from its sleep. Not much is happening yet, but the new day is full of potential, full of opportunities. An atmosphere of departure prevails. Everything seems possible, nothing impossible. As the sun continues to rise, a tension develops, as the inactivity of the night wants to release itself into activity.</p> <p>Around noon, when the sun is highest in the sky, the day is most powerful. Glittering light falls from the outside into the rooms; light which is so strong that it blinds. The day is now bursting with energy. Everything is possible, and no end of this state is conceivable.</p> <p>But then comes the afternoon, and slowly, very slowly, the sun begins its descent. At first barely visible, it does not take long until it becomes clear that the day cannot maintain its power. First shades emerge, and the light is no longer as glittering as it was before; it is slightly dimmer now than just a short time ago. And it is constantly changing. It becomes ever softer and warmer the deeper the sun is in the sky. It still fills the rooms, but instead of dominating them, it becomes tender. The light immerses everything in dim, warm colors, and the shades become longer and longer. It is a mystical, almost magical atmosphere which now accrues.</p> <p>But this change of light, of the mood, is accompanied by a certain melancholy, and the melancholy grows the longer the day lasts and the fainter the light becomes. The steady change of light, proceeding faster and faster, leaves no doubt that the end of the day approaches. Some time still remains, but it seeps away quickly, second for second, minute for minute. The time when the day seemed invincible is now long gone; long gone is the time when it seemed that the day would prevail forever. It is absolutely clear now that it will be over soon. It had just brimmed over with power, with self-confidence, with energy–but now it becomes weaker and ever weaker, and very soon it will be history and forever, irretrievably gone.</p> <p>Michael W Lucas: “Ed Mastery”</p> https://thorstenzoeller.com/ed-mastery 2024-09-29 2024-09-29 <h1 id="michael-w-lucas-ed-mastery">Michael W Lucas: “Ed Mastery”</h1> <p>2024-09-29</p> <p>The average user may not think a lot about which text editor to use. For us, however, the choice of a text editor is a very serious matter.</p> <p>I’ll admit it: I have always felt a little proud to be a <a href="https://man.openbsd.org/vi">vi(1)</a> user (I even have a dedicated <a href="/vi/">vi page</a> on my website). After having read <a href="https://mwl.io/nonfiction/tools#ed">Ed Mastery</a> by <a href="https://mwl.io/">Michael W Lucas</a>, however, I feel somewhat wimpy about it.</p> <p>Only recently did I stumble across the book, and I was surprised that a book about <a href="https://man.openbsd.org/ed">ed(1)</a> – “the standard Unix text editor” – even exists. Yet, I knew immediately that I would have to read it. The mere existence of a book about <a href="https://man.openbsd.org/ed">ed(1)</a> was enough to convince me that it will be worth it.</p> <p>And I was not disappointed (not that I had expected that…). Michael W Lucas’ style of writing is hilarious, and first and foremost, it is simply a pleasure to read.</p> <p>Admittedly, I never really looked past <a href="https://man.openbsd.org/vi">vi(1)</a> in the history of Unix text editors. I roughly new that <a href="https://man.openbsd.org/ex">ex(1)</a> and <a href="https://man.openbsd.org/ed">ed(1)</a> are predecessors of <a href="https://man.openbsd.org/vi">vi(1)</a> and that they are line editors, but they always seemed a bit too peculiar and exotic to me to justify looking into them in more detail (mostly because they are line editors, stemming from a time when monitors were not yet common or even available – one cannot take a line editor seriously these days, can one?). While I always felt that no real progression has taken place in editor development since the advent of <a href="https://man.openbsd.org/vi">vi(1)</a> (which explicitly includes editors like <a href="https://www.vim.org/">Vim</a> or <a href="http://neovim.io/">Neovim</a>), I always implicitly assumed that <a href="https://man.openbsd.org/vi">vi(1)</a> <em>was</em> in fact a progression from <a href="https://man.openbsd.org/ed">ed(1)</a> and <a href="https://man.openbsd.org/ex">ex(1)</a> (reflecting the progression from line printers to monitors for displaying output). After reading <a href="https://mwl.io/nonfiction/tools#ed">Ed Mastery</a>, though, I am not so certain about it anymore. I thought <a href="https://man.openbsd.org/vi">vi(1)</a> was the pinnacle of simplicity, beauty and efficiency, but maybe I was wrong all along.</p> <p>A while ago, there was a great post titled <a href="https://stackoverflow.com/a/1220118">Your problem with Vim is that you don’t grok vi.</a> on Stack Overflow (read it if you haven’t yet!). It basically states that many of the features of <a href="https://www.vim.org/">Vim</a> that are generally considered improvements over <a href="https://man.openbsd.org/vi">vi(1)</a> (<em>Vi IMproved</em>, you know?), making it more “user friendly”, are in fact feature creep (visual mode? why?) and simply exist because users don’t want to take the time to get really familiar and acquainted with <a href="https://man.openbsd.org/vi">vi(1)</a>. It is the antidote to Antoine de Saint-Exupéry’s famous statement “Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.”<sup id="fnref:1"><a href="#fn:1" class="footnote" rel="footnote" role="doc-noteref">1</a></sup></p> <p>I am wondering if something similar could not be said about <a href="https://man.openbsd.org/ed">ed(1)</a> as well: “Your problem with vi is that you don’t grok ed.”</p> <p>In any event, after reading <em>Ed Mastery</em>, many known features from <a href="https://man.openbsd.org/vi">vi(1)</a> will make more sense. And even though it is rather unlikely that most users will ditch their editor of choice right away in favor of <a href="https://man.openbsd.org/ed">ed(1)</a> after reading the book, I am convinced that it will improve your editing skills (if you use an editor descending from <a href="https://man.openbsd.org/ed">ed(1)</a>, that is – otherwise, all hope is lost anyway).</p> <p>In summary: Experiencing joy while reading the book and learning profound things along the way: What more could you wish for from a book?</p> <p>Therefore my recommendation: <a href="https://mwl.io/nonfiction/tools#ed">Get the book</a>, read it and grok <a href="https://man.openbsd.org/ed">ed(1)</a>, now!</p> <p><em>Note:</em> Peter N. M. Hansteen has already written <a href="https://nxdomain.no/~peter/ed_mastery_is_a_must_for_real_unix_person.html">a great review</a> of the book several years ago, and actually I feel that there is not much I could add to it (apart from my casual ranting you spent the last couple of minutes reading). You should definitely read it as well if you haven’t!</p> <div class="footnotes" role="doc-endnotes"> <ol> <li id="fn:1"> <p>I’ll happily admit that I do use <a href="https://neovim.io/">Neovim</a>. Have I ever claimed that I live up to my own standards, after all? <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> </ol> </div> <p>How I Use Vim</p> https://thorstenzoeller.com/how-i-use-vim 2025-08-30 2025-08-30 <h1 id="how-i-use-vim">How I Use Vim</h1> <p>2025-08-30</p> <p>First things first: This is a contribution to the first ever <a href="https://lazybea.rs/carnivals/">Vim Carnival</a>, initiated by <a href="https://lazybea.rs/">Hyde</a>, and it is an honor to be part of it! A big “thank you” to Hyde for coming up with this great idea, organizing the carnival and hosting the <a href="https://lazybea.rs/vim-carnival-202509/">first one</a>!</p> <p><em>Note: In the whole article, I am mostly using “Vim” as a general term referring to any Vim-like editor (i.e. it encompasses in particular both <a href="https://www.vim.org/">Vim</a> and <a href="https://neovim.io/">Neovim</a>), unless otherwise stated.</em></p> <h2 id="my-history-of-using-vim----a-personal-account">My History of Using Vim – A Personal Account</h2> <p>When I first grappled with Linux in the mid-to-late 1990s, I was inevitably confronted with the question of which editor to use. There was a huge amount of editors to choose from, but I quickly learned that there were two editors which were mentioned much more than others, and those two editors obviously were vi and Emacs. I started playing around a little bit with Emacs, but soon I realized that it was not the right editor for me. I was looking for a tool which allowed me to edit text files, and nothing else. And Emacs definitely allows one to do <em>a lot more</em> than just editing text files.</p> <p>Now it is certainly not my intention to revive one of the most famous holy wars ever. I completely understand if people use Emacs if this is the right editor for them (or any other editor, for that matter). For me, however, vi (or rather Vim at that time) turned out to be the right editor.</p> <p>Its simplicity and minimalist appearance appealed a lot to me. I liked that the mouse played no role in using it. And I knew that there was no need for me to look any further.</p> <p>I guess I was drawn to vi for the same reasons I was – albeit many years later – drawn to the <a href="https://www.openbsd.org">OpenBSD</a> operating system: I like things to be minimal. In particular, tools should do one thing only and do it well (the core of the <a href="https://en.wikipedia.org/wiki/Unix_philosophy">Unix philosophy</a>, by the way).<sup id="fnref:1"><a href="#fn:1" class="footnote" rel="footnote" role="doc-noteref">1</a></sup></p> <p>Once I started using Vim, I never felt any desire to switch to another editor, and it is now my editor of choice since more than a quarter of a century (and I am so fond of it that I even maintain a dedicated <a href="/vi/">vi page</a>).</p> <h2 id="so-how-do-i-actually-use-vim">So, How Do I Actually Use Vim?</h2> <p>I do basically all my editing and writing in Vim, from e-mails to my PhD thesis (and, obviously, this very article as well). I also do all of my programming in Vim (no need for fancy IDEs). It is suitable for minor editing tasks just as well as for large writing or programming projects, and it has never failed me. It is fast – <em>really</em> fast –, and plain vi is available on basically every Unix installation out there – no matter what flavor of Unix or what age it is.</p> <p>I love that it is a modal editor. In contrast to most other editors, pressing a key does not automatically make the corresponding character appear on the screen – it only does if you happen to be in insert mode. Otherwise, it is interpreted as a command. This allows for pretty easy key combinations for most simple and elementary commands (in contrast to non-modal editors, where one always has to escape entering characters, which necessarily leads to more complex key combinations). I also love that commands are very logical in a specific way; one could argue that they form some sort of a language. I will not dive into the details here; that would make for an entire new article (or two or three…). It has been claimed that editing text in Vim is an almost Zen-like experience, and while I feel that this does not really do justice to Zen, I completely get what is meant by that statement.</p> <p>I do not use any plugins, although there is a huge ecosystem of plugins available for Vim (and Neovim even declares itself a “hyperextensible Vim-based text editor” on its <a href="https://neovim.io/">website</a>). I simply do not have any need for them. While there are certainly plugins which aim at improving the <em>editing</em> experience, my impression is that many plugins try to make Vim into something more than an editor. As mentioned earlier, though, that was one of the major reasons for me <em>not</em> to use Emacs. I do not want Vim to be more than an editor. I want to have an editor – no more and no less, period.</p> <p>Actually, I do not even care much about many of the <em>improvements</em> of Vim over plain vi (Vim is “Vi IMproved”, after all…). For instance, I never use visual mode. While it may be helpful when one is new to Vim<sup id="fnref:2"><a href="#fn:2" class="footnote" rel="footnote" role="doc-noteref">2</a></sup> – and in particular when one is used to GUI editors allowing one to mark text –, it is probably not the most efficient way to accomplish most of the things it is used for. In fact, I would argue that it would be a good idea to use plain vi for quite some time before (potentially) moving on to Vim. Many people probably do not even know how to accomplish things in vi without resorting to the <em>improvements</em> Vim offers. Yet, I am convinced that many of those <em>improvements</em> are improvements only in a superficial way. All this is elaborated extremely well in a reply on Stack Overflow, <a href="https://stackoverflow.com/a/1220118">Your problem with Vim is that you don’t grok vi</a>. I suggest reading it to everyone who is using Vim.</p> <p>So, in a perfect world, I would be using plain vi instead of Vim<sup id="fnref:3"><a href="#fn:3" class="footnote" rel="footnote" role="doc-noteref">3</a></sup>, and actually this is what I did for a couple of years.<sup id="fnref:4"><a href="#fn:4" class="footnote" rel="footnote" role="doc-noteref">4</a></sup> There are some reasons, though, why I switched to using Neovim for most things. One reason is that multiple levels of “undo” <em>is</em> in fact a real improvement over vi. Besides, I hail from one of those strange countries where people like to draw little dots above the letters, so Unicode support is practically non-negotiable for me. Also, I do use syntax highlighting, though I consider it by no means necessary (contrary to what I used to believe before using plain vi exclusively for a while).</p> <p>My <code>.vimrc</code> is very simple as well. While I am quite impressed by all the config files one can find on the Internet which are hundreds of lines long, and while I have a tendency myself to tweak config files way too much, I prefer to keep things simple here as well. Setting a few options fully suffices to make Vim behave the way I like.</p> <p>Now, while one might get that impression, it is certainly not my intention to argue against using Vim and in favor of vi. While I do think that Vim has become rather bloated over time, I use it on a daily basis and am most happy with it. My point is to direct the focus on the beautiful core of Vim – which is pretty close to plain vi in my opinion, yet extends it in certain ways. I sometimes like to compare vi and Vim to C and C++:<sup id="fnref:5"><a href="#fn:5" class="footnote" rel="footnote" role="doc-noteref">5</a></sup> There is this beautiful, rather small and well-defined, yet immensely powerful language C. And then there is C++, which extends C by far, adding feature over feature to it. Both are used heavily, and there are certainly reasons for both; but in most cases, I would rather use C instead of C++ (if I used them at all…).</p> <p>So, coming back to the subject of this article, the question of how I use Vim: I use it mostly the way I would use plain vi, but I also happily make use of those extensions I find useful – which are rather few, though. While I have used Vim for decades, I am sure I only employ a small fraction of the possibilities Vim – or even vi – offers. I might become more efficient by putting work into learning more subtle and intricate features, but I feel no real need for it. I know that, should I need a particular feature, I will most certainly find it – if not in vi, then in Vim. Most of the time, though, I am happy using a select set of commands in a more or less efficient way.</p> <p>There is so much more to say about Vim (maybe in the context of another Vim Carnival?), but for now, I will close my ramblings about Vim with one last observation: I do not just <em>use</em> Vim – I <em>enjoy</em> using it, a lot.</p> <h2 id="further-reading">Further Reading</h2> <p>There are a lot of great text about Vim out there (for a selection, see my <a href="/vi/">vi page</a>), so I would just like to mention two particular ones here:</p> <ul> <li><a href="https://moolenaar.net/habits.html">Seven habits of effective text editing</a> by Bram Moolenaar, author of <a href="https://www.vim.org/">Vim</a>.</li> <li><a href="http://www.viemu.com/a-why-vi-vim.html">Why, oh WHY, do those #?@! nutheads use vi?</a></li> </ul> <p>There once was another nice article called “Grokking the Zen of the Vim Wu-Wei”, but unfortunately the original link is broken, and I cannot find it anywhere else. If someone does manage to find it, I would be grateful for the link.</p> <p><strong>Update 2026-01-11</strong>: Thankfully, the author himself has provided the link to the article, so here it is:</p> <ul> <li><a href="https://jeetworks.org/grokking-the-zen-of-the-vi-wu-wei/">Grokking the Zen of the Vi Wu-Wei</a></li> </ul> <hr /> <div class="footnotes" role="doc-endnotes"> <ol> <li id="fn:1"> <p>Strangely, I recently found two articles which make the very same point with respect to coffee preparation: <a href="https://btxx.org/posts/one-thing/">My Coffee Maker Just Makes Coffee</a>, and <a href="https://www.fromjason.xyz/p/notebook/the-bliss-of-good-enough-an-ode-to-my-moka-pot/">The bliss of good enough— an ode to my moka pot</a>. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> <li id="fn:2"> <p>And I have used it myself for many years, I should add. <a href="#fnref:2" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> <li id="fn:3"> <p>And in an even more perfect world, I would be using <a href="/ed-mastery/">ed</a>. <a href="#fnref:3" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> <li id="fn:4"> <p>To be more precise, I was using nvi. <a href="#fnref:4" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> <li id="fn:5"> <p>Though the comparison is admittedly far from perfect… <a href="#fnref:5" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> </ol> </div> <p>A Simple E-Mail Reminder System Based on cron and at</p> https://thorstenzoeller.com/mail-reminder 2023-02-10 2023-02-10 <h1 id="a-simple-e-mail-reminder-system-based-on-cron-and-at">A Simple E-Mail Reminder System Based on cron and at</h1> <p>2023-02-10</p> <p>Since I cannot keep everything I have to remember in my head, I need a reminder system. While I would prefer an analog system (ideally one that integrates with my system for keeping track of tasks), I have not found a satisfying analog solution so far.</p> <p>I am not looking for a full-fledged calendar system. If I were, I would be using <a href="https://www.roaringpenguin.com/products/remind">Remind</a> or <code>calendar</code>.<sup id="fnref:1"><a href="#fn:1" class="footnote" rel="footnote" role="doc-noteref">1</a></sup> But they offer way more features than I need.</p> <p>I basically have two requirements for my reminder system:</p> <ul> <li>It has to remind me reliably by e-mail about things a certain time in advance.</li> <li>It has to be simple and have as few external dependencies as possible.</li> </ul> <p>The solution I have come up with is almost too trivial to share: It employs <code>cron</code> and <code>at</code> to schedule reminders, which are sent as e-mails via a remote SMTP server when they are due.</p> <h2 id="the-setup">The Setup</h2> <p>The system depends on the following ingredients:</p> <ul> <li>A machine which is up 24/7 – for scheduling reminders for arbitrary times.<sup id="fnref:2"><a href="#fn:2" class="footnote" rel="footnote" role="doc-noteref">2</a></sup> I am using a server hosted on <a href="https://openbsd.amsterdam/">OpenBSD Amsterdam</a>.</li> <li><code>smtpd</code> – for <a href="/smtpd-relay/">relaying e-mails to a remote SMTP server</a>.</li> <li><code>cron</code> – for scheduling recurring reminders (like birthdays).</li> <li><code>at</code> – for scheduling nonrecurring reminders (like one-time events, or events which recur in irregular intervals).</li> <li><code>mail</code> – for sending e-mails non-interactively.</li> </ul> <p>On <a href="https://www.openbsd.org/">OpenBSD</a>, all the required software is part of the base system; see <a href="https://man.openbsd.org/smtpd.8">smtpd(8)</a>, <a href="https://man.openbsd.org/cron.8">cron(8)</a>, <a href="https://man.openbsd.org/at.1">at(1)</a>, <a href="https://man.openbsd.org/mail.1">mail(1)</a>.</p> <p>Both <code>cron</code> and <code>at</code> basically take two kinds of data as input: A timestamp which specifies <em>when</em> something is to be done, and an action which specifies <em>what</em> is to be done at the specified time.</p> <p>Regardless of whether a reminder is recurring or nonrecurring, I want an e-mail to be sent to me at the specified time. Therefore, the action in both cases is sending an e-mail to me reminding me of the given event. Since the e-mail needs to be sent non-interactively when the given time is reached, the <code>mail</code> utility is invoked, and the reminder text is passed to it as the mail subject (since they are usually short, I only specify a subject and leave the body empty; then I don’t even have to open the e-mail).</p> <p>In order not to have to specify the non-changing details (like the e-mail address) for sending the mail each time, I employ a small script called <code>mailrem</code> which is basically a wrapper around <code>mail</code> which takes the reminder text as its argument:</p> <pre><code>#!/bin/sh from="John Doe &lt;john.doe@email.com&gt;" subject="$1" echo | mail -r "$from" -s "$subject" "$from" </code></pre> <p>Finally, in order for <code>mail</code> to be able to send mails to a remote SMTP server, <code>smtpd</code> needs to be <a href="/smtpd-relay/">configured such that it relays outgoing mail to a remote server</a>.</p> <h2 id="usage">Usage</h2> <p>E-mail reminders are sent by calling <code>mailrem</code> with the specific reminder text as its argument, e.g.</p> <pre><code>$ mailrem "Prepare tax statement" </code></pre> <p>In order to schedule reminders for a specific time, <code>mailrem</code> is not invoked directly as above, but either by <code>cron</code> or by <code>at</code>, depending on whether the reminder is to be sent on a regular basis or just once.</p> <h3 id="recurring-reminders">Recurring reminders</h3> <p>Recurring reminders are scheduled by <code>cron</code> via corresponding crontab entries. Start editing the crontab file:</p> <pre><code>$ crontab -e </code></pre> <p>Then add an entry for each recurring reminder like this:</p> <pre><code>0 0 3 18 * $HOME/bin/mailrem "[Reminder] Paul's $(( $(/bin/date +\%Y) - 1976 )). birthday (1976)" </code></pre> <p>This entry would send an e-mail each year at midnight on March 18 with subject “[Reminder] Paul’s <em>n</em>. birthday (1976)”, where <em>n</em> is calculated each time the cron entry is triggered by subtracting Paul’s year of birth, 1976, from the current year obtained by the <code>date</code> utility.<sup id="fnref:3"><a href="#fn:3" class="footnote" rel="footnote" role="doc-noteref">3</a></sup></p> <h3 id="nonrecurring-reminders">Nonrecurring reminders</h3> <p>Nonrecurring reminders are scheduled by <code>at</code> via corresponding atjobs. For instance, to schedule an atjob for midnight in three days:</p> <pre><code>$ at midnight + 3 days </code></pre> <p>When prompted, enter the action to be executed at the specified time like this:</p> <pre><code>&gt; mailrem "[Reminder] Doctor's appointment at 9 am" </code></pre> <p>Then, press <code>&lt;Ctrl&gt; + D</code> to queue the atjob.</p> <p>That’s it. A very simple system which does its job and is easy to setup and maintain.</p> <h2 id="caveats">Caveats</h2> <ul> <li>The system is certainly not suitable for time-critical reminders. This is obvious, since by nature the reminders are sent in an asynchroneous way (i.e. via e-mail).</li> <li>There is no easy way to get a consolidated overview over all currently scheduled reminders. For recurring reminders, <code>crontab -l</code> could be used. Similarly, <code>atq</code> displays the queue of atjobs. However, the output of <code>atq</code> is pretty much unparseable (at least in the version which ships with OpenBSD). So one would have to manually extract the job ID from the output of <code>atq</code> and then do <code>$ at -c &lt;id&gt;</code> in order to see the content of the job.</li> <li>Failures cannot easily be discovered in general, and there is no recovery mechanism. If, e.g., for some reason the <code>cron</code> daemon is not running at the time a reminder is due, it will not be sent and will subsequently be lost forever.</li> </ul> <hr /> <div class="footnotes" role="doc-endnotes"> <ol> <li id="fn:1"> <p>Man page of the OpenBSD version: <a href="https://man.openbsd.org/calendar.1">calendar(1)</a> <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> <li id="fn:2"> <p>In principle, of course, it is also possible to run the system on a laptop. The severe drawback would be that reminders were lost if the laptop were not running at the scheduled time of a reminder. One could use tools like anacron instead of cron. This would mitigate the risk of losing reminders, but the time they are sent would then depend on when the laptop is running (which may differ greatly from the intended time of sending). <a href="#fnref:2" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> <li id="fn:3"> <p>Man page of the OpenBSD version: <a href="https://man.openbsd.org/date.1">date(1)</a>. <a href="#fnref:3" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> </ol> </div> <p>My New Website</p> https://thorstenzoeller.com/new 2021-06-20 2021-06-20 <h1 id="my-new-website">My New Website</h1> <p>2021-06-20</p> <p>Not long ago, I created my first website. It was a static website, just like this one. I wrote the content in AsciiDoc and created a small script which rendered the pages to HTML.</p> <p>I was very proud of it.</p> <p>The content was basically plain text with a little bit of markup and some meta data – a beautifully clear separation of form and content.</p> <p>The script generating the site consisted of about 200 lines of Ruby code. It was simple, and it did its job.</p> <p>But it turned out that I would spend far more time tweaking the script to generate the site than to write content. After all, it was easier and more fun than to think about what to write.</p> <p>Also, the barrier to publish was too high: There were always a few steps to be done before any change could be published. Not many steps, really: Make some change, run the script, clone the respository for the site, delete its content, copy the output of the script to the repository, commit and publish it.</p> <p>Yet too many, as it turned out.</p> <p>So I ditched the script for generating the site and started anew.</p> <p>This time, it’s just plain HTML. Everything is created manually. Sounds like more work, but it’s not. It’s a profound simplification.</p> <p>This approach has its drawbacks, of course. The content is interspersed with markup – HTML is not really lightweight. It is not possible to make a change in the template which is immediately reflected in all pages using this template.</p> <p>But it’s definitely worth it.</p> <p>I thought my site was simple, but it wasn’t. Or at least not simple enough.</p> <p>Lesson learned.</p> <p>Pretended Intentionality</p> https://thorstenzoeller.com/pretended-intentionality 2021-10-21 2021-10-21 <h1 id="pretended-intentionality">Pretended Intentionality</h1> <p>2021-10-21</p> <p>I have recently become aware of an interesting – and somewhat concerning – behavior of mine in relation to my phone: In those spare moments when I am waiting for something, for instance, and the inevitable compulsion to check my phone arises, I often do manage to resist that urge. But after that first little victory over myself, something interesting happens: My mind, unable to accept that it is denied the diversion it so much craves, is trying to come up with suggestions for things that would be worth doing with my phone while waiting:<sup id="fnref:1"><a href="#fn:1" class="footnote" rel="footnote" role="doc-noteref">1</a></sup></p> <p><em>What was it again that makes Ridge A such a special place? Now would be a good time to head over to Wikipedia and check it out – after all, there is not much else you can do right now anyway!</em></p> <p><em>Which city in the world has the longest subway system, actually? Well, why not figure it out quickly?</em></p> <p><em>Let’s check openbsd.org to find out whether the new OpenBSD release is already available.</em></p> <p>My mind <em>knows</em> that I am trying to control myself in order not to compusively check my phone for no obvious reason whatsoever. And therefore, recognizing that just letting things run will not suffice this time, it becomes creative: Knowing that I am trying hard to act intentionally instead of compulsively and reflexive, it <em>makes me believe that I do in fact act intentionally</em> by rationalizing using my phone.</p> <p>And thus my mind gets hold of me. It’s the monkey mind at work. But just like a real monkey, it is not just jumping around like crazy; it is also very clever and inventive.</p> <p>What is so perfidious about it is that my mind is tricking me into the very behavior I am trying to avoid by <em>convincing me that I am in fact avoiding it</em>. Yet, this is all just another, albeit clever, strategy of my mind to run away from the slightest sign of boredom and instead indulge in distractions; that everlasting endeavor of the mind of not having to cope with the truly important things in life – or, at the least, of not having to <a href="https://zenhabits.net/alone/">sit alone in a quiet empty room</a>.</p> <p>The good thing is: Once you become aware of something you want to change, it becomes possible to actually change it.</p> <hr /> <div class="footnotes" role="doc-endnotes"> <ol> <li id="fn:1"> <p>I am mostly using the terms <em>me</em> and <em>my mind</em> here to refer to the conscious and subconscious parts of myself, respectively. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> </ol> </div> <p>Installation and Setup of the RainLoop Webmail Client on OpenBSD</p> https://thorstenzoeller.com/rainloop-on-openbsd 2021-12-22 2021-12-22 <h1 id="installation-and-setup-of-the-rainloop-webmail-client-on-openbsd">Installation and Setup of the RainLoop Webmail Client on OpenBSD</h1> <p>2021-12-22</p> <p><a href="https://www.rainloop.net/">Rainloop</a> is a modern, simple and rather lightweight webmail client. This article describes its installation and setup on a local OpenBSD machine and the configuration necessary for accessing a <a href="https://posteo.de/en">Posteo</a> e-mail account.</p> <p>Tested with OpenBSD 6.9, PHP 8.0 and RainLoop 1.16.0.</p> <h2 id="prerequisites">Prerequisites</h2> <p>On a default OpenBSD installation, only a few things are required in order to get RainLoop set up and running:</p> <ul> <li><strong>Web server</strong>. Since we are on OpenBSD, we will be using <a href="https://man.openbsd.org/httpd.8">httpd(8)</a>.</li> <li><strong>PHP</strong>. In addition to the extensions contained in the base installation, only PHP-cURL is required, and optionally PHP-PDO for contacts.</li> </ul> <p>No database is required for the core functionality; it is only needed for storing contacts, which is optional.</p> <h2 id="installation-and-setup">Installation and Setup</h2> <h3 id="httpd">httpd</h3> <p>Create an entry in <code>/etc/httpd.conf</code> for a HTTP server listening on <code>localhost:8080</code> (of course, any other port can be specified):</p> <pre><code>server "default" { listen on "127.0.0.1" port 8080 log { access "default-access.log" error "default-error.log" } root "/rainloop" directory index index.php location "/data/*" { block } location "*.php" { fastcgi socket "/run/php-fpm.sock" } } </code></pre> <p>Here, it is assumed that RainLoop will be installed in <code>/var/www/rainloop</code>, which therefore needs to be set as the document root for the server. Also, web access to the <code>data</code> subdirectory must be blocked.</p> <p>Start <a href="https://man.openbsd.org/httpd.8">httpd(8)</a> unless it is already running:</p> <pre><code>$ doas rcctl enable httpd $ doas rcctl start httpd </code></pre> <p>Otherwise, simply restart it:</p> <pre><code>$ doas rcctl restart httpd </code></pre> <h3 id="php">PHP</h3> <p>Install <a href="https://man.openbsd.org/php.1">php(1)</a> unless already done:</p> <pre><code>$ doas pkg_add php </code></pre> <p>Start the PHP FastCGI Process Manager (PHP-FPM):</p> <pre><code>$ doas rcctl enable php80_fpm $ doas rcctl start php80_fpm </code></pre> <p>Install the PHP-cURL extension and make it known to PHP:</p> <pre><code>$ doas pkg_add php-curl $ doas ln -sf /etc/php-8.0.sample/curl.ini /etc/php-8.0/ </code></pre> <p>Optionally, install the corresponding PHP-PDO extension for the database to be used (in this case SQLite; other options are MySQL and PostgreSQL) and make it known to PHP:</p> <pre><code>$ doas pkg_add php-pdo_sqlite $ doas ln -sf /etc/php-8.0.sample/pdo_sqlite.ini /etc/php-8.0/ </code></pre> <h3 id="rainloop">RainLoop</h3> <p>Create a directory for RainLoop under <code>/var/www</code>:</p> <pre><code>$ doas mkdir /var/www/rainloop </code></pre> <p>Get the latest version of the <a href="https://www.rainloop.net/repository/webmail/rainloop-community-latest.zip">RainLoop Community edition</a> and unzip it in <code>/var/www/rainloop</code>:</p> <pre><code>$ doas mkdir /var/www/rainloop $ cd /var/www/rainloop $ doas ftp https://www.rainloop.net/repository/webmail/rainloop-community-latest.zip $ doas unzip rainloop-community-latest.zip $ doas rm rainloop-community-latest.zip </code></pre> <p>Set the owner of the <code>data</code> subdirectory to <code>www</code>:</p> <pre><code>$ doas chown -R www data </code></pre> <p>Finally, copy <code>/etc/resolv.conf</code> to <code>/var/www</code> (otherwise, the domain names of the mail servers may not get resolved to their corresponding IP addresses):</p> <pre><code>$ mkdir -p /var/www/etc $ doas cp /etc/resolv.conf /var/www/etc/resolv.conf </code></pre> <p>RainLoop can then be accessed via the URL <code>localhost:8080</code>, and it can be configured in the admin panel which can be accessed via <code>localhost:8080?admin</code>.</p> <h3 id="accessing-a-posteo-e-mail-account">Accessing a Posteo E-Mail Account</h3> <p>Access to a <a href="https://posteo.de/en">Posteo</a> e-mail account can be set up by creating the file <code>/var/www/rainloop/data/_data_/_default_/domains/posteo.de.ini</code> with the following contents:</p> <pre><code>imap_host = "posteo.de" imap_port = 993 imap_secure = "SSL" imap_short_login = Off sieve_use = Off sieve_allow_raw = Off sieve_host = "" sieve_port = 4190 sieve_secure = "None" smtp_host = "posteo.de" smtp_port = 587 smtp_secure = "TLS" smtp_short_login = Off smtp_auth = On smtp_php_mail = Off </code></pre> <p>Alternatively, the account can be set up via the admin panel.</p> <h2 id="references">References</h2> <ul> <li><a href="https://www.rainloop.net/docs/">Documentation on the RainLoop website</a></li> <li><a href="https://dev.to/nabbisen/rainloop-webmail-on-openbsd-installation-1hfg">Rainloop Webmail on OpenBSD: Installation</a></li> <li><a href="https://brank.me/rainloop-OpenBSD.html">Rainloop And OpenBSD</a></li> </ul> <p>Taking Screenshots on OpenBSD</p> https://thorstenzoeller.com/screenshots-on-openbsd 2022-01-30 2022-01-30 <h1 id="taking-screenshots-on-openbsd">Taking Screenshots on OpenBSD</h1> <p>2022-01-30</p> <p>I rarely need to take screenshots, but occasionally it is convenient to be able to do so. The method described here uses <a href="https://github.com/naelstrof/maim">maim</a>, <a href="https://man.openbsd.org/cwm.1">cwm(1)</a> and <a href="https://man.openbsd.org/ksh.1">ksh(1)</a>. I use it on OpenBSD, but it should work in a very similar way on all Unix-like operating systems.</p> <p>Here is how it works:</p> <h2 id="preparation">Preparation</h2> <p>Install <code>maim</code>:</p> <pre><code>$ doas pkg_add maim </code></pre> <p>Create a script with the following content and save it to <code>~/bin/screenshot</code> (assuming <code>~/bin</code> is in the user’s <code>PATH</code>):</p> <pre><code>#!/bin/sh maim -s | xclip -selection clipboard -t image/png </code></pre> <p>All this script does is invoking <code>maim</code> to prompt the user to select the region of the screen he wants to take a screenshot of, upon which <code>maim</code> will create a PNG image of the region, which is then copied to the clipboard.</p> <p>Make the script executable:</p> <pre><code>$ cd ~/bin $ chmod u+x screenshot </code></pre> <p>Define a keybinding in <code>~/.cwmrc</code> for invoking <code>screenshot</code> via the key combination <code>&lt;Alt&gt; + s</code> (of course, any other combination works as well):</p> <pre><code>bind-key M-s "bin/screenshot" </code></pre> <p>Define an alias in <code>~/.kshrc</code> for pasting the image from the clipboard to a file:</p> <pre><code>alias clip2file='xclip -selection clipboard -o &gt;' </code></pre> <p>That’s it.</p> <h2 id="taking-a-screenshot">Taking a Screenshot</h2> <p>Then, to take a screenshot, do the following:</p> <ol> <li> <p>Press <code>&lt;Alt&gt; + s</code>.</p> </li> <li> <p>Select the region of the screen you want to take a screenshot of.</p> </li> <li> <p>Go to a terminal and type:</p> <pre><code>$ clip2file &lt;file&gt;.png </code></pre> </li> </ol> <p>The resulting screenshot will be saved to <code>&lt;file&gt;.png</code>.</p> <h2 id="see-also">See Also</h2> <ul> <li><a href="https://romanzolotarev.com/bin/screenshot">Another script</a> for taking screenshots by <a href="https://romanzolotarev.com/">Roman Zolotarev</a>.</li> <li><a href="https://dataswamp.org/~solene/2021-07-19-simple-scripts.html#_Screenshot_of_a_region_and_upload">Another script</a> for taking screenshots by <a href="https://dataswamp.org/~solene/">Solène Rapenne</a>.</li> </ul> <p>Derek Sivers: “How to Live”</p> https://thorstenzoeller.com/sivers-how-to-live 2023-03-05 2023-03-05 <h1 id="derek-sivers-how-to-live">Derek Sivers: “How to Live”</h1> <p>2023-03-05</p> <p>To state it upfront: <a href="https://sive.rs/h">How to Live</a> is a book which can hardly be overrated. It is full of wisdom, packed even more densely with insights than Dereks’ previous writings.</p> <p>The title of the book asks one of the most important questions of life – maybe the single most important one –, and it implies that the book sets out to answer this question.</p> <p>Instead of answering the titles’ question, however, the book presents us with <em>twenty-one</em> ways how to live. Each of the 21 short chapters explains how to live a life according to a certain guiding principle. It describes how to live in complete accordance with that principle, to adhere to it with the utmost consequence.</p> <p>But: All of the 21 ways to live are completely incompatible with each other, due to their conflicting guiding principles.</p> <p>So does this book answer the question posed in its title? No. Instead, it presents possibilities. Every single chapter is convincing and persuading, yet every one is completely different than any other.</p> <p>To me, the core statement of this book is that there are no definite answers, at least not to the really important questions of life. We humans yearn for answers, for recipes, for certainty – yet at some point, everybody has to face the fact that there are no simple, universal answers to the truly important questions. Life is contradictory, often messy, rarely proceeding along a straight line. And, most important: Each life is absolutely individual, and everyone has to find his own answers.</p> <p>Just as remarkable as the books’ content is its form. It is incredibly dense. Derek somehow manages to picture the different ways to live in often not more than three or four pages. Most sentences are very short, often fitting on a single line, and new sentences always start on the next line. His writing is never pleasing, but always sharp and to the point, and with “How to Live” he has perfected his style. To me, it is supremely elegant.</p> <p>Two quotes come to my mind when thinking of “How to Live”:</p> <p>“Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.” by Antoine de Saint-Exupéry. It seems to me that this was Dereks’ personal guiding principle in writing this book.</p> <p>The second one is by Michelangelo: “The sculpture is already complete within the marble block, before I start my work. It is already there, I just have to chisel away the superfluous material.” I can imagine how Derek spent hours and hours chiseling away the superfluous words, finally achieving something which comes very close to the perfection as it is defined in the quote by Antoine de Saint-Exupéry above.</p> <p>Making a point using many words is easy; making a point using very few words is exceedingly difficult. Derek has succeeded in every aspect.</p> <p>If you have not read the book yet, buy it and read it, immediately. Then, after some time, read it again, and again.</p> <p>Derek Sivers: “Useful Not True”</p> https://thorstenzoeller.com/sivers-useful-not-true 2025-07-06 2025-07-06 <h1 id="derek-sivers-useful-not-true">Derek Sivers: “Useful Not True”</h1> <p>2025-07-06</p> <p><a href="https://sive.rs/u">Useful Not True</a> is another gem by Derek Sivers. Whenever he publishes a new book, I order it immediately, no matter what it is about. I know from experience that everything he writes is packed with wisdom and insights I don’t want to miss.</p> <p>Let me start with the form of the book (I am referring to its physical version here): It is short, as Derek’s books usually are. Most chapters are one or two pages at most, very few are longer. The font size is pretty large, as well as the distance between lines, and the lines are rather narrow, which makes the reading a very pleasant experience. This is in contrast to many other books which look as if they were laid out with the goal to pack as many words as possible on each page. With Derek’s books, it is the exact opposite, with respect to both form and content: They look as if the goal was to use as <em>few</em> words as possible (and it was!). They are a perfect example for James Altuchers’ maxim “<del>To</del> increase the value of <del>your</del> words, make them <del>as</del> few <del>as possible</del>.”</p> <p>The content of the book perfectly matches its form: It is distilled to the bare minimum of what is necessary to convey its point. Nothing is superfluous; every word serves a purpose. One could certainly easily inflate the books’ content to 1000 pages, but it would not be possible to reduce it to fewer pages without losing content.</p> <p><em>Useful Not True</em> is a book about perspective. Everything is relative; nothing is absolute. There is no “right” or “wrong”, just “useful” or “useless”. While reading it, so many associations popped up in my mind:</p> <p>To Zen Buddhism with its belief that everything is made up by the mind alone and its seeking for looking at things as how they are, without making up things about them in our mind.</p> <p>To phenomenology and its concept of <em>epoché</em> (and similar concepts in Stoicism and other philosophies), a method for refraining from subjective judgements of things or situations.</p> <p>And even to physics and mathematics, in different aspects: In gauge theories, there are intrinsic unphysical degrees of freedom. By fixing the gauge, those unphysical degrees of freedom can be removed. And this can be done in different ways, depending on what is most useful in the respective situation.</p> <p>Also, physical theories are formulated as models which describe (physical) reality. They never do it perfectly, though, because they cannot capture every aspect of reality. And yet, good models are extremely useful (and a good model is not necessarily one that describes reality most accurately; it may be perfectly sufficient to describe a very particular aspect of reality with a certain coarseness if it still captures the relevant physical mechanisms). As George E. P. Box put it: “Essentially, all models are wrong, but some are useful.”</p> <p>The importance of the book lies in the fact that, while its statement seems perfectly plausible, we very often tend to ignore it. Ask two people standing opposite each other where the river is. The one says: “On the left.” The other says: “On the right.” Who is right? It is remarkable how firm our belief is that there is “right” and “wrong”, while it is so obvious that this is usually not true, if we just looked at things as they are. While the consequences may be trivial as in the example above, they can be arbitrarily grave in other situations.</p> <p>So, on the one hand, recognizing there are no absolutes can prevent us from making mistakes in judging situations. But there is another aspect, which is hinted at in the title of the book: We can turn this realization to our advantage. You can face a wall, or you can turn around and look at a serene beach. Both perspectives are “right” or valid. Why not choose the one you like better? There lies power in not being confronted with the one “true” perspective, but instead being able to choose ones preferred perspective, and this power can be harnessed – provided we know that we can simply turn around.</p> <p>I will end with my usual recommendation of Derek’s books: Buy it, read it, and digest its content as fully as possible! It is worth every word.</p> <p>Relay Mail to a Remote SMTP Server With <code>smtpd</code></p> https://thorstenzoeller.com/smtpd-relay 2022-03-27 2022-03-27 <h1 id="relay-mail-to-a-remote-smtp-server-with-smtpd">Relay Mail to a Remote SMTP Server With <code>smtpd</code></h1> <p>2022-03-27</p> <p>Configure <a href="https://man.openbsd.org/smtpd.8">smtpd(8)</a> to relay outgoing mail to a remote SMTP server as follows:</p> <p>Create the file <code>/etc/mail/secrets</code>:</p> <pre><code>$ doas touch /etc/mail/secrets $ doas chmod 640 /etc/mail/secrets $ doas chown root:_smtpd /etc/mail/secrets $ doas echo "label username:password" &gt; /etc/mail/secrets </code></pre> <p><code>username</code> and <code>password</code> are the credentials for accessing the remote SMTP server, and <code>label</code> is an identifier for the username-password combination. It can be chosen arbitrarily and is used in <code>smtpd.conf</code> (see below). Since the credentials are stored in plain text, restrictive permissions are set for the <code>secrets</code> file.</p> <p>Replace the default content of <code>/etc/mail/smtpd.conf</code> with the following:</p> <pre><code>table aliases file:/etc/mail/aliases table secrets file:/etc/mail/secrets listen on lo0 action "local" mbox alias &lt;aliases&gt; action "relay" relay host smtp+tls://label@smtp-server:port auth &lt;secrets&gt; match for local action "local" match for any action "relay" </code></pre> <p><code>label</code> is the corresponding label from the <code>secrets</code> file, <code>smtp-server</code> is the URL of the remote SMTP server, and <code>port</code> is the mail submission port (default: 587).</p> <p>Verify that the configuration is syntactically correct:</p> <pre><code>$ doas smtpd -n </code></pre> <p><code>smtpd</code> will answer with:</p> <pre><code>configuration OK </code></pre> <p>Restart <code>smtpd</code>:</p> <pre><code>$ doas rcctl restart smtpd </code></pre> <p><code>smtpd</code> will answer with:</p> <pre><code>smtpd(ok) smtpd(ok) </code></pre> <p>Test the configuration by sending an e-mail using <a href="https://man.openbsd.org/mail">mail(1)</a>:</p> <pre><code>$ echo "This is a test" | mail -s "Test" mail@example.com </code></pre> <h2 id="references">References</h2> <ul> <li><a href="https://man.openbsd.org/smtpd.conf">smtpd.conf(5)</a></li> <li><a href="https://rgz.ee/openbsd/smtpd-forward.html">Forward outgoing mail to a remote SMTP server</a> by Roman Zolotarev.</li> </ul> <p>Multiple-Click Selections in xterm</p> https://thorstenzoeller.com/xterm-sel 2022-02-12 2022-02-12 <h1 id="multiple-click-selections-in-xterm">Multiple-Click Selections in xterm</h1> <p>2022-02-12</p> <p>It is possible to configure in detail which portion of the screen – a word, a line, etc. – is selected in <a href="https://man.openbsd.org/xterm.1">xterm(1)</a> on rapid successive mouse clicks.</p> <h2 id="what-is-a-word-in-xterm-after-all">What is a Word in xterm, After All?</h2> <p>In <code>xterm</code>, words can be selected by double-clicking on any character in the respective word. This will highlight the word, and it is then in the primary selection of the X Window System and can be pasted elsewhere.</p> <p>Characters are grouped into <em>character classes</em>. Words are defined in <code>xterm</code> as strings of characters belonging to the same character class. Therefore, what <code>xterm</code> interprets as a word depends on the mapping of characters to character classes.</p> <p>In the default mapping, alphanumeric characters and the underscore belong to one character class, space and tab belong to another character class, and all other characters have their own character class. This definition works well when dealing mostly with prosaic texts, since it more or less corresponds to the usual definition of a word (i.e. certain characters separated by whitespace). In other cases, it is less convenient though. For instance, it is not possible to select a path consisting of several directories by double-clicking on it, since directories are separated by a slash, which belongs to a different character class than alphanumeric characters and the underscore.</p> <p>Interestingly, the mapping can be changed via a certain <code>xterm</code> resource called <code>charClass</code>. Its value is a list of key-value pairs, where the key is either a single character code or a range of character codes, and the value is a character class. A given key-value pair then defines that the character(s) specified by the key belong to the character class specified by the value.</p> <p>Character classes are identified by numbers (which in turn correspond to the character code of a representative of that character class). The default mapping of characters to character classes is given in the <a href="https://man.openbsd.org/xterm.1#CHARACTER_CLASSES">respective section of the manpage</a>. In the default mapping, alphanumeric characters and the underscore belong to character class 48 (the character code of the character <code>0</code>), and space and tab belong to character class 32 (the character class of <code>space</code>).</p> <p>Therefore, in order to add e.g. the characters <code>!</code> (character code 33) and <code>:</code> (character code 58) to character class 48, add the following line to <code>~/.Xresources</code>:</p> <pre><code>xterm*charClass: 33:48,58:48 </code></pre> <p>To add all “regular” characters to character class 48, add the following line to <code>~/.Xresources</code>:</p> <pre><code>xterm*charClass: 33-126:48 </code></pre> <p>Activate the change:</p> <pre><code>$ xrdb -merge ~/.Xresources </code></pre> <h2 id="xterm-knows-more-than-just-words">xterm Knows More Than Just Words</h2> <p>Words are just one kind of character grouping in <code>xterm</code>. The full list is:</p> <dl> <dt><code>word</code></dt> <dd>As defined above.</dd> <dt><code>line</code></dt> <dd>The entire line to which the character under the pointer belongs to.</dd> <dt><code>group</code></dt> <dd>Basically the paragraph the character under the pointer belongs to, i.e. all lines above and below up to the next blank line. Does not extend outside the current page.</dd> <dt><code>page</code></dt> <dd>All visible lines on the current page.</dd> <dt><code>all</code></dt> <dd>All lines, including i.e. saved lines.</dd> </dl> <p>Even that is not all there is, though. On top of that, it is even possible to define custom groupings via regular expressions (basically, all other predefined groupings are just shortcuts; they could just as well be defined via a corresponding regular expression). Also, there is the pseudo-grouping <code>none</code> which specifies that no selection should occur in the respective case.</p> <p>So it is possible to specify in a very fine-grained way what will be in the primary selection when double-clicking on some character. But it can be specified just as well what happens when clicking multiple (i.e. more than two) times in rapid succession. This is useful since one may be interested in selecting different character groupings depending on the respective case. For instance, in the default configuration, triple-clicking usually selects the entire line. Which character grouping is selected when clicking 2, 3, 4 and 5 times in rapid succession is specified by assigning one of the character groupings defined above to the <code>xterm</code> resources <code>on2Clicks</code>, <code>on3Clicks</code>, <code>on4Clicks</code> and <code>on5Clicks</code>, respectively.</p> <p>As an example, in order to specify that double-clicking should select words defined as a string consisting of alphanumeric characters, the underscore, the exclamation mark and the colon, that triple-clicking should select words defined as a string consisting of all regular characters except whitespace (defined via a corresponding regular expression), and that clicking four times in rapid succession should select the entire line, add the following lines to <code>~/.Xresources</code>:</p> <pre><code>xterm*charClass: 33:48,58:48 xterm*on2Clicks: word xterm*on3Clicks: regex [^[:space:]]+ xterm*on4Clicks: line </code></pre> <p>Even when using the mouse sparingly, it is very convenient to be able to specify what gets selected on multiple clicks in <code>xterm</code>, and it certainly does save some time.</p> <p>Quake Discoveries</p> https://thorstenzoeller.com/quake-discoveries 2026-03-14 2026-03-14 <h1 id="quake-discoveries">Quake Discoveries</h1> <p>2026-03-14</p> <p>Here is a question I am sometimes pondering: Can there be discoveries which completely shatter our worldview and our understanding of ourselves and the universe we live in? For lack of a better term, I will call such discoveries “quake discoveries” in the following.<sup id="fnref:1"><a href="#fn:1" class="footnote" rel="footnote" role="doc-noteref">1</a></sup></p> <p>To be clear: I am not talking about discoveries which simply <em>question</em> or <em>change</em> our worldview. I am talking about experiences which <em>shatter</em> it altogether, which break it apart irreparably and leave behind nothing but debris.</p> <p>Take, for instance, the discovery of the theory of relativity, or of quantum theory: These were certainly discoveries which adjusted our worldview. Suddenly, it was clear that the universe was completely different than we thought – at least in certain aspects. Many people were probably confused, maybe even aghast when they first heard about these theories. Maybe they did not want to believe them and were thinking that they could not be true. Yet, most likely, this is what happend to most people after having digested the initial shock: At the end of the day, they went to bed. The next day, they got up and went to work. And that was it.<sup id="fnref:2"><a href="#fn:2" class="footnote" rel="footnote" role="doc-noteref">2</a></sup></p> <p>These are not the kinds of discoveries I am talking about here. I am talking about discoveries which will not allow one to just get up the next morning and go to work. I am talking about discoveries which throw us out of our world, of our universe; discoveries which render it impossible to get up as the same person as the day before. Discoveries which, from one moment to another, change <em>everything</em>. Discoveries after which nothing will ever be as it was.</p> <p>I am talking about discoveries which mankind has never made before, never in its entire history. Sure, most people were shocked and upset when they learned that the sun does not revolve around the earth, that the earth is not the center of the universe. But did that stop them from meeting friends, playing games, chatting with each other? Most likely not. Shortly after this discovery, they went on with their lives as usual.<sup id="fnref:3"><a href="#fn:3" class="footnote" rel="footnote" role="doc-noteref">3</a></sup></p> <p>So, I am talking about discoveries of a whole different kind. But what could such discoveries look like? I do not know; after all, there are no examples to be found in history. What I usually imagine is something like the discovery in the film “The Matrix” that what people believed to be their real life was actually nothing but a simulation. I guess that would be a discovery which would not allow you to simply get up and go to work the next day. But then, who knows?</p> <p>Possible future discoveries with respect to the nature of time or the mind might also be candidates for discoveries of this kind. Then again, discoveries cannot be predicted, and their <em>kind</em> or nature can be predicted even less.</p> <p>The point is this: So far, all discoveries mankind has ever made in its history have at most <em>shaken</em> our worldview, leaving us back confused, but still <em>within</em> our universe. They may have thrown us on the floor, but they left us in our familiar environment. Our perspective has changed, but only momentarily.</p> <p>Quake discoveries, on the other hand, would kick us out of our universe and destroy every bridge which might enable us to ever return to it. It would throw us into another universe altogether, into a distant and foreign place. It would leave us completely disoriented.</p> <p>Will we ever make such discoveries? Is that even possible, given that our direct <em>experience</em> and <em>perception</em> of the world can probably never be changed by any discovery whatsoever? After all, even if we found out that we live in a gigantic simulation, we would still <em>feel</em> the warmth of the sun on our skin; we would still get hungry and tired, and we would still have wishes and desires. And even if we <em>knew</em> that we live in a gigantic simulation, it would still <em>feel</em> like the real world. So, can mere <em>knowledge</em> ever have these effects I am talking about?</p> <p>I do not know the answer, but I find this a fascinating question.</p> <hr /> <div class="footnotes" role="doc-endnotes"> <ol> <li id="fn:1"> <p>The term “disruptive discoveries” would probably sound more serious, but does not really seem appropriate for what I am talking about here. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> <li id="fn:2"> <p>Of course, many people – in particular those dealing professionally with these theories – continued to deal with them and their consequences for a long time and in many cases even fought hard fights within themselves before they were able to accept them. I doubt, however, that any of those people perceived these discoveries as existential threats to their worldviews. <a href="#fnref:2" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> <li id="fn:3"> <p>With the exception of those who felt threatened by those discoveries and tried to forcefully hide or miscredit them, of course. <a href="#fnref:3" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> </ol> </div> <p>Vim and PKM</p> https://thorstenzoeller.com/vim-and-pkm 2026-04-30 2026-04-30 <h1 id="vim-and-pkm">Vim and PKM</h1> <p>2026-04-30</p> <p>First things first: It is a pleasure to once again participate in a <a href="https://lazybea.rs/carnivals/">Vim Carnival</a>, created and hosted by the fabulous <a href="https://lazybea.rs">Hyde</a>.</p> <p>Though the topic of the <a href="https://lazybea.rs/vim-carnival-202604/">Vim Carnival - April 2026</a> is: “How do you use Neovim/Vim to build your knowledge management?”, let me state upfront: This article is going to be more about personal knowledge management (PKM) than about Vim. After all, Vim is “just” an editor, which is <em>per se</em> agnostic to what it is employed for – be it writing todo lists, emails, books, doing PKM or whatever. So honestly, I am somewhat stretching the idea of the <em>Vim Carnival</em> with this contribution. For the short (and maybe a bit disappointing) answer to the above prompt, you can jump directly to the section <a href="#and-what-about-vim">And what about Vim?</a> at the very end.</p> <p>A short note regarding terminology: In this article I will use “Vim” as a placeholder for vi-like editors in general. In particular, it includes both <a href="https://www.vim.org/">Vim</a> and <a href="https://neovim.io/">Neovim</a>, but even plain vi<sup id="fnref:1"><a href="#fn:1" class="footnote" rel="footnote" role="doc-noteref">1</a></sup>.</p> <h2 id="a-short-preface">A short preface</h2> <p>Actually, this Vim carnival is a welcome prompt for a subject I intended to write about since a long time, but never came around to doing: That is, how I do PKM.</p> <p>I won’t delve into the “theory” of PKM in any detail here. There is a lot to say about PKM, and a lot has already been said about it in the past and will be said about it in the future (and I am no expert at all in this matter). The risk in writing an article like this one is to completely get lost in the many aspects and facets of PKM. So I deliberately try <em>not</em> to let that happen and will focus on very few aspects – mostly on the technical implementation of my PKM system – in the hope of not ending up with a complete mess of an article.</p> <p>So, here we go…</p> <h2 id="pkm-on-a-computer">PKM on a computer</h2> <p>I have long dabbled with the challenge of PKM (long before I even knew a term existed for it and a large and active community has developed around it) – that is the challenge of how to manage knowledge (i.e. not just to store it, but to actively use it and engange with it in a meaningful way): Be it storing ideas for later reference, short notes, how-tos, trivia, inspirational quotes or whatever one considers worth remembering or needs to remember.</p> <p>While implementing an analog PKM system (i.e. a system not relying on a computer) is very well possible – after all, people have been doing it for hundreds if not thousands of years –, the advent of computers has certainly opened up new possibilites, like organizing documents in different fashions, searching in them and filtering them according to certain criteria. I will not discuss the advantages and disadvantages of analog and digital forms of PKM here and instead, without further explanation, focus on digital PKM systems from here on.<sup id="fnref:2"><a href="#fn:2" class="footnote" rel="footnote" role="doc-noteref">2</a></sup></p> <p>The question then is: How to implement a PKM system on a computer? While dedicated tools – from simple to highly sophisticated and complex – abound, I have always had a certain aversion to them. I guess it stems from the fact that I have always thought that there must be a really simple way to implement such a system, a way that is efficient and so robust that it can stand the test of time (and the coming and going of software tools…).</p> <p>This does not mean that there are no good tools around for implementing a PKM system. Even when taking into account some of my basic requirements, like</p> <ul> <li>notes must be stored as plain text,</li> <li>the tool must be open source (to prevent vendor lock-in, among others),</li> <li>it should be simple and not suffer from feature creep,</li> </ul> <p>there is still a respectable number of tools which satisfy these. Yet, I have never come to really like them. Even <a href="https://obsidian.md/">Obsidian</a>, a tool which has many dedicated fans and which I really appreciate, is not for me, mostly for two reasons (which are directly connected to the requirements above): It is too complex for my taste and offers way more features than I would ever need, and – no matter how successful and widely used it is today –, it will most likely be gone someday.<sup id="fnref:3"><a href="#fn:3" class="footnote" rel="footnote" role="doc-noteref">3</a></sup></p> <p>Therefore, I have always preferred to build my own PKM systems, tailored to my specific needs (which sounds more grandiose than it actually is; hold on).</p> <h2 id="the-simplest-pkm-system">The simplest PKM system</h2> <p>But first, let us take a step back. The simplest system for storing notes – the one most people have used decades ago, and in particular before the advent of graphical user interfaces – is storing them in plain text files, one per note, in some directory (or directory structure). There is basically just one ingredient necessary for setting up such a system on a computer (apart from rather obvious things like a file system): A text editor for creating and editing notes.</p> <p>With nothing more than this, working with the system is somewhat limited. But as soon as basic tools available (and usually preinstalled) on essentially all Unix-like operating systems are taken into account, we already gain quite a bit:</p> <ul> <li>A pager like <code>less</code> lets us view notes.</li> <li><code>grep</code> lets us search notes.</li> <li><code>ln</code> lets us link notes (for creating aliases, for instance).</li> </ul> <p>and so on.</p> <p>And honestly, I still feel that not much more is needed for implementing a PKM system on a computer. While I tend to spend much time thinking about how to best implement things, sooner or later I usually feel myself drawn to very simple solutions with few dependencies. Here, as in many other cases, the danger lies in spending so much time setting up and administrating the system that one does not really <em>use</em> it at all.</p> <p>There are basically just two things I would really miss with a pure plain text approach like this one: The ability to tag and to link notes. While tagging would be possible by, for instance, prepending tags with a certain prefix like “#” and then using <code>grep</code> to find notes containing them, that would be a little cumbersome. But I have not been able to find a good solution for linking notes (in particular linking from a specific point in a note) with this approach.</p> <p>Here HTML comes to the rescue – or rather leightweight markup languages like <a href="https://daringfireball.net/projects/markdown/">Markdown</a> or <a href="https://asciidoc.org/">AsciiDoc</a> which translate to HTML.</p> <h2 id="a-little-bit-of-personal-history">A little bit of (personal) history</h2> <p>Before explaining the system I am currently using, however, let me briefly mention three of the many self-built systems I have used over the years. I have chosen these because of the different ideas and concepts they were based on.</p> <ul> <li> <p>A self-written simple static site generator where notes were written in AsciiDoc and included front-matter for metadata like tags etc. (actually, it was a derivate of a static site generator I built for my website). Since the output format was HTML, linking between notes was easy. Since the output was static, though, it was only possible to filter for single tags; dynamical filtering was simply not possible. This may be fine for a personal website, for instance, but it is definitely a drawback for a PKM system.</p> </li> <li> <p>A pure plain-text system where notes were stored as plain-text files without any structured markup (like Markdown or AsciiDoc) at all. Tags were implemented via symbolic links to (empty) directories named like the given tag, and links between notes were implemented via symbolic links between these notes (I got the idea of using symbolic links for implementing tags by the great article “The Case Against Everything Buckets” by <a href="https://al3x.net/">Alex Payne</a>, which unfortunately is no longer available online to my knowledge). What I really liked about this system was that it depended only on tools which are already available on any Unix-like system (an editor, a pager, symbolic linking etc.). All the linking was somewhat cumbersome, however, and in particular error-prone. Therefore, I wrote a simple shell script which provided convenience functions for viewing, editing, tagging and linking of notes (and in particular for carrying out all the linking). A major disadvantage of this system was that linking was only possible on the level of the notes themselves (i.e. you could link note A to note B, but you could not link from <em>a specific point in note A</em> to note B).</p> </li> <li> <p>Another pure plain-text system with unstructured plain-text notes where tags of notes, links between notes and other metadata was stored in a JSON file (thereby separating metadata of notes from the notes themselves). This was meant to solve the problem that I did not want to have metadata directly in my notes, as well as the problem of having to create all those symbolic links in the system mentioned above. A Ruby script provided convenience functions similar to the ones mentioned above (and in particular for managing the JSON file, which would have been rather impractical and error-prone to do manually). In addition, notes were stored in a Git repository, and the script automatically committed changes to the repository when creating or editing notes. The main disadvantage of this system probably was that, while it was designed with the idea in mind that everything should be doable without special tools like my Ruby script, editing the JSON file and committing to the Git repository was cumbersome and error-prone and could easily be forgotten when done manually. So, while having a separate file for storing metadata information for my notes was more robust than employing symbolic links, I felt that the problems were only shifted to different areas.</p> </li> </ul> <p>While all these systems worked and did what they were meant to do, I was never really satisfied with them. The main problem was that I never really <em>worked</em> with them. They were based on certain ideas and principles I had in mind, but it turned out that the theory of conceiving them and the practice of using them diverged.</p> <h2 id="my-current-system">My current system</h2> <p>The system I am currently using is the one I am most happy with so far. It does not solve all problems, but it is the one which currently works best for me.</p> <p>The main design goals of my system are (and have pretty much always been):</p> <ul> <li>It should be usable as a pure plain-text system without any kind of dedicated software processing the notes or operating on them (i.e. using only standard tools like text editor, pager, grep etc.).<sup id="fnref:4"><a href="#fn:4" class="footnote" rel="footnote" role="doc-noteref">4</a></sup></li> <li>It should be simple and have very few dependencies.</li> <li>It should be platform-independent and future-proof.</li> </ul> <p>All my notes are stored in a single directory called, well, <code>notes</code> (this is not different from practically all the other systems I have used in the past, like the ones mentioned above). Notes are Markdown-formatted plain text files.<sup id="fnref:5"><a href="#fn:5" class="footnote" rel="footnote" role="doc-noteref">5</a></sup> There is (almost) no metadata contained in my notes. In particular, there is no front-matter (i.e. structured metadata) at the top of a note. While front-matter makes it easy to parse metadata programmatically, it somewhat clutters the notes and is not so easy to parse without specific tools (which contradicts the first of my design goals).</p> <p>There are only two special syntactical constructs which extend Markdown and have a special interpretation in my system:</p> <ul> <li>Words prefixed with <code>#</code> at the beginning of a note are interpreted as tags.</li> <li>Strings matching the pattern <code>[[&lt;note&gt;]]</code> or <code>[[&lt;title&gt;|&lt;note&gt;]]</code> are interpreted as internal links, i.e. links to other notes.</li> </ul> <p>The system is perfectly usable with nothing more than this (note in particular that the syntax for the two special constructs for tags and internal links mentioned above is so unobtrusive yet self-explanatory that they would even work without rendering the notes). In particular, it satisfies my first design goal; for instance, some basic operations could be done like this:</p> <ul> <li>Viewing a note: <code>less &lt;note&gt;</code></li> <li>Editing a note: <code>vim &lt;note&gt;</code></li> <li>Searching for a given string in all notes: <code>grep &lt;string&gt; *</code></li> <li>Filtering notes on given tags: <code>grep -l -e "#&lt;tag1&gt;" -e "#&lt;tag2&gt;"</code></li> <li>Finding all notes which link to a given note: <code>grep -l "\[\[&lt;note&gt;\]\]" *</code></li> <li>Finding all notes which are linked to from a given note: <code>grep -o "\[\[.*\]\]" &lt;note&gt;</code></li> </ul> <p>Note the small number of tools needed to achieve these operations.</p> <p>However, to be able to efficiently use tags and links (which are integral ingredients in a PKM system), it is convenient render notes as HTML and view them in a browser. In my system, the preprocessing and rendering of the notes is facilitated by a small Ruby program I wrote.<sup id="fnref:6"><a href="#fn:6" class="footnote" rel="footnote" role="doc-noteref">6</a></sup> Since the notes are written in Markdown, it is easy to convert them to HTML by employing standard libraries or APIs available in most programming languages. The tool provides a simple web application employing the <a href="https://sinatrarb.com/">Sinatra</a> web framework. This in particular facilitates serving content <em>dynamically</em> (in contrast to the static site generator I used as a PKM system in the past; see above). This makes it possible, for instance, to filter for several tags, since the code determines the matching notes dynamially before they are getting rendered and served.</p> <p>While the notes are mostly simply translated from Markdown to HTML, marks and links are preprocessed as follows:</p> <ul> <li>Tags are extracted from the note so that they can be laid out separately in the rendered note (to make them appear below the note title instead of above it, for instance, or to make them link to a page which lists all other notes with that tag).</li> <li>Internal links are converted to a link to the given note, which is displayed with the respective title if given. This is a Wiki-style shortcut for internal links (i.e. links to other notes).</li> </ul> <p>A note can then be reached via the path <code>/note/&lt;note&gt;</code> and viewed in the browser by entering the corresponding URL (i.e. the host – localhost if run locally – plus this path). <a href="/public/note.html">This</a> is what a rendered note might look like in the browser.</p> <p>There is also an index page listing all the notes available (and also one for listing all the tags defined), so it is easy to directly navigate to them instead of having to enter the URL manually.</p> <p>Note that, according to my second design goal above, things should be simple. Therefore, there is basically no explicit user interface for doing things like filtering (after all, I am the only one using the system…). Instead, the filtering can be done by appending query parameters to the corresponding path. For instance, the path for filtering notes on tags “tag1” and “tag2” would be: <code>/?tag=tag1,tag2</code></p> <p>In addition, there are a few endpoints for doing certain consistency checks, like whether there exist links to non-existing notes, which is then reported so that it can be fixed.</p> <p>Note that it is not possible to create, modify or delete notes in any way using the web interface (it works in a purely functional way, one might say). This is a deliberate choice: Deleting and renaming can easily be done using <code>rm</code> and <code>mv</code> on the command line, and editing is exclusively done using my editor of choice – that is, of course, Vim (so, I have finally turned things around and arrived at the <em>actual</em> subject of this article - yay!).</p> <p>So much about the technical implementation of the system. Regarding its organization: It is more or less based on the Zettelkasten approach<sup id="fnref:7"><a href="#fn:7" class="footnote" rel="footnote" role="doc-noteref">7</a></sup>, but I will not go into any detail about it here. I am trying to write notes which are <em>atomic</em>, i.e. which entail a single idea or concept, and to link them to create semantic connections to similar of related ideas or concepts (though I often fail at doing this in a good fashion, I think). As mentioned in the beginning, though, this is not the focus of this article, so I will just refer to the many good resources about the organizational aspects of PKM in general, and the Zettelkasten method in particular, available out there.</p> <h2 id="and-what-about-vim">And what about Vim?</h2> <p>So, I have written a lot already, but rarely mentioned Vim at all. Considering that this is a contribution to a <em>Vim Carnival</em>, the question “Where does Vim come into play?” imposes itself.</p> <p>The – somewhat trivial – answer to this question is: Where it <em>always</em> comes into play when I work with plain text files. I use it, obviously, to edit my notes – just as I use it to edit any other kind of text file.</p> <p>So, I hope Hyde will forgive me for somewhat abusing this Vim Carnival for my ramblings about PKM. Let me close this article, however, by emphasizing that, while there is nothing special in my using of Vim for PKM, it <em>does</em> play an extremely important role in it. It’s a simple syllogism:</p> <ol> <li>I edit plain text files in Vim.</li> <li>My notes are plain text files.</li> <li>Therefore, I edit my notes in Vim.</li> </ol> <p>I want to be able to edit text files as smoothly and efficiently as possible: That is why I use Vim – for PKM and everything else that comes as plain text.</p> <hr /> <div class="footnotes" role="doc-endnotes"> <ol> <li id="fn:1"> <p>I know it sounds somewhat strange to call plain vi “Vim”. Then again, this is an article for a Vim Carnival, so what… <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> <li id="fn:2"> <p>Examples of analog PKM systems are commonplace books, which have been around for centuries, and the Zettelkasten method, probably most famously employed by Niklas Luhmann, which is often used in an analog way (though it can also be implemented on a computer). <a href="#fnref:2" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> <li id="fn:3"> <p>I know: Since notes are stored in Markdown-formatted plain text, they can even be used if Obsidian (or whatever other tool) is gone someday. Yet, I prefer to depend as little as possible on external software. It is a rather mild case of vendor lock-in – much less so than with many other applications –, but I like to not only own my data, but also the software which operates on it (which, of course, is only possible in rather few cases). <a href="#fnref:3" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> <li id="fn:4"> <p>This basically means that my system would fall back to the basic plain text approach I sketched earlier. My notes would still contain markup in the form of Markdown, but one of the nice properties of Markdown (even more so than with other markup languages like AsciiDoc) is that Markdown does not distract much from the text; it integrates rather seamlessly into it. So even if Markdown would cease to exist, along with every tool to generate HTML from it, it would still be viable as some kind of self-explanatory plain-text markup. <a href="#fnref:4" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> <li id="fn:5"> <p>In the past, I have mostly used AsciiDoc. I switched to Markdown because I do not need all the power of AsciiDoc, and the markup of Markdown is less intrusive than that of AsciiDoc (which is more intrusive precisely because it is more powerful), thereby making it even more readable. <a href="#fnref:5" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> <li id="fn:6"> <p>The tool can be found here: <a href="https://codeberg.org/thorstenzoeller/noted">https://codeberg.org/thorstenzoeller/noted</a>. Note, however, that it is not quite up-to-date; in particular, this version only works with AsciiDoc-formatted notes (not with Markdown-formatted notes). An updated version will (hopefully) be provided soon. <a href="#fnref:6" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> <li id="fn:7"> <p>Some good ressources for starters are:</p> <ul> <li><a href="https://zettelkasten.de/">Zettelkasten knowledge and info management • Zettelkasten Method</a></li> <li><a href="https://lazybea.rs/tags/zettelkasten/">Hyde’s Zettelkasten posts</a></li> <li><a href="https://ryanholiday.net/the-notecard-system-the-key-for-remembering-organizing-and-using-everything-you-read/">The Notecard System: The Key For Remembering, Organizing And Using Everything You Read</a></li> </ul> <p>And no, I actually do not like footnotes that much, even though it very much seems to be exactly so. I just usually fail <em>not</em> to extensively make use of them. Fortunately, you have now made it to the last footnote of this article… <a href="#fnref:7" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> </ol> </div> [Stream] 2021-05-01 https://thorstenzoeller.com/stream/#_2021_05_01_1 2021-05-01 2021-05-01 <p><a href="https://www.openbsd.org/69.html">OpenBSD</a> released – the 50th OpenBSD release!</p> [Stream] 2021-05-02 https://thorstenzoeller.com/stream/#_2021_05_02_1 2021-05-02 2021-05-02 <p>Switched from Vim to nvi. Vim started to feel too bloated.</p> [Stream] 2021-05-06 https://thorstenzoeller.com/stream/#_2021_05_06_1 2021-05-06 2021-05-06 <p>Yes – <a href="https://dailystoic.com/this-is-the-mindset-for-life/">This is the Mindset For Life</a>.</p> [Stream] 2021-05-14 https://thorstenzoeller.com/stream/#_2021_05_14_1 2021-05-14 2021-05-14 <p><a href="https://www.idler.co.uk/article/73979-how-to-write/">How to Write: why jotting things into notebooks improves your writing</a> – I fully agree.</p> [Stream] 2021-05-23 https://thorstenzoeller.com/stream/#_2021_05_23_1 2021-05-23 2021-05-23 <p>A good habit to form: Reading in <em>A Calendar of Wisdom</em> by Leo Tolstoy every day.</p> [Stream] 2021-06-20 https://thorstenzoeller.com/stream/#_2021_06_20_1 2021-06-20 2021-06-20 <p>New website is live! <a href="/new/">Here’s</a> why.</p> [Stream] 2021-06-28 https://thorstenzoeller.com/stream/#_2021_06_28_1 2021-06-28 2021-06-28 <p>Slowly getting used to using the <a href="https://github.com/fcambus/spleen">Spleen</a> font in the terminal.</p> [Stream] 2021-07-04 https://thorstenzoeller.com/stream/#_2021_07_04_1 2021-07-04 2021-07-04 <p>Acting yourself into motivation is much more effective than thinking yourself into motivation or waiting for motivation to occur.</p> [Stream] 2021-07-11 https://thorstenzoeller.com/stream/#_2021_07_11_1 2021-07-11 2021-07-11 <p>Installed <a href="https://www.openbsd.org/69.html">OpenBSD 6.9</a>. A big thanks to the developers for what so far looks like another great release!</p> [Stream] 2021-07-30 https://thorstenzoeller.com/stream/#_2021_07_30_1 2021-07-30 2021-07-30 <p>What does it mean to be a leader? <a href="https://dailystoic.com/do-you-make-others-better/">Leaders make people better</a>. Applies to leading yourself as well.</p> [Stream] 2021-08-03 https://thorstenzoeller.com/stream/#_2021_08_03_1 2021-08-03 2021-08-03 <p>Every completed Ashtanga practice is a little victory.</p> [Stream] 2021-08-04 (1/2) https://thorstenzoeller.com/stream/#_2021_08_04_1 2021-08-04 2021-08-04 <p>The renovated <a href="http://www.ryanleidner.com/twin-gable-house">Twin Gable House</a>, designed by Ryan Leidner, is truly amazing with its light-flooded, minimalist interior and beautiful inner courtyard.</p> [Stream] 2021-08-04 (2/2) https://thorstenzoeller.com/stream/#_2021_08_04_2 2021-08-04 2021-08-04 <p>In recent years, I have become increasingly aware of the profound effects of walking. Many ideas occur to me while walking, and to me, walking – especially in solitude in nature – is a very calming and contemplative activity. <a href="https://www.openculture.com/2015/07/how-walking-fosters-creativity.html">How Walking Fosters Creativity: Stanford Researchers Confirm What Philosophers and Writers Have Always Known</a> is another interesting article on this subject, focusing on the connection between walking and creativity. In particular, it cites the wonderful book “A Philosophy of Walking” by Frédéric Gros.</p> [Stream] 2021-08-06 https://thorstenzoeller.com/stream/#_2021_08_06_1 2021-08-06 2021-08-06 <p>Once again, I find myself fascinated by the miracles and history of the <a href="https://en.wikipedia.org/wiki/Laoco%C3%B6n_and_His_Sons">Laocoon Group</a>.</p> [Stream] 2021-08-08 (1/2) https://thorstenzoeller.com/stream/#_2021_08_08_1 2021-08-08 2021-08-08 <p>Two very convenient shell aliases for copying the primary X selection to the system clipboard and vice versa:</p> <pre><code>alias primary2clip='xsel -p | xsel -i -b' alias clip2primary='xsel -b | xsel -i -p' </code></pre> <p>Alternatively, using <em>xclip</em> instead of <em>xsel</em>:</p> <pre><code>alias primary2clip='xclip -o -selection primary | xclip -i -selection clipboard' alias clip2primary='xclip -o -selection clipboard | xclip -i -selection primary' </code></pre> <p>See <a href="https://shallowsky.com/blog/linux/x-selection.html">X is for the X Selection: Copy and Paste on Linux (Shallow Thoughts)</a> for more information.</p> [Stream] 2021-08-08 (2/2) https://thorstenzoeller.com/stream/#_2021_08_08_2 2021-08-08 2021-08-08 <p>Rediscovering the joy of cycling.</p> [Stream] 2021-08-29 https://thorstenzoeller.com/stream/#_2021_08_29_1 2021-08-29 2021-08-29 <blockquote> <p>Life is not lost by dying; life is lost minute by minute, day by dragging day, in all the thousand small uncaring ways.</p> <p>– Stephen Vincent Benét</p> </blockquote> [Stream] 2021-09-06 https://thorstenzoeller.com/stream/#_2021_09_06_1 2021-09-06 2021-09-06 <blockquote> <p>Man alone measures time. Man alone chimes the hour. And, because of this, man alone suffers a paralyzing fear that no other creature endures. A fear of time running out.</p> <p>– Mitch Albom, The Time Keeper</p> </blockquote> <p>(Related recent article by Chris Guillebeau: <a href="https://chrisguillebeau.com/time-anxiety/">Time Anxiety Is the Most Pressing Problem of Our Age</a>)</p> [Stream] 2021-09-07 (1/2) https://thorstenzoeller.com/stream/#_2021_09_07_1 2021-09-07 2021-09-07 <p><a href="https://seths.blog/2021/09/instead-2/">Instead</a> by Seth Godin. A few additions:</p> <p>Instead of overeating, stop when still feeling slightly hungry.</p> <p>Instead of exclaiming “I knew it!”, remain silent.</p> <p>Instead of rushing to the next to-do, sit still for a few moments.</p> [Stream] 2021-09-07 (2/2) https://thorstenzoeller.com/stream/#_2021_09_07_2 2021-09-07 2021-09-07 <p>Can we <em>please</em> establish a universal code of conduct stating that no smartphones are to be used at the dining table?</p> [Stream] 2021-09-08 (1/2) https://thorstenzoeller.com/stream/#_2021_09_08_1 2021-09-08 2021-09-08 <p>Beautiful article: <a href="https://craigmod.com/ridgeline/111/">Long, Boring Walks</a> by Craig Mod.</p> [Stream] 2021-09-08 (2/2) https://thorstenzoeller.com/stream/#_2021_09_08_2 2021-09-08 2021-09-08 <p>Wise advice: <a href="https://dailystoic.com/make-sure-you-write-down-everything-interesting-that-you-find/">Make Sure You Write Down Everything Interesting That You Find</a>.</p> [Stream] 2021-09-13 https://thorstenzoeller.com/stream/#_2021_09_13_1 2021-09-13 2021-09-13 <blockquote> <p>My advice (for what it’s worth) for success and happiness: Compete with yourself and root for everybody else.</p> <p>– Candice Millard, https://twitter.com/candice_millard/status/1383508127442608141</p> </blockquote> [Stream] 2021-09-23 https://thorstenzoeller.com/stream/#_2021_09_23_1 2021-09-23 2021-09-23 <p><a href="https://craigmod.com/roden/059/">Roden 059 – Stupid Life Tricks</a> by Craig Mod contains a thoughtful piece on the ever-present distractions of our phones and their consequences – a pressing and, in my opinion, still underrated issue of our time. In particular, it cites an expressive passage from the recent article <a href="https://www.newyorker.com/culture/photo-booth/picturing-the-humanity-and-dread-of-the-infinite-scroll">Picturing the Humanity and Dread of the Infinite Scroll</a> by Jia Tolentino, and refers to an interesting Aziz Ansari interview, <a href="https://www.gq.com/story/aziz-ansari-gq-style-cover-story">Aziz Ansari on Quitting the Internet, Loneliness, and Season 3 of <em>Master of None</em></a>. Finally, it mentions two great articles by Craig himself, <a href="https://www.wired.com/story/six-weeks-100s-miles-hours-glorious-boredom-japan/">The Glorious, Almost-Disconnected Boredom of My Walk in Japan</a> and <a href="https://www.wired.com/2017/01/how-i-got-my-attention-back/">How I Got My Attention Back</a> – both must-reads.</p> [Stream] 2021-10-03 https://thorstenzoeller.com/stream/#_2021_10_03_1 2021-10-03 2021-10-03 <p>igh school and university students have designed and built a <a href="https://build-your-own-particle-detector.org/models/alice-lego-model/">LEGO model</a> of the detector of the <a href="https://alice.cern/">ALICE</a> experiment at <a href="https://home.cern/">CERN</a>, consisting of about 16,000 LEGO bricks – highly impressive!</p> [Stream] 2021-10-21 https://thorstenzoeller.com/stream/#_2021_10_21_1 2021-10-21 2021-10-21 <p>“…which components of what aspects of the many things making up our lives at any point are worth noting in some external fashion, and which can be left undocumented?” – The question <a href="https://colin.io/">Colin Wright</a> is asking in his newsletter article <a href="https://www.getrevue.co/profile/colinwright/issues/documentation-819300">Documentation</a>, and a question I am pondering as well.</p> [Stream] 2021-11-13 (1/2) https://thorstenzoeller.com/stream/#_2021_11_13_1 2021-11-13 2021-11-13 <p>I love beautiful hand-crafted web sites. Examples: <a href="https://sive.rs/">sive.rs</a>, <a href="http://mlaine.sdfeu.org/">mlaine.sdfeu.org</a>.</p> [Stream] 2021-11-13 (2/2) https://thorstenzoeller.com/stream/#_2021_11_13_2 2021-11-13 2021-11-13 <p>Finished reading <a href="https://sive.rs/m">Your Music and People</a> by <a href="https://sive.rs/">Derek Sivers</a> and loved it, though I am not even a musician myself!</p> [Stream] 2021-12-18 https://thorstenzoeller.com/stream/#_2021_12_18_1 2021-12-18 2021-12-18 <p>Rediscovered two good posts by Zach Holman (and, well, <a href="https://zachholman.com/">Zach Holman</a> himself): <a href="https://zachholman.com/posts/keeping-a-journal/">Keeping a Journal</a> and <a href="https://zachholman.com/posts/my-favorite-tweet">My Favorite Tweet</a>. Also, <a href="https://zachholman.com/2010/11/text-snippets-boom/">Text Snippets. Boom.</a>.</p> [Stream] 2021-12-20 https://thorstenzoeller.com/stream/#_2021_12_20_1 2021-12-20 2021-12-20 <p>I hate Ashtanga Yoga. And I love it.</p> [Stream] 2022-01-09 https://thorstenzoeller.com/stream/#_2022_01_09_1 2022-01-09 2022-01-09 <p><a href="https://www.taschenhirn.de/">Taschenhirn.de</a>: Knowledge database containing lots of interesting data in the form of lists organized into different categories (German only).</p> [Stream] 2022-01-16 (1/2) https://thorstenzoeller.com/stream/#_2022_01_16_1 2022-01-16 2022-01-16 <p><a href="https://seths.blog/2022/01/harder-easier-and-more-convenient/">Harder, easier and more convenient</a> by Seth Godin – the aspiration to ever more convenience is often faulty.</p> [Stream] 2022-01-16 (2/2) https://thorstenzoeller.com/stream/#_2022_01_16_2 2022-01-16 2022-01-16 <p>Just finished reading <a href="https://sive.rs/n">Hell Yeah or No</a> by Derek Sivers and enjoyed it at least as much as <a href="https://sive.rs/m">Your Music and People</a>. Great collection of articles, including some of my favorites by Derek, like <a href="https://sive.rs/arv">Actions, not words, reveal our real values</a>, <a href="https://sive.rs/subtract">Subtract</a>, <a href="https://sive.rs/dc">Disconnect</a>, <a href="https://sive.rs/my-fault">Everything is my fault</a>, <a href="https://sive.rs/horses">My favorite fable</a> <a href="https://sive.rs/pa">Parenting : Who is it really for?</a>, and <a href="https://sive.rs/slow">I’m a very slow thinker</a>, among others.</p> [Stream] 2022-01-24 https://thorstenzoeller.com/stream/#_2022_01_24_1 2022-01-24 2022-01-24 <p>A worthy prompt: <a href="https://dailystoic.com/just-for-a-moment-lets-be-still/">Just For A Moment, Let’s Be Still</a>.</p> [Stream] 2022-01-29 https://thorstenzoeller.com/stream/#_2022_01_29_1 2022-01-29 2022-01-29 <p>“Just in case” – One of the most common justifications for letting clutter accrue.</p> [Stream] 2022-01-30 https://thorstenzoeller.com/stream/#_2022_01_30_1 2022-01-30 2022-01-30 <p>New note: <a href="/screenshots-on-openbsd/">Taking Screenshots on OpenBSD</a>.</p> [Stream] 2022-02-05 https://thorstenzoeller.com/stream/#_2022_02_05_1 2022-02-05 2022-02-05 <p>I had long been looking for a keyboard alternative to clicking the middle mouse button for pasting the primary selection. Recently I learned that pressing <code>&lt;Shift&gt; + &lt;Insert&gt;</code> will do it – very convenient!</p> [Stream] 2022-02-11 https://thorstenzoeller.com/stream/#_2022_02_11_1 2022-02-11 2022-02-11 <p>I didn’t know that carrot greens are edible and so delicious when stir-fried!</p> [Stream] 2022-02-12 https://thorstenzoeller.com/stream/#_2022_02_12_1 2022-02-12 2022-02-12 <p>New note: <a href="/xterm-sel/">Multiple-Click Selections in xterm</a>.</p> [Stream] 2022-02-13 https://thorstenzoeller.com/stream/#_2022_02_13_1 2022-02-13 2022-02-13 <p>Finished reading <a href="https://sive.rs/h">How to Live</a> by <a href="https://sive.rs/">Derek Sivers</a> A definite must-read: Extremely dense and to the point, packed with wisdom – in a word: stunning!</p> [Stream] 2022-02-20 https://thorstenzoeller.com/stream/#_2022_02_20_1 2022-02-20 2022-02-20 <p><a href="https://www.jeder-mensch.eu/informationen/?lang=en">Jeder Mensch</a> – Initiative for six new fundamental rights for Europe which take the major developments and problems of the recent decades into account.</p> [Stream] 2022-02-23 https://thorstenzoeller.com/stream/#_2022_02_23_1 2022-02-23 2022-02-23 <p>Apparently, there was an inscription on the temple of the Oracle of Delphi which read:</p> <blockquote> <p>Know thyself<br /> Nothing to excess</p> </blockquote> <p>Maxims to be taken to heart.</p> [Stream] 2022-03-04 (1/4) https://thorstenzoeller.com/stream/#_2022_03_04_1 2022-03-04 2022-03-04 <p><a href="https://xkcd.com/1179/">xkcd: ISO 8601</a> – Exactly.</p> [Stream] 2022-03-04 (2/4) https://thorstenzoeller.com/stream/#_2022_03_04_2 2022-03-04 2022-03-04 <p>I fully agree with practically everything stated in <a href="https://sive.rs/plaintext">Write plain text files</a> by Derek Sivers as I have come to the same conclusions myself. Another one of Derek’s articles which can hardly be cited too often.</p> [Stream] 2022-03-04 (3/4) https://thorstenzoeller.com/stream/#_2022_03_04_3 2022-03-04 2022-03-04 <p>I have never really seen coding the way described in <a href="https://craigmod.com/essays/healing_code/">The Healing Power of Code</a> by Craig Mod, but I can definitely relate to much of what is being said in the article.</p> [Stream] 2022-03-04 (4/4) https://thorstenzoeller.com/stream/#_2022_03_04_4 2022-03-04 2022-03-04 <p>Base64-encode a string from the command line using <a href="https://man.openbsd.org/uuencode">uuencode(1)</a>:</p> <pre><code>$ echo -n &lt;string&gt; | b64encode '' | sed '1d;$d' | tr -d '\n' </code></pre> [Stream] 2022-03-06 (1/2) https://thorstenzoeller.com/stream/#_2022_03_06_1 2022-03-06 2022-03-06 <blockquote> <p>Where is the wisdom we have lost in knowledge?<br /> Where is the knowledge we have lost in information?</p> <p>– T.S. Eliot, The Rock</p> </blockquote> [Stream] 2022-03-06 (2/2) https://thorstenzoeller.com/stream/#_2022_03_06_2 2022-03-06 2022-03-06 <p>As the title of <a href="https://craigmod.com/ridgeline/139/">Ridgeline: 139 – Walk for the Boredom of it All</a> by Craig Mod implies, the topic of this newsletter article is boredom, and since it is Craig Mod, specifically the boredom while walking. Actually, it mostly references a recent interview with him, citing some passages from it and featuring his comments to them. In particular, he further stresses the importance of boredom in his remarks.</p> <p>Boredom is an issue I also find highly interesting, and I am convinced – as Craig is – that it is really important to experience boredom and to be able to stand it and cope with it, and that we currently live in an age where we are trying very hard to do everything we can to not be bored, mostly by resorting to various kinds of ever more intricate and sophisticated (and not so sophisticated) distractions and diversions.</p> [Stream] 2022-03-26 https://thorstenzoeller.com/stream/#_2022_03_26_1 2022-03-26 2022-03-26 <p><a href="https://www.nytimes.com/2018/02/16/opinion/sunday/tyranny-convenience.html">The Tyranny of Convenience</a> by <a href="http://www.timwu.org/">Tim Wu</a> – an important article to which I was pointed by the article <a href="https://seths.blog/2022/01/harder-easier-and-more-convenient/">Harder, easier and more convenient</a> by Seth Godin. Both articles emphasize the importance of doing things which are <em>not</em> convenient, in the face of the general trend towards ever more convenience in practically all areas of life. The last paragraph of Tim Wu’s article provides a good summary:</p> <blockquote> <p>So let’s reflect on the tyranny of convenience, try more often to resist its stupefying power, and see what happens. We must never forget the joy of doing something slow and something difficult, the satisfaction of not doing what is easiest. The constellation of inconvenient choices may be all that stands between us and a life of total, efficient conformity.</p> </blockquote> [Stream] 2022-03-27 https://thorstenzoeller.com/stream/#_2022_03_27_1 2022-03-27 2022-03-27 <p>Just rediscovered this impressive depiction of depths: <a href="https://xkcd.com/1040/">xkcd: Lakes and Oceans</a>.</p> [Stream] 2022-04-02 https://thorstenzoeller.com/stream/#_2022_04_02_1 2022-04-02 2022-04-02 <p><a href="https://www.nature.com/articles/d41586-022-00453-4">Turning off my phone improved my science</a> – insightful article by PhD student Adam Weiss. How much would our all lives be improved if we stopped using our phones all the time?</p> [Stream] 2022-05-08 https://thorstenzoeller.com/stream/#_2022_05_08_1 2022-05-08 2022-05-08 <p><a href="https://kk.org/thetechnium/103-bits-of-advice-i-wish-i-had-known/">103 Bits of Advice I Wish I Had Known</a> by Kevin Kelly: Full of insights and invaluable advice.</p> <p>Note to myself: Reread at least once per month.</p> <p><em>Update 2025-09-28:</em> No longer available online. The advice is now contained in a book titled “Excellent Advice for Living”.</p> [Stream] 2022-08-17 https://thorstenzoeller.com/stream/#_2022_08_17_1 2022-08-17 2022-08-17 <p><a href="https://neo.gsfc.nasa.gov/view.php?datasetId=SEDAC_POP">Population density world map</a> by <a href="https://neo.gsfc.nasa.gov/">NASA Earth Obervations (NEO)</a> (contains various other interesting maps of the world).</p> [Stream] 2022-08-29 https://thorstenzoeller.com/stream/#_2022_08_29_1 2022-08-29 2022-08-29 <p>The <a href="https://sammlung.staedelmuseum.de/en">digital collection</a> of the <a href="https://www.staedelmuseum.de/en">Städel Museum</a> contains more than 24,000 images of artworks in the public domain.</p> [Stream] 2022-09-04 https://thorstenzoeller.com/stream/#_2022_09_04_1 2022-09-04 2022-09-04 <p>The <a href="https://www.un.org/en/about-us/universal-declaration-of-human-rights">Universal Declaration of Human Rights</a> is certainly one of the great achievements of mankind (in spite of the – in many cases entirely insufficient – degree to which human rights are respected throughout the world). Yet, with rights also come responsibilities. <a href="https://www.interactioncouncil.org/publications/universal-declaration-human-responsibilities">A Universal Declaration of Human Responsibilities</a> is a proposal by the <a href="https://www.interactioncouncil.org/">InterAction Council</a> for human responsibilities that come along with the human rights.</p> [Stream] 2022-11-03 https://thorstenzoeller.com/stream/#_2022_11_03_1 2022-11-03 2022-11-03 <p>The <a href="https://minimalism.com/manifesto[Minimalism Life Manifesto">Minimalism Life Manifesto</a>.</p> [Stream] 2023-01-14 https://thorstenzoeller.com/stream/#_2023_01_14_1 2023-01-14 2023-01-14 <p>Since yesterday was Friday, the 13th, I was wondering how often the 13th day of a month is a Friday. Instead of trying to come up with a proper derivation, I approached the question by employing brute force (i.e. by writing a small script on the computer which counts such occurrences).</p> <p>The result: On average, there are approximately 1.72 occurrences of Friday, the 13th, per year.</p> <p>(Of course, if one were less lazy than me, one could also just <a href="https://qr.ae/pv3YyL">do the math</a>, or if one were even more lazy than me, one could just <a href="https://en.wikipedia.org/wiki/Friday_the_13th#Frequency">look it up</a>.)</p> [Stream] 2023-02-09 https://thorstenzoeller.com/stream/#_2023_02_09_1 2023-02-09 2023-02-09 <p>A great example of seeing things from a different point of view: The short story “The House of Asterion” by Jorge Luis Borges.</p> [Stream] 2023-02-10 https://thorstenzoeller.com/stream/#_2023_02_10_1 2023-02-10 2023-02-10 <p>New note: <a href="/mail-reminder/">A Simple E-Mail Reminder System Based on cron and at</a>.</p> [Stream] 2023-02-11 (1/2) https://thorstenzoeller.com/stream/#_2023_02_11_1 2023-02-11 2023-02-11 <p>New text: <a href="/day/">The Melancholy of the Day</a>.</p> [Stream] 2023-02-11 (2/2) https://thorstenzoeller.com/stream/#_2023_02_11_2 2023-02-11 2023-02-11 <p>“Gibs auf” (“Give it up!”): Fascinating (and, well, very Kafkaesque) <em>very</em> short story by Franz Kafka.</p> [Stream] 2023-02-12 https://thorstenzoeller.com/stream/#_2023_02_12_1 2023-02-12 2023-02-12 <p>The importance of editing texts and refactoring code can hardly be overestimated.</p> [Stream] 2023-03-12 https://thorstenzoeller.com/stream/#_2023_03_12_1 2023-03-12 2023-03-12 <p>We have lost the ability to just be. We know how to do, but not how to be.</p> [Stream] 2023-02-26 (1/2) https://thorstenzoeller.com/stream/#_2023_02_26_1 2023-02-26 2023-02-26 <p>New article: <a href="/anki-xephyr/">Running Anki inside Xephyr</a>.</p> [Stream] 2023-02-26 (2/2) https://thorstenzoeller.com/stream/#_2023_02_26_2 2023-02-26 2023-02-26 <p>There are few things which are as humbling as practicing Ashtanga Yoga regularly.</p> [Stream] 2023-03-05 https://thorstenzoeller.com/stream/#_2023_03_05_1 2023-03-05 2023-03-05 <p>New article: <a href="/sivers-how-to-live">Derek Sivers: “How to Live”</a>.</p> [Stream] 2023-03-10 https://thorstenzoeller.com/stream/#_2023_03_10_1 2023-03-10 2023-03-10 <p>Simply beautiful: <a href="https://www.youtube.com/watch?v=nK3q01mta2o">BEING</a> by Michael Torke. Found it via <a href="https://c.im/@jwsgeek@glod.org/109996126447093296">c.im/@jwsgeek@glod.org/109996126447093296</a>.</p> [Stream] 2023-03-11 (1/2) https://thorstenzoeller.com/stream/#_2023_03_11_1 2023-03-11 2023-03-11 <p>Ashtanga Yoga is not about progress. It’s about perseverance.</p> [Stream] 2023-03-11 (2/2) https://thorstenzoeller.com/stream/#_2023_03_11_2 2023-03-11 2023-03-11 <p>3 good things:</p> <ol> <li>Meditated for 20 minutes – first time in a rather long time.</li> <li>Played two rounds of the fantastic game “Ganz schön clever” with my son.</li> <li>Got some fresh air in the afternoon.</li> </ol> [Stream] 2023-03-15 (1/2) https://thorstenzoeller.com/stream/#_2023_03_15_1 2023-03-15 2023-03-15 <p>I’ll admit it: I usually have way too many browser tabs open. Every now and then, I lose my open tabs upon restarting the browser (because it could not fully recover from a previous crash or for whatever other reason). And each and every time, I somehow feel relieved when that happens. I don’t miss any of the tabs I previously considered too valuable to close; usually, I cannot even remember most of them.</p> <p>Which reminds me that I should really adjust my browser preferences such that tabs will <em>not</em> be reopened upon starting…</p> [Stream] 2023-03-15 (2/2) https://thorstenzoeller.com/stream/#_2023_03_15_2 2023-03-15 2023-03-15 <p>Good article by Bradley Taunt: <a href="https://bt.ht/webfonts/">Stop Using Custom Web Fonts</a> (also good: <a href="https://manuelmoreale.com/a-rant-on-web-font-licenses">A rant on web font licenses</a> by Manu Moreale, referenced in Bradley’s article).</p> [Stream] 2023-03-16 https://thorstenzoeller.com/stream/#_2023_03_16_1 2023-03-16 2023-03-16 <p><a href="https://www.quantamagazine.org/the-unpredictable-abilities-emerging-from-large-ai-models-20230316">The Unpredictable Abilities Emerging From Large AI Models</a>: At the same time startling, intriguing, and uncanny.</p> [Stream] 2023-03-26 https://thorstenzoeller.com/stream/#_2023_03_26_1 2023-03-26 2023-03-26 <p>A set of guidelines for designing command-line programs based on Unix principles: <a href="https://clig.dev/">Command Line Interface Guidelines</a></p> [Stream] 2023-03-27 https://thorstenzoeller.com/stream/#_2023_03_27_1 2023-03-27 2023-03-27 <p><a href="https://seths.blog/2023/03/avoid-unnecessary-amplifiers/">Avoid unnecessary amplifiers</a> by Seth Godin.</p> [Stream] 2023-03-28 https://thorstenzoeller.com/stream/#_2023_03_28_1 2023-03-28 2023-03-28 <p><a href="https://samestuffdifferentday.net/importance-of-journaling/">Thoughts on journaling: Answering common questions</a> by Michael Eaton.</p> [Stream] 2023-04-27 (1/2) https://thorstenzoeller.com/stream/#_2023_04_27_1 2023-04-27 2023-04-27 <p><a href="https://neal.fun/space-elevator/">Space Elevator</a>: Really fun, not just for kids.</p> [Stream] 2023-04-27 (2/2) https://thorstenzoeller.com/stream/#_2023_04_27_2 2023-04-27 2023-04-27 <p><a href="https://www.nature.com/immersive/d41586-022-04372-2/">The best science images of 2022</a>: Stunning!</p> [Stream] 2023-05-03 https://thorstenzoeller.com/stream/#_2023_05_03_1 2023-05-03 2023-05-03 <p>Nice article about Turing machines: <a href="https://www.quantamagazine.org/alan-turings-most-important-machine-was-never-built-20230503/">The Most Important Machine That Was Never Built</a>.</p> [Stream] 2023-06-16 https://thorstenzoeller.com/stream/#_2023_06_16_1 2023-06-16 2023-06-16 <p>Simple way to rename a hash key in Ruby:</p> <div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">hash</span><span class="p">[</span><span class="n">new_key</span><span class="p">]</span> <span class="o">=</span> <span class="nb">hash</span><span class="p">.</span><span class="nf">delete</span><span class="p">(</span><span class="n">old_key</span><span class="p">)</span> </code></pre></div></div> <p>This employs the fact that the <code>delete</code> method returns the value associated with the key to be deleted. Therefore, it is equivalent to:</p> <div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">hash</span><span class="p">[</span><span class="n">new_key</span><span class="p">]</span> <span class="o">=</span> <span class="nb">hash</span><span class="p">[</span><span class="n">old_key</span><span class="p">]</span> <span class="nb">hash</span><span class="p">.</span><span class="nf">delete</span><span class="p">(</span><span class="n">old_key</span><span class="p">)</span> </code></pre></div></div> <p>Note: If <code>old_key</code> is not guaranteed to exist, the case that it does not exist needs to be handled.</p> [Stream] 2023-09-09 https://thorstenzoeller.com/stream/#_2023_09_09_1 2023-09-09 2023-09-09 <p>I first became aware of Johann Sebastian Bach’s genius when I read <em>Gödel, Escher, Bach: An Eternal Golden Braid</em> by Douglas Hofstadter, one of my favorite non-fiction books of all time, more than two decades ago. The question posed by Tyler Cowen, <a href="https://marginalrevolution.com/marginalrevolution/2023/09/is-bach-the-greatest-achiever-of-all-time.html">Is Bach the greatest achiever of all time?</a>, therefore seems fully reasonable to me.</p> [Stream] 2023-11-21 https://thorstenzoeller.com/stream/#_2023_11_21_1 2023-11-21 2023-11-21 <p><a href="https://www.npr.org/sections/health-shots/2023/11/14/1212908276/can-little-actions-bring-big-joy-researchers-say-micro-acts-can-boost-well-being">Can little actions bring big joy? Researchers find ‘micro-acts’ can boost well-being</a> (via <a href="https://mastodon.social/@Robinbonhomme/111449193672309445">https://mastodon.social/@Robinbonhomme/111449193672309445</a>)</p> [Stream] 2023-11-26 https://thorstenzoeller.com/stream/#_2023_11_26_1 2023-11-26 2023-11-26 <p><a href="https://plaintextjournal.com/">The Plaintext Journal</a>: An open project created by <a href="https://geffreyvanderbos.com/">Geffrey van der Bos</a> about the importance of plain text for digital communication. Articles can be contributed and edited by anyone by making pull requests on a <a href="https://github.com/Geffreyvanderbos/geffre">GitHub Repository</a>. As the website states: <em>We believe in the timeless essence of plain text.</em> Yes, we do!</p> [Stream] 2024-06-07 https://thorstenzoeller.com/stream/#_2024_06_07_1 2024-06-07 2024-06-07 <p>So true: <a href="https://www.theminimalists.com/insecurity/">Store-Brand Insecurity</a> by Joshua Fields Millburn of <a href="https://www.theminimalists.com/">The Minimalists</a>.</p> [Stream] 2024-06-23 https://thorstenzoeller.com/stream/#_2024_06_23_1 2024-06-23 2024-06-23 <p><a href="https://www.theguardian.com/lifeandstyle/2019/nov/29/dopamine-fasting-tech-fad-might-work">Dopamine fasting is a tech fad that sounds silly – but might just work</a> by <a href="https://www.oliverburkeman.com/">Oliver Burkeman</a>.</p> [Stream] 2024-07-06 https://thorstenzoeller.com/stream/#_2024_07_06_1 2024-07-06 2024-07-06 <p>Nice article about the wonderful <a href="https://math.ucr.edu/home/baez/">John Baez</a>: <a href="https://alum.mit.edu/slice/mathematician-aims-keep-it-simple">Mathematician Aims to Keep It Simple</a></p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/112740830368723120">Mastodon</a>.</p> [Stream] 2024-07-07 (1/4) https://thorstenzoeller.com/stream/#_2024_07_07_1 2024-07-07 2024-07-07 <p>Read (and watch) <em>The Walking Man</em> by Jiro Taniguchi. Why? <a href="https://craigmod.com/">Craig Mod</a> explains it much better than I could in <a href="https://craigmod.com/ridgeline/158/">Ridgeline Transmission 158</a> (which is worth reading in its own right). Just like Craig, it took me a year of two to actually buy and read it (since – just like Craig – I am not a big comics reader), but it was on my list ever since I read Craig’s review. It may not be for everyone, but if you can relate to the theme, it is definitely worth it.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/112744197228377688">Mastodon</a>.</p> [Stream] 2024-07-07 (2/4) https://thorstenzoeller.com/stream/#_2024_07_07_2 2024-07-07 2024-07-07 <p>And for those interested in a more philosophical elaboration of the subject of walking, <em>A Philosophy of Walking</em> by Frédéric Gros might be for you (as well as basically everything <a href="https://craigmod.com/">Craig Mod</a> writes, of course).</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/112744245928443818">Mastodon</a>.</p> [Stream] 2024-07-07 (3/4) https://thorstenzoeller.com/stream/#_2024_07_07_3 2024-07-07 2024-07-07 <p><a href="https://unvarnishedgeek.github.io/2020/11/25/plain-text-one.html">The Elegance of Plain-Text Writing</a></p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/112744466345050045">Mastodon</a>.</p> [Stream] 2024-07-07 (4/4) https://thorstenzoeller.com/stream/#_2024_07_07_4 2024-07-07 2024-07-07 <p>It’s a pity that most undergraduate physics students today are still not properly being taught about the geometrical nature of tensors. While tensors are at the foundation of much of the mathematics of physics today, they are still not usually being introduced and taught as the geometrical objects they are. Sure, when working in a space which is endowed with sufficient structure, many objects can be transformed to either vectors or scalars, but that completely conceals their true geometrical nature.</p> <p>It is really remarkable (in a sad way) that the focus of teaching today is so much on what is likely considered to be some kind of pragmatism or practicality. This may make it easier to quickly get enabled to calculate stuff, but this ease comes at the expense of developing a real understanding. I think this is a very shortsighted approach.</p> <p>Furthermore, and just as important in my opinion, students are deprived of experiencing the full beauty of these objects in favor of providing them with a mere tool whose sole purpose it is to be able to somehow obtain correct results (not that this is not important, but it is only one aspect).</p> <p>So what to do about this? For beginning undergraduate students, I recommend reading <em>Geometrical Vectors</em> by Gabriel Weinreich (which basically contains no formulae at all and instead completely focuses on conveying a grasp of the objects themselves). When I first read <em>Geometrical Vectors</em> sometime during my undergraduate studies, it did not speak to me at all (I guess I was already too much indoctrinated by the traditional, orthodox way of teaching vectors and tensors). The second time I read it, however, was a profound experience, almost like an epiphany.</p> <p>After having developed a basic understanding of these matters, <em>Gauge fields, knots and gravity</em> by John Baez and Javier P. Muniain is a great resource (it contains much more and advanced material though). <a href="https://math.ucr.edu/home/baez/">John Baez</a> is a master of conveying physical and mathematical ideas, and I would recommend basically everything he writes.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/112745177106216414">Mastodon</a>.</p> [Stream] 2024-07-12 https://thorstenzoeller.com/stream/#_2024_07_12_1 2024-07-12 2024-07-12 <blockquote> <p>Human beings used to witness<br /> 25,000 sunrises during their lifetime.<br /> Have you seen 25 in the last year?<br /> Or were you too busy?</p> <p>– The Minimalists, <a href="https://www.theminimalists.com/unbusy/">Unbusy</a></p> </blockquote> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/112773291187369088">Mastodon</a>.</p> [Stream] 2024-07-14 (1/2) https://thorstenzoeller.com/stream/#_2024_07_14_1 2024-07-14 2024-07-14 <p><a href="https://medium.com/the-art-of-software-development/why-functional-programming-matters-63e92ac959ca">Why Functional Programming Matters</a> by Minh Quang Tran.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/112786034522255176">Mastodon</a>.</p> [Stream] 2024-07-14 (2/2) https://thorstenzoeller.com/stream/#_2024_07_14_2 2024-07-14 2024-07-14 <p>Finished reading <em>Der Zen-Affe und die Lotusblume</em> (<em>The Zen Monkey and the Lotus Flower</em>). Although the many beautiful Buddhist stories and parables appear a little corny and naive at times, they convey timeless insights and wisdom and are pleasant to read. I could have done without the explanations after each story, though.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/112786628060203131">Mastodon</a>.</p> [Stream] 2024-07-20 https://thorstenzoeller.com/stream/#_2024_07_20_1 2024-07-20 2024-07-20 <blockquote> <p>In the case of climate, we are not the dinosaurs. We are the meteor. We are not only in danger. We are the danger. But we are also the solution.</p> <p>– António Guterres, UN Secretary-General</p> </blockquote> <p>Source: Special address on climate action, <em>A Moment of Truth</em>, to the American Museum of Natural History in New York on 2024-06-04 <a href="https://press.un.org/en/2024/sgsm22255.doc.htm">https://press.un.org/en/2024/sgsm22255.doc.htm</a>.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/112819232371377882">Mastodon</a>.</p> [Stream] 2024-07-23 https://thorstenzoeller.com/stream/#_2024_07_23_1 2024-07-23 2024-07-23 <p>Best statement about patriotism I have ever heard:</p> <blockquote> <p>No, no. I don’t love states. I love my wife; that’s it.</p> <p>– Gustav Heinemann, former President of Germany</p> </blockquote> <p>(German original: “Ach was, ich liebe keine Staaten, ich liebe meine Frau; fertig!”)</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/112837109104329310">Mastodon</a>.</p> [Stream] 2024-08-08 (1/2) https://thorstenzoeller.com/stream/#_2024_08_08_1 2024-08-08 2024-08-08 <p>Note to self: Instead of impulsively checking the phone in idle moments and mindlessly browsing the web (which includes mindlessly browsing Mastodon), do a few rounds of mindful breathing instead.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/112926080188215306">Mastodon</a>.</p> [Stream] 2024-08-08 (2/2) https://thorstenzoeller.com/stream/#_2024_08_08_2 2024-08-08 2024-08-08 <p>An ability of utmost importance – and becoming ever more important: To be able to focus, to not easily get distracted, to withstand the constant fight for one’s attention.</p> <p>A true superpower.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/112926666783165196">Mastodon</a>.</p> [Stream] 2024-08-09 https://thorstenzoeller.com/stream/#_2024_08_09_1 2024-08-09 2024-08-09 <p>First Ashtanga Yoga practice in a while this morning. Was a tough one (even more so than usual). Right knee hurt a lot, as was to be expected. Sweated like crazy in the tropical heat of Nha Trang, Vietnam (in spite of the early morning hours).</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/112932411655457973">Mastodon</a>.</p> [Stream] 2024-08-13 (1/4) https://thorstenzoeller.com/stream/#_2024_08_13_1 2024-08-13 2024-08-13 <p>Went to see the current exhibition <a href="https://www.gasometer.de/en/exhibitions/planet-ozean">Planet Ozean</a> in the <a href="https://www.gasometer.de/en">Gasometer Oberhausen</a> when I visited my hometown a couple of weeks ago. Another great exhibition in this really cool location; thinking about going a second time later this year.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/112952936997604369">Mastodon</a>.</p> [Stream] 2024-08-13 (2/4) https://thorstenzoeller.com/stream/#_2024_08_13_2 2024-08-13 2024-08-13 <p>Beautiful restaurant with many vegan options in Nha Trang, Vietnam, not far from the beach: <a href="https://www.oinhatrang.com/english">Ơi Nha Trang</a></p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/112955104125394373">Mastodon</a>.</p> [Stream] 2024-08-13 (3/4) https://thorstenzoeller.com/stream/#_2024_08_13_3 2024-08-13 2024-08-13 <blockquote> <p>You never know what worse luck your bad luck has saved you from.</p> <p>– Cormac McCarthy</p> </blockquote> <p>A very stoic and true quote.</p> <p>Also see: <a href="https://sive.rs/horses">My favorite fable</a> by <a href="https://sivers.rs">Derek Sivers</a>.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/112955259444931346">Mastodon</a>.</p> [Stream] 2024-08-13 (4/4) https://thorstenzoeller.com/stream/#_2024_08_13_4 2024-08-13 2024-08-13 <p>A little vegan gem in Đà Lạt, Vietnam: “Quán Chay Hằng Thiện”. The vegan lẩu (hot pot) is excellent.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/112955142600434853">Mastodon</a>.</p> [Stream] 2024-08-14 https://thorstenzoeller.com/stream/#_2024_08_14_1 2024-08-14 2024-08-14 <p>Richard Rogler, one of the great German political satirists (“Kabarettist”), died at age 74.</p> <p>May you rest in peace.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/112959405527896980">Mastodon</a>.</p> [Stream] 2024-08-15 https://thorstenzoeller.com/stream/#_2024_08_15_1 2024-08-15 2024-08-15 <p>Eating fresh mangosteens – what a joy!</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/112966298154262445">Mastodon</a>.</p> [Stream] 2024-08-16 https://thorstenzoeller.com/stream/#_2024_08_16_1 2024-08-16 2024-08-16 <p>Note to self: Spend more time squatting.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/112971101696113912">Mastodon</a>.</p> [Stream] 2024-08-19 https://thorstenzoeller.com/stream/#_2024_08_19_1 2024-08-19 2024-08-19 <p>Just had my first sugar apple (or sweetsop?) in years – so delicious!</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/112987454777447110">Mastodon</a>.</p> [Stream] 2024-08-21 https://thorstenzoeller.com/stream/#_2024_08_21_1 2024-08-21 2024-08-21 <p>Perspectives are not right or wrong. They are useful or not useful.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/112999266170125927">Mastodon</a>.</p> [Stream] 2024-08-27 (1/3) https://thorstenzoeller.com/stream/#_2024_08_27_1 2024-08-27 2024-08-27 <p>Words uttered far too rarely: “I don’t know.”</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113032625560747505">Mastodon</a>.</p> [Stream] 2024-08-27 (2/3) https://thorstenzoeller.com/stream/#_2024_08_27_2 2024-08-27 2024-08-27 <p>The best booster for creativity: Being in motion.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113032661721698806">Mastodon</a>.</p> [Stream] 2024-08-27 (3/3) https://thorstenzoeller.com/stream/#_2024_08_27_3 2024-08-27 2024-08-27 <p>Always take the stairs.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113033406794793849">Mastodon</a>.</p> [Stream] 2024-08-28 (1/2) https://thorstenzoeller.com/stream/#_2024_08_28_1 2024-08-28 2024-08-28 <p>Repeating things over and over again creates strong habits with time.</p> <p>We are aware of this and make use of it when we deliberately try to form new, beneficial habits.</p> <p>But it is just as true for all the things we repeat unconsciously all the time. It is worth trying to become aware of these as well and asking ourselves if they create habits which serve us or habits which hinder – or even harm – us.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113040603684307782">Mastodon</a>.</p> [Stream] 2024-08-28 (2/2) https://thorstenzoeller.com/stream/#_2024_08_28_2 2024-08-28 2024-08-28 <p>The wonderful and timeless text <a href="https://justinjackson.ca/words.html">Words</a> by <a href="https://justinjackson.ca/">Justin Jackson</a> actually quite perfectly captures the essence of what the Gemini protocol was made for.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113040713329181637">Mastodon</a>.</p> [Stream] 2024-08-30 https://thorstenzoeller.com/stream/#_2024_08_30_1 2024-08-30 2024-08-30 <p>Two really great (and completely unrelated) documentaries I watched a while back on a flight:</p> <ul> <li><a href="https://en.wikipedia.org/wiki/The_Alpinist">The Alpinist</a> about climber Marc-André Leclerc.</li> <li><a href="https://en.wikipedia.org/wiki/The_Way_I_See_It_(film)">The Way I See It</a> about Pete Souza, former Chief Official White House Photographer.</li> </ul> <p>Both are highly recommended!</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113051011067781516">Mastodon</a>.</p> [Stream] 2024-09-01 (1/2) https://thorstenzoeller.com/stream/#_2024_09_01_1 2024-09-01 2024-09-01 <p>I have created a Gemini capsule out of curiosity: <a href="gemini://thorstenzoeller.com">thorstenzoeller.com</a>.</p> <p>It is hosted on <a href="https://openbsd.amsterdam/">OpenBSD Amsterdam</a> (just like this website) and served by <a href="https://gmid.omarpolo.com/gmid.8.html">gmid(8)</a> by <a href="https://www.omarpolo.com/">Omar Polo</a>. Setting it up was really simple!</p> <p>Thanks to OpenBSD Amsterdam for hosting my website as well as my Gemini capsule, and thanks to Omar for having written the gmid server!</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113063232664092219">Mastodon</a>.</p> [Stream] 2024-09-01 (2/2) https://thorstenzoeller.com/stream/#_2024_09_01_2 2024-09-01 2024-09-01 <p>Just started reading <a href="https://mwl.io/nonfiction/tools#ed">Ed Mastery</a> by <a href="https://mwl.io/">Michael W Lucas</a>, and it’s great fun (and very instructive as well).</p> <p>I’m starting to feel a little whimpy as a vi user, though…</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113063375087210080">Mastodon</a>.</p> [Stream] 2024-09-03 https://thorstenzoeller.com/stream/#_2024_09_03_1 2024-09-03 2024-09-03 <p>Installed <a href="https://aerc-mail.org/">aerc</a> today and quite like it at first (and second) glance.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113074968165376764">Mastodon</a>.</p> [Stream] 2024-09-05 (1/3) https://thorstenzoeller.com/stream/#_2024_09_05_1 2024-09-05 2024-09-05 <p>Today’s featured article on the German Wikipedia is about <a href="https://de.wikipedia.org/wiki/Caspar_David_Friedrich">Caspar David Friedrich</a>, one of my favorite painters. Worth reading (I guess the English version as well)!</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113084224520458460">Mastodon</a>.</p> [Stream] 2024-09-05 (2/3) https://thorstenzoeller.com/stream/#_2024_09_05_2 2024-09-05 2024-09-05 <p>Above 30 °C in Frankfurt right now. Might well be the hottest day here in the remaining year (although in previous years, we had days with temperatures around 30 °C as late as mid-October).</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113085200335729013">Mastodon</a>.</p> [Stream] 2024-09-05 (3/3) https://thorstenzoeller.com/stream/#_2024_09_05_3 2024-09-05 2024-09-05 <p>Practiced meditation for 20 minutes yesterday and today morning. First time in a while…</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113085536734693313">Mastodon</a>.</p> [Stream] 2024-09-06 (1/3) https://thorstenzoeller.com/stream/#_2024_09_06_1 2024-09-06 2024-09-06 <p>I love the pictures of the Scottish Highlands by <a href="https://mastodonapp.uk/@GetCarter">Steve Carter</a>. They not only capture the beautiful rough Highlands landscape, sometimes displaying scattered tr aces of mankind, sometimes not, but – and this is why they are so appealing to me – they often create a really dense atmosphere which I find captivating.</p> <p>Highly recommended!</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113089575133379700">Mastodon</a>.</p> [Stream] 2024-09-06 (2/3) https://thorstenzoeller.com/stream/#_2024_09_06_2 2024-09-06 2024-09-06 <p>So why does the behavior of <a href="https://man.openbsd.org/dc">dc(1)</a> and <a href="https://man.openbsd.org/bc">bc(1)</a> differ with respect to the <code>-e</code> command-line parameter?</p> <pre><code>$ bc -e &lt;expr&gt; </code></pre> <p>evaluates <code>&lt;expr&gt;</code> and then enters the REPL, while</p> <pre><code>$ dc -e &lt;expr&gt; </code></pre> <p>evaluates <code>&lt;expr&gt;</code> and then exits.</p> <p>The advantage of the <a href="https://man.openbsd.org/bc">bc(1)</a> behavior is that one can easily define an alias which e.g. sets the scale before doing calculations:</p> <pre><code>alias bc="bc -e 'scale = 2'" </code></pre> <p>while defining an alias with the equivalent expression for <a href="https://man.openbsd.org/dc">dc(1)</a>,</p> <pre><code>alias dc="dc -e '2 k'" </code></pre> <p>does not make a lot of sense.</p> <p>Am I missing something?</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113091245818176226">Mastodon</a>.</p> [Stream] 2024-09-06 (3/3) https://thorstenzoeller.com/stream/#_2024_09_06_3 2024-09-06 2024-09-06 <p>Again practiced meditation for 20 minutes this morning.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113091572776498187">Mastodon</a>.</p> [Stream] 2024-09-07 (1/5) https://thorstenzoeller.com/stream/#_2024_09_07_1 2024-09-07 2024-09-07 <p>Foggy morning in Frankfurt. Probably going to be another warm day before the temperature drops somewhat.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113094694273794649">Mastodon</a>.</p> [Stream] 2024-09-07 (2/5) https://thorstenzoeller.com/stream/#_2024_09_07_2 2024-09-07 2024-09-07 <p>Practiced meditation for 30 minutes this morning.</p> <p>And yeah, I am fully aware of the irony that I am already back to social media…</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113094986378781510">Mastodon</a>.</p> [Stream] 2024-09-07 (3/5) https://thorstenzoeller.com/stream/#_2024_09_07_3 2024-09-07 2024-09-07 <p>Creating a Gemini capsule (in particular when approached with the mindset of creating a web page) is another proof for the fact that constraints often foster creativity and focus on what is really important.</p> <p>In short: Not being able to do everything is often a good thing.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113095346365960056">Mastodon</a>.</p> [Stream] 2024-09-07 (4/5) https://thorstenzoeller.com/stream/#_2024_09_07_4 2024-09-07 2024-09-07 <p>I always felt like being too much of a mathematician for being a physicist, and too much of a physicist for being a mathematician – like sitting between two chairs.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113096235494842086">Mastodon</a>.</p> [Stream] 2024-09-07 (5/5) https://thorstenzoeller.com/stream/#_2024_09_07_5 2024-09-07 2024-09-07 <p>Did some gardening work in the evening, enjoyed vegan overnight oats made with oat milk – time to close the day.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113097966719201467">Mastodon</a>.</p> [Stream] 2024-09-08 (1/2) https://thorstenzoeller.com/stream/#_2024_09_08_1 2024-09-08 2024-09-08 <p>Practiced meditation for 30 minutes this morning.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113100924297618031">Mastodon</a>.</p> [Stream] 2024-09-08 (2/2) https://thorstenzoeller.com/stream/#_2024_09_08_2 2024-09-08 2024-09-08 <p>Got some more gardening work done before the rain starts.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113101584681201584">Mastodon</a>.</p> [Stream] 2024-09-09 https://thorstenzoeller.com/stream/#_2024_09_09_1 2024-09-09 2024-09-09 <p>Practiced meditation for 30 minutes this morning.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113106692777137940">Mastodon</a>.</p> [Stream] 2024-09-11 https://thorstenzoeller.com/stream/#_2024_09_11_1 2024-09-11 2024-09-11 <p>One of the things I really like about the Gemini protocol is that Gemini capsules lend themselves to being viewed with a text-based Gemini client in a terminal (although there are great GUI Gemini clients as well, notably <a href="https://gmi.skyjake.fi/lagrange/">Lagrange</a>).</p> <p>While there are text-based browsers for web pages as well (like lynx, links or w3m), to me they always felt more like workarounds, since the web is very much m ultimedia-oriented these days (in spite of its origins).</p> <p>On the contrary, since the geminiprotocol is text-oriented, text-based Gemini clients feel completely natural to me.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113118256355673345">Mastodon</a>.</p> [Stream] 2024-09-15 (1/3) https://thorstenzoeller.com/stream/#_2024_09_15_1 2024-09-15 2024-09-15 <p>Practiced meditation for 30 minutes this morning.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113140534392551079">Mastodon</a>.</p> [Stream] 2024-09-15 (2/3) https://thorstenzoeller.com/stream/#_2024_09_15_2 2024-09-15 2024-09-15 <p>I love the poem “Small Kindnesses” (see <a href="https://www.danushalameris.com/poems">www.danushalameris.com/poems</a>) by <a href="https://www.danushalameris.com/">Danusha Lameris</a>, an ode to kindness and compassion. It is not about big, heroic actions, but rather about small, everyday acts often performed almost unconsciously. Yet those small kindnesses are so important for our living together that they deserve attention and awareness.</p> <p>It is a beautiful elaboration on the Dalai Lama’s famous statement “My religion is kindness”.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113140618198918445">Mastodon</a>.</p> [Stream] 2024-09-15 (3/3) https://thorstenzoeller.com/stream/#_2024_09_15_3 2024-09-15 2024-09-15 <p>Thinking differentiates the world, meditation integrates it.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113140629205062097">Mastodon</a>.</p> [Stream] 2024-09-22 https://thorstenzoeller.com/stream/#_2024_09_22_1 2024-09-22 2024-09-22 <p>A simple demonstration of the monkey mind in action I find startling every time I am experiencing it:</p> <p>When something comes to your mind which you must not or do not want to forget, do not write it down (or otherwise persist it) immediately, but instead try to keep it in your mind for a couple of minutes.</p> <p>Sounds easy, but most of the times when something I need to or want to remember comes to my mind while brushing my teeth, for instance, I have forgotten it by the time I am finished because my mind has already jumped to the next subject(s) it happens to find interesting.</p> <p>Time and again I am thinking to myself in such situations: “Come on, it is impossible that you forget <thought so="" and=""> until you are done with <activity so="" and=""> just repeat the thought in your mind all the time." And often, the thought is forgotten within a fraction of a minute.</activity></thought></p> <p>Of course, oftentimes I will remember my thought again after a while; usually it is not completely forgotten and gone. The point is that this shows that it is really hard to focus your mind on a single thing even for a short period of time.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113180584278325946">Mastodon</a>.</p> [Stream] 2024-09-29 (1/2) https://thorstenzoeller.com/stream/#_2024_09_29_1 2024-09-29 2024-09-29 <p>Finished reading <a href="https://mwl.io/nonfiction/tools#ed">Ed Mastery</a> by <a href="https://mwl.io/">Michael W Lucas</a>. Review will be coming shortly.</p> <p>Looking forward to getting <a href="https://mwl.io/nonfiction/tools#ryoms">Run Your Own Mail Server</a> next.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113221101059196296">Mastodon</a>.</p> [Stream] 2024-09-29 (2/2) https://thorstenzoeller.com/stream/#_2024_09_29_2 2024-09-29 2024-09-29 <p>Here’s my review of <a href="/ed-mastery/">Michael W Lucas: “Ed Mastery”</a>.</p> <p>Make sure to read the <a href="https://nxdomain.no/~peter/ed_mastery_is_a_must_for_real_unix_person.html">review by Peter N. M. Hansteen</a> as well (might be a little more factual than mine…)!</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113221282968575539">Mastodon</a>.</p> [Stream] 2024-11-03 (1/2) https://thorstenzoeller.com/stream/#_2024_11_03_1 2024-11-03 2024-11-03 <p>A nice – if somewhat explicit – companion to <a href="https://justinjackson.ca/words.html">Words</a> by <a href="https://justinjackson.ca/">Justin Jackson</a>:</p> <p><a href="http://motherfuckingwebsite.com/">Motherfucking Website</a></p> <p>And another reason for the <a href="https://geminiprotocol.net/">Gemini protocol</a>, for that matter.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113419983860033300">Mastodon</a>.</p> [Stream] 2024-11-03 (2/2) https://thorstenzoeller.com/stream/#_2024_11_03_2 2024-11-03 2024-11-03 <p>The “Día de Muertos” is a really beautiful tradition (and yes, I know I’m a little late…). It is so contrary to the way death is dealt with in most European cultures (and in particular in German culture), where it is usually attempted to avoid thinking of death as much as possible.</p> <p>To me, it seems that the “Día de Muertos” is a very healthy way of coping with death and acknowledging that there is no live withouth death – <em>memento mori</em>.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113420090159088618">Mastodon</a>.</p> [Stream] 2024-11-12 https://thorstenzoeller.com/stream/#_2024_11_12_1 2024-11-12 2024-11-12 <p>Sharath Jois, director of the <a href="https://sharathyogacentre.com/">Sharath Yoga Centre</a> in Mysore, India, and lineage holder of the Ashtanga Yoga system, dies at age 53.</p> <p>A sad reminder that all of our lives, no matter how healthy and strong we may seem, hang by a thread and can end at any one moment. <em>Memento mori</em>!</p> <p>May you rest in peace.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113471284116455086">Mastodon</a>.</p> [Stream] 2024-12-14 https://thorstenzoeller.com/stream/#_2024_12_14_1 2024-12-14 2024-12-14 <p>Reading <em>The Wizard of Oz</em> for the first time in my life, in preparation for watching it in theater over Christmas with my son and parents.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113651923556478005">Mastodon</a>.</p> [Stream] 2024-12-15 https://thorstenzoeller.com/stream/#_2024_12_15_1 2024-12-15 2024-12-15 <p>I rarely spend time just sitting there and looking out of the window into the garden, for instance, but it is always worth it. Taking time for becoming calm, doing “nothing”, not being “productive”, enjoying stillness is so important and necessary.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113657445870798546">Mastodon</a>.</p> [Stream] 2025-01-03 https://thorstenzoeller.com/stream/#_2025_01_03_1 2025-01-03 2025-01-03 <p>Started reading <em>A System for Writing</em> by <a href="https://bobdoto.computer/">Bob Doto</a> (got it after heaving read the great <a href="https://writingslowly.com/2024/07/14/a-system-for.html">review</a> by Richard Griffiths). Haven’t read much of it so far, but it already looks very primising!</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113879360659006522">Mastodon</a>.</p> [Stream] 2025-02-09 https://thorstenzoeller.com/stream/#_2025_02_09_1 2025-02-09 2025-02-09 <p>Interesting: <a href="https://www.mrporter.com/en-us/journal/lifestyle/life-lessons-people-tokyo-japan-style-food-24538500">33 Ways To Improve Your Life, Japanese Style</a> (via <a href="https://www.recomendo.com/p/33-life-tipssecret-museum-of-mankindsmall">Recomendo - issue #449</a>)</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/113975307523337737">Mastodon</a>.</p> [Stream] 2025-02-16 https://thorstenzoeller.com/stream/#_2025_02_16_1 2025-02-16 2025-02-16 <p>The importance of being able to focus and concentrate and to withstand distractions and immediate gratifications can hardly be overstated.</p> <p>It is one of the most powerful abilities in today’s world, and it will be even more so in the future when methods to catch the attention of people will get ever more refined.</p> <p>While in the past people were able to focus entire days on writing or thinking (provided they could afford it), today someone who is able to concentrate on a single task for an extended period of time has almost become an exception.</p> <p>We live in an age of distraction and diversion, of minimal attention spans and of scattered, fragmented and erratic minds.</p> <p>This is no new insight, but worth remembering.</p> <p>Being able to focus is a true superpower.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/114014953374000490">Mastodon</a>.</p> [Stream] 2025-03-09 https://thorstenzoeller.com/stream/#_2025_03_09_1 2025-03-09 2025-03-09 <p>Forgot my mobile phone in the car when I got home yesterday and only noticed it 3 hours later.</p> <p>Pretty happy about that (well, not necessarily about my mental presence, but about my ability to live without a phone for short periods of time).</p> <p>And no, I didn’t sleep during those 3 hours.</p> <p>And yes, I’m fully aware of how ridiculous it is to be proud of that.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/114132708860817209">Mastodon</a>.</p> [Stream] 2025-03-11 https://thorstenzoeller.com/stream/#_2025_03_11_1 2025-03-11 2025-03-11 <p>Read <a href="https://craigmod.com/essays/how_i_got_my_attention_back/">How I Got My Attention Back</a> by <a href="https://craigmod.com/">Craig Mod</a> for the second or third time. It is a wonderful piece which is more relevant and timely than ever (even with respect to the political allusions – now, eight years after it was first published).</p> <p>It is eloquently written and full or relevant observations and insights. Also, it reminds me of how much I like Craig’s writing style and that I should really read more from him (in particular his great newsletters!).</p> <p>In fact, I think one can see the piece as an excellent elaboration on the central proposition “All of humanity’s problems stem from man’s inability to sit quietly in a room alone” by Blaise Pascal, which is quoted in the piece (and which has long been one of my favorite quotes). But while man was not able to sit quietly in a room alone already several hundred years ago, in our times it has become incomparably harder – knowing that the much sought-after distraction – and thereby salvation – from his aloneness is not waiting somewhere outside his empty room, but beckoning right next to his fingertips.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/114145031336183336">Mastodon</a>.</p> [Stream] 2025-03-13 https://thorstenzoeller.com/stream/#_2025_03_13_1 2025-03-13 2025-03-13 <p>Finished reading <em>A System for Writing</em> by <a href="https://bobdoto.computer/">Bob Doto</a> (yes, I’m a very slow reader…). My first impression was confirmed by the rest of the book, which is very well written and devised. I learned quite a bit from the book, and it definitely renewed my interest in the Zettelkasten method.</p> <p>I highly recommend this book to anyone interested in PKM in general, the Zettelkasten method in particular, and/or writing which is supported by the use of a Zettelkasten.</p> <p>Hat tip to Richard Griffiths for pointing me to the book via his <a href="https://writingslowly.com/2024/07/14/a-system-for.html">review</a>!</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/114156353991326165">Mastodon</a>.</p> [Stream] 2025-03-16 (1/2) https://thorstenzoeller.com/stream/#_2025_03_16_1 2025-03-16 2025-03-16 <p>I have several files (mostly related to the logging of tasks, events etc.) where (some) lines start with a date. Since the current date is usually not at the very beginning or very end of the file, a convenient shortcut in <a href="https://www.vim.org/">Vim</a> or <a href="https://neovim.io/">Neovim</a> (or other Vim-like editors) to jump to the current date is:</p> <pre><code>nnoremap &lt;C-G&gt; /^&lt;C-R&gt;=strftime('%Y-%m-%d')&lt;CR&gt;&lt;CR&gt;:noh&lt;CR&gt; </code></pre> <p>This assumes that the date is given in the <em>strftime</em> format <code>%Y-%m-%d</code> (the only true date format), and it maps the command to the key combination <code>&lt;Ctrl&gt; + G</code> (of course it can be mapped to any other key or key combination).</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/114173427831371500">Mastodon</a>.</p> [Stream] 2025-03-16 (2/2) https://thorstenzoeller.com/stream/#_2025_03_16_2 2025-03-16 2025-03-16 <p>Our perception is fully compatible with the assumption that everything, including all our memories, was created an instant (or any other time) ago.</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/114173436832712104">Mastodon</a>.</p> [Stream] 2025-03-18 https://thorstenzoeller.com/stream/#_2025_03_18_1 2025-03-18 2025-03-18 <p>Started reading <em>Lev Shestov – Philosopher of the Sleepless Night</em> by Matthew Beaumont and am very curious about it.</p> <p>I hadn’t known Lev Shestov before reading <em>The Myth of Sisyphos</em> by Albert Camus, in which he is mentioned several times and which got me interested in him in the first place. What caught my attention most is Shestov’s deep belief that reality cannot be pressed into a (philosophical or any other kind of) system and that humans are fundamentally irrational beings.</p> <p>Let’s see what the book has in store about this largely unknown thinker…</p> <p>Read on <a href="https://exquisite.social/@thorstenzoeller/114184589473620152">Mastodon</a>.</p> [Stream] 2025-07-06 https://thorstenzoeller.com/stream/#_2025_07_06_1 2025-07-06 2025-07-06 <p>My <a href="/sivers-useful-not-true">review</a> of <a href="https://sive.rs/u">Useful Not True</a> by Derek Sivers.</p> [Stream] 2025-08-13 (1/2) https://thorstenzoeller.com/stream/#_2025_08_13_1 2025-08-13 2025-08-13 <p>Having a lot of fun playing Pickleball in Vietnam. There are so many Pickleball courts here – in contrast to Germany, where there are still very few courts unfortunately…</p> [Stream] 2025-08-13 (2/2) https://thorstenzoeller.com/stream/#_2025_08_13_2 2025-08-13 2025-08-13 <p>Finished reading “The Worst Ship in the Fleet” a couple of days ago, the first part of <a href="https://www.skylerramirez.com/">Skyler Ramirez</a>’ “Dumb Luck and Dead Heroes” series. I had bought a copy of it after having read about it more or less by chance on <a href="https://nathanlowell.com/">Nathan Lowell’s website</a> (hat tip to Nathan Lowell).</p> <p>It is a quick read and rather fast paced, and I enjoyed it a lot. There are certainly inconsistencies and logical hiccups, but I didn’t really care (in contrast to pretty much everything outside of fiction, where I would typically care a lot). The story is captivating, but what is probably most compelling are its two main characters. I am really curious about how their relationship will be developing in the course of the series.</p> <p>Looking forward to reading part two, “The Worst Spies in the Sector”.</p> [Stream] 2025-08-15 https://thorstenzoeller.com/stream/#_2025_08_15_1 2025-08-15 2025-08-15 <p>Finished reading <em>Lev Shestov – Philosopher of the Sleepless Night</em> by Matthew Beaumont yesterday. I wanted to read more about Shestov ever since I first read about him in <em>The Myth of Sisyphos</em> by Albert Camus. Unfortunately, he is mostly forgotten these days, and it is hard to get hold of copies of his original works.</p> <p>With his rather short, but very dense book, Beaumont offers a lot of information about this elusive and highly unique thinker, focusing on one of his central themes or motives, sleeplessnessand watchfulness in the face of the horrors of our world.</p> <p>There is much to say about this book, and I plan to elaborate on it in a longer review.</p> [Stream] 2025-08-16 https://thorstenzoeller.com/stream/#_2025_08_16_1 2025-08-16 2025-08-16 <p>Last day in Hanoi, Vietnam, before heading back to Germany tonight. Had a great time as usual; in particular my first visit to Danang was memorable.</p> [Stream] 2025-08-27 (1/2) https://thorstenzoeller.com/stream/#_2025_08_27_1 2025-08-27 2025-08-27 <p>Delicious lunch: Stir-fried dandelion leaves with rice (yes, that <em>is</em> a full-fledged meal!).</p> [Stream] 2025-08-27 (2/2) https://thorstenzoeller.com/stream/#_2025_08_27_2 2025-08-27 2025-08-27 <p>Getting really interested in Solarpunk and looking for good fiction to read.</p> [Stream] 2025-08-30 (1/2) https://thorstenzoeller.com/stream/#_2025_08_30_1 2025-08-30 2025-08-30 <p>New article <a href="/how-i-use-vim/">How I Use Vim</a>, a contribution to the first <a href="https://lazybea.rs/vim-carnival-202509/">Vim Carnival</a>.</p> [Stream] 2025-08-30 (2/2) https://thorstenzoeller.com/stream/#_2025_08_30_2 2025-08-30 2025-08-30 <p>Finally got an <a href="https://codeberg.org/thorstenzoeller">account</a> on <a href="https://codeberg.org/">Codeberg</a>. Feels good!</p> [Stream] 2025-09-04 https://thorstenzoeller.com/stream/#_2025_09_04_1 2025-09-04 2025-09-04 <p><a href="https://ploum.net/2025-09-03-calendar-txt.html">How I fell in love with calendar.txt</a>: Interesting article about the <a href="https://terokarvinen.com/2021/calendar-txt/">calendar.txt</a> format for a text-file-based calendar.</p> [Stream] 2025-09-05 (1/2) https://thorstenzoeller.com/stream/#_2025_09_05_1 2025-09-05 2025-09-05 <p>Life is an acceleration run towards death.</p> <p>This is not morbid, but a matter of fact – our time on earth runs out quicker than we would like to believe, no matter what our stage in life.</p> [Stream] 2025-09-05 (2/2) https://thorstenzoeller.com/stream/#_2025_09_05_2 2025-09-05 2025-09-05 <p>Haiku attempt:</p> <blockquote> <p>Vast sky opens<br /> behind the window.<br /> The honey bee cannot escape.</p> </blockquote> <p>Critique welcome.</p> [Stream] 2025-09-07 https://thorstenzoeller.com/stream/#_2025_09_07_1 2025-09-07 2025-09-07 <p><a href="https://mastodon.world/@dailyhaikuprompt">Haiku attempt (prompt “Laughter”)</a>:</p> <blockquote> <p>Nightshades falling<br /> over silent meadows –<br /> faint laughter in the distance.</p> </blockquote> [Stream] 2025-09-08 https://thorstenzoeller.com/stream/#_2025_09_08_1 2025-09-08 2025-09-08 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Willow”)</a>:</p> <blockquote> <p>the old willow bends<br /> ailingly over the pond<br /> a brown duck swims by</p> </blockquote> [Stream] 2025-09-09 https://thorstenzoeller.com/stream/#_2025_09_09_1 2025-09-09 2025-09-09 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Harvest”)</a>:</p> <blockquote> <p>fields stretching golden<br /> beneath the evening sun –<br /> harvest in the cart</p> </blockquote> [Stream] 2025-09-10 https://thorstenzoeller.com/stream/#_2025_09_10_1 2025-09-10 2025-09-10 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Grave”)</a>:</p> <blockquote> <p>on a weathered grave<br /> rotten oak leaves are covered<br /> by branches and snow</p> </blockquote> [Stream] 2025-09-11 https://thorstenzoeller.com/stream/#_2025_09_11_1 2025-09-11 2025-09-11 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Puddle”)</a>:</p> <blockquote> <p>gusts of wind hitting<br /> the puddle’s quiet blue surface –<br /> the full moon is gone</p> </blockquote> [Stream] 2025-09-12 https://thorstenzoeller.com/stream/#_2025_09_12_1 2025-09-12 2025-09-12 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Harvest”)</a>:</p> <blockquote> <p>fruits, nuts, cereal –<br /> the ample harvest delights<br /> mice and men alike</p> </blockquote> [Stream] 2025-09-13 https://thorstenzoeller.com/stream/#_2025_09_13_1 2025-09-13 2025-09-13 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Pumpkin”)</a>:</p> <blockquote> <p>the hollow pumpkin<br /> shining dimly from within<br /> grins maliciously</p> </blockquote> <p>And an alternative version:</p> <blockquote> <p>the hollow pumpkin<br /> contemplating its grim fate<br /> grins maliciously</p> </blockquote> [Stream] 2025-09-14 (1/2) https://thorstenzoeller.com/stream/#_2025_09_14_1 2025-09-14 2025-09-14 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Chrysanthemums”)</a>:</p> <blockquote> <p>between the debris<br /> a patch of chrsyanthemums<br /> defies the wasteland</p> </blockquote> [Stream] 2025-09-14 (2/2) https://thorstenzoeller.com/stream/#_2025_09_14_2 2025-09-14 2025-09-14 <p>I love it when the sun breaks through gloomy clouds. Magnificient play of light!</p> [Stream] 2025-09-15 https://thorstenzoeller.com/stream/#_2025_09_15_1 2025-09-15 2025-09-15 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Deer”)</a>:</p> <blockquote> <p>behind a large tree<br /> in the snow-covered forest<br /> a shy deer peeks out</p> </blockquote> <p>And another one:</p> <blockquote> <p>the young deer wanders<br /> around in fear, its mother<br /> gone without a trace</p> </blockquote> [Stream] 2025-09-16 https://thorstenzoeller.com/stream/#_2025_09_16_1 2025-09-16 2025-09-16 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Orchids”)</a>:</p> <blockquote> <p>in a steep rock face<br /> a wee grassy ledge harbors<br /> two purple orchids</p> </blockquote> [Stream] 2025-09-17 https://thorstenzoeller.com/stream/#_2025_09_17_1 2025-09-17 2025-09-17 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Lotus”)</a>:</p> <blockquote> <p>on a mountain top<br /> the monk, sitting in lotus<br /> meditates deeply</p> </blockquote> [Stream] 2025-09-18 https://thorstenzoeller.com/stream/#_2025_09_18_1 2025-09-18 2025-09-18 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Morning”)</a>:</p> <blockquote> <p>morning dew pearling<br /> from a daffodil, sunbeams<br /> scattered by the drops</p> </blockquote> [Stream] 2025-09-19 (1/2) https://thorstenzoeller.com/stream/#_2025_09_19_1 2025-09-19 2025-09-19 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Glow”)</a>:</p> <blockquote> <p>a faint glow appears<br /> behind the dark horizon –<br /> morning approaches</p> </blockquote> [Stream] 2025-09-19 (2/2) https://thorstenzoeller.com/stream/#_2025_09_19_2 2025-09-19 2025-09-19 <p>Finished reading <em>Aufzeichnungen aus dem Kellerloch</em> (<em>Notes from the Underground</em>) by Fyodor Dostoevsky. Deeply fascinating psychological study of a social outsider, an “underground man” – disturbing and uncomfortable.</p> [Stream] 2025-09-20 (1/3) https://thorstenzoeller.com/stream/#_2025_09_20_1 2025-09-20 2025-09-20 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Cascade”)</a>:</p> <blockquote> <p>amidst wild waters<br /> cascading down the mountain<br /> a lone tree persists</p> </blockquote> [Stream] 2025-09-20 (2/3) https://thorstenzoeller.com/stream/#_2025_09_20_2 2025-09-20 2025-09-20 <p>The joy I get out of tweaking a minimal detail of the layout of my website or from refactoring a tiny piece of code – even if it has no visible effect and just makes things a bit nicer under the hood – is completely irrational, yet very real.</p> [Stream] 2025-09-20 (3/3) https://thorstenzoeller.com/stream/#_2025_09_20_3 2025-09-20 2025-09-20 <p>Started reading <em>The Worst Spies in the Sector</em> by <a href="https://www.skylerramirez.com/">Skyler Ramirez</a> – part 2 of his <em>Dumb Luck and Dead Heroes</em> series.</p> <p>Really looking forward to it after the fun I had reading the first part!</p> [Stream] 2025-09-21 (1/3) https://thorstenzoeller.com/stream/#_2025_09_21_1 2025-09-21 2025-09-21 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Somber”)</a>:</p> <blockquote> <p>in the depth of night<br /> the stars shine faintly above<br /> in somber silence</p> </blockquote> [Stream] 2025-09-21 (2/3) https://thorstenzoeller.com/stream/#_2025_09_21_2 2025-09-21 2025-09-21 <p>I would be really willing to give <a href="https://tuta.com/">Tuta</a> a try – almost everything about them looks really good.</p> <p>There is one thing, though, which is a complete no-go for me: Being locked-in to a specific piece of software (even if it is open source) in order to be able to send/receive mail, and in particular not being able to use a terminal-based email client like mutt or aerc which e.g. allow me to use a decent text editor for writing mails.</p> <p>Any suggestions? Am I missing something?</p> [Stream] 2025-09-21 (3/3) https://thorstenzoeller.com/stream/#_2025_09_21_3 2025-09-21 2025-09-21 <p><a href="#_2024_07_23">I have said it before</a>, and I will say it again: The quote “I don’t love my country; I love my wife!” by former German president Gustav Heinemann (freely translated by myself) is the best statement about patriotism I have ever come across.</p> <p>Note: You can replace “wife” by anything you like – as long as it is a human being.</p> [Stream] 2025-09-22 https://thorstenzoeller.com/stream/#_2025_09_22_1 2025-09-22 2025-09-22 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Chilly”)</a>:</p> <blockquote> <p>a pale sun’s light rays<br /> breaking through the chilly fog –<br /> autumn has arrived</p> </blockquote> [Stream] 2025-09-23 https://thorstenzoeller.com/stream/#_2025_09_23_1 2025-09-23 2025-09-23 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Salmon”)</a>:</p> <blockquote> <p>a flock of salmon<br /> pushing up the steep river<br /> flanked by lush forests</p> </blockquote> [Stream] 2025-09-24 https://thorstenzoeller.com/stream/#_2025_09_24_1 2025-09-24 2025-09-24 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Footsteps”)</a>:</p> <blockquote> <p>footsteps in the snow<br /> barely visible by now<br /> washed away by rain</p> </blockquote> [Stream] 2025-09-25 https://thorstenzoeller.com/stream/#_2025_09_25_1 2025-09-25 2025-09-25 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Walnuts”)</a>:</p> <blockquote> <p>in the bowl full of<br /> walnuts, almonds and pecans,<br /> a single raisin</p> </blockquote> [Stream] 2025-09-26 https://thorstenzoeller.com/stream/#_2025_09_26_1 2025-09-26 2025-09-26 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Dapple”)</a>:</p> <blockquote> <p>orange dappled floor –<br /> painting the wall was only<br /> a partial success</p> </blockquote> [Stream] 2025-09-27 https://thorstenzoeller.com/stream/#_2025_09_27_1 2025-09-27 2025-09-27 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Sea Bass”)</a>:</p> <blockquote> <p>the dark silhouette<br /> of a sea bass swimming past<br /> in troubled waters</p> </blockquote> [Stream] 2025-09-28 https://thorstenzoeller.com/stream/#_2025_09_28_1 2025-09-28 2025-09-28 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Eaves”)</a>:</p> <blockquote> <p>droplets dripping down<br /> the eaves, falling towards their<br /> destiny, soon gone</p> </blockquote> [Stream] 2025-09-29 https://thorstenzoeller.com/stream/#_2025_09_29_1 2025-09-29 2025-09-29 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Laughter”)</a>:</p> <blockquote> <p>deep solemn silence<br /> all of a sudden broken<br /> by jarring laughter</p> </blockquote> [Stream] 2025-09-30 (1/4) https://thorstenzoeller.com/stream/#_2025_09_30_1 2025-09-30 2025-09-30 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “High Tide”)</a>:</p> <blockquote> <p>the small isle, swallowed<br /> by the high tide, waiting to<br /> re-rise from the sea</p> </blockquote> [Stream] 2025-09-30 (2/4) https://thorstenzoeller.com/stream/#_2025_09_30_2 2025-09-30 2025-09-30 <p>Finally added an Atom feed to my website: <a href="/atom.xml">/atom.xml</a>.</p> [Stream] 2025-09-30 (3/4) https://thorstenzoeller.com/stream/#_2025_09_30_3 2025-09-30 2025-09-30 <p>About a week ago, I had the great pleasure to be on the <a href="https://lazybea.rs/overunder/">Over/Under</a> series from <a href="https://lazybea.rs/">Hyde</a>. You can read the questions I was asked and my answers, along with Hyde’s answers to the same questions, <a href="https://lazybea.rs/ovr-034/">here</a>. It was a lot of fun – thanks to Hyde for having me!</p> <p>Also, don’t forget to follow Hyde on <a href="https://lazybear.social/@hyde">Mastodon</a> if you don’t already do!</p> [Stream] 2025-09-30 (4/4) https://thorstenzoeller.com/stream/#_2025_09_30_4 2025-09-30 2025-09-30 <p>Learned about <a href="https://typst.app">Typst</a> today (hat tip to <a href="https://mastodon.art/@RussSharek">Russ Sharek</a> for pointing me to it – had for some reason never heard of it before). It is a typesetting system for creating documents which has a lot of features, including advanced facilities for typesetting mathematical formulae. I have only started diving into it, but it looks <em>really</em> promising, and as far as I can tell so far, it may even have the potential to replace LaTeX (though it is probably a little early to assess).</p> <p>Currently, I use <a href="https://docs.asciidoctor.org/pdf-converter/latest/">Asciidoctor PDF</a> for simpler documents and LaTeX for more complex documents, in particular documents involving mathematical formulae (though this happens rarely these days). <em>Typst</em> might very well be able to satisfy both these use cases. And there is even an OpenBSD package for it!</p> [Stream] 2025-10-01 https://thorstenzoeller.com/stream/#_2025_10_01_1 2025-10-01 2025-10-01 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Hunter’s Moon”)</a>:</p> <blockquote> <p>hunter’s moon shining<br /> brightly over reddish woods –<br /> autumn time has come</p> </blockquote> [Stream] 2025-10-02 https://thorstenzoeller.com/stream/#_2025_10_02_1 2025-10-02 2025-10-02 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Grain”)</a>:</p> <blockquote> <p>heaps of grain filling<br /> the storage chambers, a mouse<br /> delights in its share</p> </blockquote> [Stream] 2025-10-03 https://thorstenzoeller.com/stream/#_2025_10_03_1 2025-10-03 2025-10-03 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Frost”)</a>:</p> <blockquote> <p>frost-covered meadows<br /> let fall in oblivion<br /> a summer long gone</p> </blockquote> [Stream] 2025-10-04 https://thorstenzoeller.com/stream/#_2025_10_04_1 2025-10-04 2025-10-04 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Yellow Leaves”)</a>:</p> <blockquote> <p>yellow leaves dancing<br /> wildly in the air, stirred up<br /> by harsh autumn wind</p> </blockquote> [Stream] 2025-10-05 https://thorstenzoeller.com/stream/#_2025_10_05_1 2025-10-05 2025-10-05 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Flour”)</a>:</p> <blockquote> <p>no trace of the mouse –<br /> except footsteps in the flour<br /> scattered on the floor</p> </blockquote> [Stream] 2025-10-06 (1/2) https://thorstenzoeller.com/stream/#_2025_10_06_1 2025-10-06 2025-10-06 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Night Chill”)</a>:</p> <blockquote> <p>as the moon rises<br /> on a starry sky, autumn’s<br /> night chill slowly spreads</p> </blockquote> [Stream] 2025-10-06 (2/2) https://thorstenzoeller.com/stream/#_2025_10_06_2 2025-10-06 2025-10-06 <p>Thanks to <a href="https://adam.omg.lol/">Adam Newbold</a>, today I learned that one’s <a href="https://social.lol/@adam/115328017911416358">Mastodon posts are automatically published via an RSS feed</a>, where the URL of the feed is obtained by simply appending <code>.rss</code> to the URL of one’s Masotodon account (so, for instance, my feed is available under <a href="https://exquisite.social/@thorstenzoeller.rss">https://exquisite.social/@thorstenzoeller.rss</a>) – <a href="https://sive.rs/obvious">Obvious to others. Amazing to me</a>.</p> [Stream] 2025-10-07 https://thorstenzoeller.com/stream/#_2025_10_07_1 2025-10-07 2025-10-07 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Avoid”)</a>:</p> <blockquote> <p>flocks of birds flying<br /> towards the south to avoid<br /> the cold of winter</p> </blockquote> [Stream] 2025-10-08 https://thorstenzoeller.com/stream/#_2025_10_08_1 2025-10-08 2025-10-08 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Ghost”)</a>:</p> <blockquote> <p>in deep autumn fog<br /> a raven slowly descends<br /> like a somber ghost</p> </blockquote> [Stream] 2025-10-09 https://thorstenzoeller.com/stream/#_2025_10_09_1 2025-10-09 2025-10-09 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Geese”)</a>:</p> <blockquote> <p>the sky is mirrored<br /> in the lake; at its far end<br /> a flock of geese rest</p> </blockquote> [Stream] 2025-10-10 (1/2) https://thorstenzoeller.com/stream/#_2025_10_10_1 2025-10-10 2025-10-10 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Straw”)</a>:</p> <blockquote> <p>a straw is dancing<br /> on the meadows, blown around<br /> by petulant winds</p> </blockquote> [Stream] 2025-10-10 (2/2) https://thorstenzoeller.com/stream/#_2025_10_10_2 2025-10-10 2025-10-10 <p>A must-read: <a href="https://www.thetinywisdom.com/the-slow-decline-of-joy/">The slow decline of joy</a></p> [Stream] 2025-10-11 (1/2) https://thorstenzoeller.com/stream/#_2025_10_11_1 2025-10-11 2025-10-11 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Vivid”)</a>:</p> <blockquote> <p>created by my<br /> vivid imagination:<br /> a world united</p> </blockquote> [Stream] 2025-10-11 (2/2) https://thorstenzoeller.com/stream/#_2025_10_11_2 2025-10-11 2025-10-11 <p>In <a href="https://www.ruby-lang.org/en/">Ruby</a>, transforming a hash of the form</p> <div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">h</span> <span class="o">=</span> <span class="p">{</span><span class="n">key_1</span> <span class="o">=&gt;</span> <span class="n">arr_1</span><span class="p">,</span> <span class="o">...</span><span class="p">,</span> <span class="n">key_n</span> <span class="o">=&gt;</span> <span class="n">arr_n</span><span class="p">}</span> </code></pre></div></div> <p>into an array of the form</p> <div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[</span> <span class="p">[</span><span class="n">key_1</span><span class="p">,</span> <span class="n">arr_1</span><span class="p">.</span><span class="nf">first</span><span class="p">],</span> <span class="o">...</span><span class="p">,</span> <span class="p">[</span><span class="n">key_1</span><span class="p">,</span> <span class="n">arr_1</span><span class="p">.</span><span class="nf">last</span><span class="p">],</span> <span class="o">...</span><span class="p">,</span> <span class="p">[</span><span class="n">key_n</span><span class="p">,</span> <span class="n">arr_n</span><span class="p">.</span><span class="nf">first</span><span class="p">],</span> <span class="o">...</span><span class="p">,</span> <span class="p">[</span><span class="n">key_n</span><span class="p">,</span> <span class="n">arr_n</span><span class="p">.</span><span class="nf">last</span><span class="p">]</span> <span class="p">]</span> </code></pre></div></div> <p>can be achieved as follows:</p> <div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">h</span><span class="p">.</span><span class="nf">flat_map</span> <span class="p">{</span> <span class="o">|</span><span class="n">key</span><span class="p">,</span> <span class="n">arr</span><span class="o">|</span> <span class="n">arr</span><span class="p">.</span><span class="nf">map</span> <span class="p">{</span> <span class="o">|</span><span class="n">elem</span><span class="o">|</span> <span class="p">[</span><span class="n">key</span><span class="p">,</span> <span class="n">elem</span><span class="p">]</span> <span class="p">}</span> <span class="p">}</span> </code></pre></div></div> <p>Example: With</p> <div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">h</span> <span class="o">=</span> <span class="p">{</span><span class="s2">"a"</span> <span class="o">=&gt;</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">],</span> <span class="s2">"b"</span> <span class="o">=&gt;</span> <span class="p">[</span><span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">6</span><span class="p">]}</span> </code></pre></div></div> <p>one thus obtains:</p> <div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[[</span><span class="s2">"a"</span><span class="p">,</span> <span class="mi">1</span><span class="p">],</span> <span class="p">[</span><span class="s2">"a"</span><span class="p">,</span> <span class="mi">2</span><span class="p">],</span> <span class="p">[</span><span class="s2">"a"</span><span class="p">,</span> <span class="mi">3</span><span class="p">],</span> <span class="p">[</span><span class="s2">"b"</span><span class="p">,</span> <span class="mi">4</span><span class="p">],</span> <span class="p">[</span><span class="s2">"b"</span><span class="p">,</span> <span class="mi">5</span><span class="p">],</span> <span class="p">[</span><span class="s2">"b"</span><span class="p">,</span> <span class="mi">6</span><span class="p">]]</span> </code></pre></div></div> [Stream] 2025-10-12 https://thorstenzoeller.com/stream/#_2025_10_12_1 2025-10-12 2025-10-12 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Crunch”)</a>:</p> <blockquote> <p>pebbles crunch under<br /> the cart’s heavy wheels, drowning<br /> out tired panting</p> </blockquote> [Stream] 2025-10-13 https://thorstenzoeller.com/stream/#_2025_10_13_1 2025-10-13 2025-10-13 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Stem”)</a>:</p> <blockquote> <p>waiting patiently<br /> for the asparagus stems<br /> to finish cooking</p> </blockquote> [Stream] 2025-10-14 https://thorstenzoeller.com/stream/#_2025_10_14_1 2025-10-14 2025-10-14 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Fallen”)</a>:</p> <blockquote> <p>so many people<br /> have fallen in disgrace for<br /> just speaking the truth</p> </blockquote> [Stream] 2025-10-15 https://thorstenzoeller.com/stream/#_2025_10_15_1 2025-10-15 2025-10-15 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Apple”)</a>:</p> <blockquote> <p>an apple falling<br /> from a tree helped finding the<br /> law of gravity</p> </blockquote> [Stream] 2025-10-16 https://thorstenzoeller.com/stream/#_2025_10_16_1 2025-10-16 2025-10-16 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Ease”)</a>:</p> <blockquote> <p>standing at the shore<br /> watching the infinite sea<br /> puts my mind to ease</p> </blockquote> [Stream] 2025-10-17 https://thorstenzoeller.com/stream/#_2025_10_17_1 2025-10-17 2025-10-17 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Crisp”)</a>:</p> <blockquote> <p>this delicious smell –<br /> i anticipate the taste<br /> of bread, fresh and crisp</p> </blockquote> [Stream] 2025-10-18 https://thorstenzoeller.com/stream/#_2025_10_18_1 2025-10-18 2025-10-18 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Mushrooms”)</a>:</p> <blockquote> <p>mushrooms, big and small,<br /> sprout abundantly on grounds<br /> moist from autumn rain</p> </blockquote> [Stream] 2025-10-19 https://thorstenzoeller.com/stream/#_2025_10_19_1 2025-10-19 2025-10-19 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Withered”)</a>:</p> <blockquote> <p>long-withered flowers<br /> surround the weathered tombstone<br /> under a pale moon</p> </blockquote> [Stream] 2025-10-20 https://thorstenzoeller.com/stream/#_2025_10_20_1 2025-10-20 2025-10-20 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Decline”)</a>:</p> <blockquote> <p>ceasing to do things<br /> for their own sake – this is the<br /> slow decline of joy</p> </blockquote> <p>Inspired by <a href="https://www.thetinywisdom.com/the-slow-decline-of-joy/">The slow decline of joy</a>.</p> [Stream] 2025-10-21 https://thorstenzoeller.com/stream/#_2025_10_21_1 2025-10-21 2025-10-21 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Grown”)</a>:</p> <blockquote> <p>vegetables grown<br /> in one’s own garden – what could<br /> be more delicious?</p> </blockquote> [Stream] 2025-10-22 https://thorstenzoeller.com/stream/#_2025_10_22_1 2025-10-22 2025-10-22 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Haystack”)</a>:</p> <blockquote> <p>on the withered field<br /> a single haystack rises<br /> like a huge meerkat</p> </blockquote> [Stream] 2025-10-23 https://thorstenzoeller.com/stream/#_2025_10_23_1 2025-10-23 2025-10-23 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Pear”)</a>:</p> <blockquote> <p>amidst apples and<br /> plums in the basket a pear,<br /> crooked and beautiful</p> </blockquote> [Stream] 2025-10-24 https://thorstenzoeller.com/stream/#_2025_10_24_1 2025-10-24 2025-10-24 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Endeavor”)</a>:</p> <blockquote> <p>leaves fall in autumn<br /> in earth’s timeless endeavor<br /> to renew itself</p> </blockquote> [Stream] 2025-10-25 https://thorstenzoeller.com/stream/#_2025_10_25_1 2025-10-25 2025-10-25 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Ripe”)</a>:</p> <blockquote> <p>no leaves, no fruits – yet<br /> once again leaves will be green<br /> and fruits will be ripe</p> </blockquote> [Stream] 2025-10-26 (1/2) https://thorstenzoeller.com/stream/#_2025_10_26_1 2025-10-26 2025-10-26 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Halt”)</a>:</p> <blockquote> <p>sitting in silence<br /> letting all my thoughts pass by<br /> time comes to a halt</p> </blockquote> [Stream] 2025-10-26 (2/2) https://thorstenzoeller.com/stream/#_2025_10_26_2 2025-10-26 2025-10-26 <p>Finished reading <em>The Worst Spies in the Sector</em> by <a href="https://www.skylerramirez.com/">Skyler Ramirez</a> – part 2 of his <em>Dumb Luck and Dead Heroes</em> series. Had as much fun reading it as the first part. Looking forward to read the next part in the series soon!</p> [Stream] 2025-10-27 https://thorstenzoeller.com/stream/#_2025_10_27_1 2025-10-27 2025-10-27 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Coolness”)</a>:</p> <blockquote> <p>autumn’s wet coolness<br /> creeps into my bones as i<br /> wander through the mist</p> </blockquote> [Stream] 2025-10-28 https://thorstenzoeller.com/stream/#_2025_10_28_1 2025-10-28 2025-10-28 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Groan”)</a>:</p> <blockquote> <p>i groan sullenly<br /> as i get up, still dazed from<br /> morning tiredness</p> </blockquote> [Stream] 2025-10-29 https://thorstenzoeller.com/stream/#_2025_10_29_1 2025-10-29 2025-10-29 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Desolate”)</a>:</p> <blockquote> <p>desolate is the<br /> garden of gethsemane<br /> wasteland of despair</p> </blockquote> <p>Inspired by the wonderful book <em>Lev Shestov – Philosopher of the Sleepless Night</em> by Matthew Beaumont.</p> [Stream] 2025-10-30 https://thorstenzoeller.com/stream/#_2025_10_30_1 2025-10-30 2025-10-30 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Maudlin”)</a>:</p> <blockquote> <p>maudlin memories<br /> overwhelm me as i watch<br /> the deserted beach</p> </blockquote> [Stream] 2025-10-31 https://thorstenzoeller.com/stream/#_2025_10_31_1 2025-10-31 2025-10-31 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Foggy”)</a>:</p> <blockquote> <p>a weak sun’s dispersed<br /> light faintly illuminates<br /> the foggy landscape</p> </blockquote> [Stream] 2025-11-01 https://thorstenzoeller.com/stream/#_2025_11_01_1 2025-11-01 2025-11-01 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Carp”)</a>:</p> <blockquote> <p>its mouth wide open<br /> the giant carp seems resolved<br /> to swallow the world</p> </blockquote> [Stream] 2025-11-02 https://thorstenzoeller.com/stream/#_2025_11_02_1 2025-11-02 2025-11-02 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Sleet”)</a>:</p> <blockquote> <p>winter’s premature<br /> visit turns rain into sleet<br /> as temperatures drop</p> </blockquote> [Stream] 2025-11-03 https://thorstenzoeller.com/stream/#_2025_11_03_1 2025-11-03 2025-11-03 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Endure”)</a>:</p> <blockquote> <p>if only nature<br /> would not have to endure man’s<br /> foolish ruthlessness</p> </blockquote> [Stream] 2025-11-04 https://thorstenzoeller.com/stream/#_2025_11_04_1 2025-11-04 2025-11-04 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Mittens”)</a>:</p> <blockquote> <p>half-covered by snow<br /> a pair of mittens suggests<br /> ill-fated events</p> </blockquote> [Stream] 2025-11-05 https://thorstenzoeller.com/stream/#_2025_11_05_1 2025-11-05 2025-11-05 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Pine Sap”)</a>:</p> <blockquote> <p>small drops of pine sap<br /> dripping down the tree sparkle<br /> golden in the light</p> </blockquote> [Stream] 2025-11-06 https://thorstenzoeller.com/stream/#_2025_11_06_1 2025-11-06 2025-11-06 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Moon Rise”)</a>:</p> <blockquote> <p>it fills me with joy<br /> to watch the moon rise on a<br /> cloudless winter sky</p> </blockquote> [Stream] 2025-11-07 https://thorstenzoeller.com/stream/#_2025_11_07_1 2025-11-07 2025-11-07 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “North Wind”)</a>:</p> <blockquote> <p>whistling through the woods<br /> the harsh north wind makes the trees<br /> dance to its music</p> </blockquote> [Stream] 2025-11-08 https://thorstenzoeller.com/stream/#_2025_11_08_1 2025-11-08 2025-11-08 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Clear Day”)</a>:</p> <blockquote> <p>stony giants far<br /> away, visible on a<br /> clear day’s horizon</p> </blockquote> [Stream] 2025-11-09 https://thorstenzoeller.com/stream/#_2025_11_09_1 2025-11-09 2025-11-09 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Turnips”)</a>:</p> <blockquote> <p>delicious turnips –<br /> autumn’s gifts are plenty, and<br /> veggies grow galore</p> </blockquote> [Stream] 2025-11-10 https://thorstenzoeller.com/stream/#_2025_11_10_1 2025-11-10 2025-11-10 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Fireplace”)</a>:</p> <blockquote> <p>embers smolders in<br /> the fireplace, a last faint<br /> glow in the darkness</p> </blockquote> [Stream] 2025-11-11 https://thorstenzoeller.com/stream/#_2025_11_11_1 2025-11-11 2025-11-11 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Fading”)</a>:</p> <blockquote> <p>memories of peace<br /> fading to oblivion<br /> for so many souls</p> </blockquote> [Stream] 2025-11-12 https://thorstenzoeller.com/stream/#_2025_11_12_1 2025-11-12 2025-11-12 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Mask”)</a>:</p> <blockquote> <p>thick clouds mask earth’s face<br /> not even the gods high on<br /> olymp can look through</p> </blockquote> [Stream] 2025-11-13 https://thorstenzoeller.com/stream/#_2025_11_13_1 2025-11-13 2025-11-13 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “First Snow”)</a>:</p> <blockquote> <p>first snow is falling<br /> early, an unexpected<br /> guest in november</p> </blockquote> [Stream] 2025-11-14 https://thorstenzoeller.com/stream/#_2025_11_14_1 2025-11-14 2025-11-14 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Winter Moon”)</a>:</p> <blockquote> <p>silent mountains cast<br /> in silver by the distant<br /> winter moon’s pale light</p> </blockquote> [Stream] 2025-11-15 https://thorstenzoeller.com/stream/#_2025_11_15_1 2025-11-15 2025-11-15 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Classic”)</a>:</p> <blockquote> <p>all is separate:<br /> classic misunderstanding<br /> of the thinking mind</p> </blockquote> [Stream] 2025-11-16 https://thorstenzoeller.com/stream/#_2025_11_16_1 2025-11-16 2025-11-16 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Rust”)</a>:</p> <blockquote> <p>sprinkled stains of rust:<br /> beautiful imperfection<br /> and lesson for life</p> </blockquote> [Stream] 2025-11-17 https://thorstenzoeller.com/stream/#_2025_11_17_1 2025-11-17 2025-11-17 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Pine”)</a>:</p> <blockquote> <p>tasty salad bowl<br /> full of raw veggies topped with<br /> delicious pine nuts</p> </blockquote> [Stream] 2025-11-18 https://thorstenzoeller.com/stream/#_2025_11_18_1 2025-11-18 2025-11-18 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Rake”)</a>:</p> <blockquote> <p>ants crawl all over<br /> the rusty rake’s teeth; it has<br /> not scraped leaves since long</p> </blockquote> [Stream] 2025-11-19 https://thorstenzoeller.com/stream/#_2025_11_19_1 2025-11-19 2025-11-19 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Withering”)</a>:</p> <blockquote> <p>flowers in full bloom<br /> days ago, now withering –<br /> that’s the course of life</p> </blockquote> [Stream] 2025-11-20 https://thorstenzoeller.com/stream/#_2025_11_20_1 2025-11-20 2025-11-20 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Bonfire”)</a>:</p> <blockquote> <p>do things completely<br /> leaving no trace of yourself<br /> like a bonfire</p> </blockquote> <p>Inspired by Shunryu Suzuki.</p> [Stream] 2025-11-21 https://thorstenzoeller.com/stream/#_2025_11_21_1 2025-11-21 2025-11-21 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Hot Tea”)</a>:</p> <blockquote> <p>steam rises from the<br /> hot tea, slowly dissolving<br /> in cold winter air</p> </blockquote> [Stream] 2025-11-22 https://thorstenzoeller.com/stream/#_2025_11_22_1 2025-11-22 2025-11-22 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Withered Grass”)</a>:</p> <blockquote> <p>dusty paths flanked by<br /> withered grass wind their way through<br /> the barren landscape</p> </blockquote> [Stream] 2025-11-23 (1/2) https://thorstenzoeller.com/stream/#_2025_11_23_1 2025-11-23 2025-11-23 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Imbibe”)</a>:</p> <blockquote> <p>imbibe the wisdom<br /> of great souls who figured out<br /> how to live life well</p> </blockquote> [Stream] 2025-11-23 (2/2) https://thorstenzoeller.com/stream/#_2025_11_23_2 2025-11-23 2025-11-23 <p>Winter has arrived in Frankfurt, Germany: Sub-zero temperatures and the first snow.</p> [Stream] 2025-11-24 https://thorstenzoeller.com/stream/#_2025_11_24_1 2025-11-24 2025-11-24 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Fireplace”)</a>:</p> <blockquote> <p>crackling fireplace<br /> inside, outside the storm is<br /> raging in the night</p> </blockquote> [Stream] 2025-11-25 https://thorstenzoeller.com/stream/#_2025_11_25_1 2025-11-25 2025-11-25 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Fright”)</a>:</p> <blockquote> <p>birds fly up in fright<br /> as the scarecrow suddenly<br /> jerks and comes to life</p> </blockquote> [Stream] 2025-11-26 https://thorstenzoeller.com/stream/#_2025_11_26_1 2025-11-26 2025-11-26 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Frost”)</a>:</p> <blockquote> <p>frost covers the grass<br /> after another ice cold<br /> late november night</p> </blockquote> [Stream] 2025-11-27 https://thorstenzoeller.com/stream/#_2025_11_27_1 2025-11-27 2025-11-27 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Yellowing”)</a>:</p> <blockquote> <p>leaves cover the trail,<br /> yellowing, soaked from pouring<br /> cold november rain</p> </blockquote> [Stream] 2025-11-28 https://thorstenzoeller.com/stream/#_2025_11_28_1 2025-11-28 2025-11-28 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Turnip”)</a>:</p> <blockquote> <p>a patch of purple<br /> reveals the turnip, hidden<br /> in the dark brown soil</p> </blockquote> [Stream] 2025-11-29 https://thorstenzoeller.com/stream/#_2025_11_29_1 2025-11-29 2025-11-29 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Withered Reeds”)</a>:</p> <blockquote> <p>between withered reeds<br /> a lonely duck swims along<br /> on an autumn eve</p> </blockquote> [Stream] 2025-11-30 https://thorstenzoeller.com/stream/#_2025_11_30_1 2025-11-30 2025-11-30 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Winter Coat”)</a>:</p> <blockquote> <p>days get colder in<br /> late autumn – time to dig out<br /> the warm winter coat</p> </blockquote> [Stream] 2025-12-01 https://thorstenzoeller.com/stream/#_2025_12_01_1 2025-12-01 2025-12-01 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Tea”)</a>:</p> <blockquote> <p>drink your tea slowly<br /> let it become the center<br /> of your universe</p> </blockquote> [Stream] 2025-12-02 https://thorstenzoeller.com/stream/#_2025_12_02_1 2025-12-02 2025-12-02 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Cold Night”)</a>:</p> <blockquote> <p>as the cold night ends<br /> the sun rises for its brief<br /> visit to the sky</p> </blockquote> [Stream] 2025-12-03 https://thorstenzoeller.com/stream/#_2025_12_03_1 2025-12-03 2025-12-03 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Moon”)</a>:</p> <blockquote> <p>pitch black is the night<br /> which no moon illuminates<br /> and cast in silence</p> </blockquote> [Stream] 2025-12-04 https://thorstenzoeller.com/stream/#_2025_12_04_1 2025-12-04 2025-12-04 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Juncos”)</a>:</p> <blockquote> <p>a flock of juncos<br /> suddenly appears, rushing<br /> by, gone in a blink</p> </blockquote> [Stream] 2025-12-05 https://thorstenzoeller.com/stream/#_2025_12_05_1 2025-12-05 2025-12-05 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Cardinal”)</a>:</p> <blockquote> <p>behind green leaves a<br /> cardinal’s red cap protrudes –<br /> nice play of colors</p> </blockquote> [Stream] 2025-12-06 https://thorstenzoeller.com/stream/#_2025_12_06_1 2025-12-06 2025-12-06 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “December”)</a>:</p> <blockquote> <p>december has come,<br /> another year has almost<br /> passed – tempus fugit</p> </blockquote> [Stream] 2025-12-07 https://thorstenzoeller.com/stream/#_2025_12_07_1 2025-12-07 2025-12-07 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Desolation”)</a>:</p> <blockquote> <p>let us be wakeful<br /> and not slip into a world<br /> of desolation</p> </blockquote> [Stream] 2025-12-08 https://thorstenzoeller.com/stream/#_2025_12_08_1 2025-12-08 2025-12-08 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “North”)</a>:</p> <blockquote> <p>in the far north days<br /> are so short now, darkness is<br /> almost permanent</p> </blockquote> [Stream] 2025-12-09 https://thorstenzoeller.com/stream/#_2025_12_09_1 2025-12-09 2025-12-09 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Breath”)</a>:</p> <blockquote> <p>my anxiety<br /> finally fades as my breath<br /> becomes slow and deep</p> </blockquote> [Stream] 2025-12-10 https://thorstenzoeller.com/stream/#_2025_12_10_1 2025-12-10 2025-12-10 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Camellia”)</a>:</p> <blockquote> <p>between bushes and<br /> shrubs camellia in bloom<br /> unassuming gem</p> </blockquote> [Stream] 2025-12-11 https://thorstenzoeller.com/stream/#_2025_12_11_1 2025-12-11 2025-12-11 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Star”)</a>:</p> <blockquote> <p>in the north a star<br /> shining brightl in the sky –<br /> reliable guide</p> </blockquote> [Stream] 2025-12-12 https://thorstenzoeller.com/stream/#_2025_12_12_1 2025-12-12 2025-12-12 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Snowflake”)</a>:</p> <blockquote> <p>last moments of the<br /> snowflake descending towards<br /> earth before it melts</p> </blockquote> [Stream] 2025-12-13 https://thorstenzoeller.com/stream/#_2025_12_13_1 2025-12-13 2025-12-13 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Dark Cloud”)</a>:</p> <blockquote> <p>behind the dark cloud<br /> the sun is shining brightly<br /> even if unseen</p> </blockquote> [Stream] 2025-12-14 https://thorstenzoeller.com/stream/#_2025_12_14_1 2025-12-14 2025-12-14 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Hare”)</a>:</p> <blockquote> <p>serene silence of<br /> the snowy woods, broken by<br /> a hare racing by</p> </blockquote> [Stream] 2025-12-15 https://thorstenzoeller.com/stream/#_2025_12_15_1 2025-12-15 2025-12-15 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Stew”)</a>:</p> <blockquote> <p>steaming stew on the<br /> stove, tempting offer on a<br /> cold december day</p> </blockquote> [Stream] 2025-12-16 https://thorstenzoeller.com/stream/#_2025_12_16_1 2025-12-16 2025-12-16 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Snow Drift”)</a>:</p> <blockquote> <p>snow drift on the road<br /> violent blizzard’s remnant<br /> deceptive hazard</p> </blockquote> [Stream] 2025-12-17 https://thorstenzoeller.com/stream/#_2025_12_17_1 2025-12-17 2025-12-17 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Grebe”)</a>:</p> <blockquote> <p>on the lake’s surface<br /> reflecting pale december<br /> sun a lonely grebe</p> </blockquote> [Stream] 2025-12-18 https://thorstenzoeller.com/stream/#_2025_12_18_1 2025-12-18 2025-12-18 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Long Night”)</a>:</p> <blockquote> <p>after a long night<br /> the sun will finally rise<br /> and give light and warmth</p> </blockquote> [Stream] 2025-12-19 https://thorstenzoeller.com/stream/#_2025_12_19_1 2025-12-19 2025-12-19 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Winter”)</a>:</p> <blockquote> <p>the cold and darkness<br /> of winter weight on my mood<br /> i long for springtime</p> </blockquote> [Stream] 2025-12-20 https://thorstenzoeller.com/stream/#_2025_12_20_1 2025-12-20 2025-12-20 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Sleet”)</a>:</p> <blockquote> <p>snow turns into sleet<br /> awkward precipitation<br /> wet, cold and nasty</p> </blockquote> [Stream] 2025-12-21 https://thorstenzoeller.com/stream/#_2025_12_21_1 2025-12-21 2025-12-21 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Solstice”)</a>:</p> <blockquote> <p>december solstice<br /> year’s longest night and mark of<br /> a new beginning</p> </blockquote> [Stream] 2025-12-22 https://thorstenzoeller.com/stream/#_2025_12_22_1 2025-12-22 2025-12-22 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Overcoat”)</a>:</p> <blockquote> <p>good to have a warm<br /> overcoat in these freezing<br /> cold december nights</p> </blockquote> [Stream] 2025-12-23 https://thorstenzoeller.com/stream/#_2025_12_23_1 2025-12-23 2025-12-23 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Quilt”)</a>:</p> <blockquote> <p>hand-sewn quilt, patchwork<br /> of bright and colorful fabric,<br /> real piece of art</p> </blockquote> [Stream] 2025-12-24 https://thorstenzoeller.com/stream/#_2025_12_24_1 2025-12-24 2025-12-24 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Hay”)</a>:</p> <blockquote> <p>stacks of hay fill the<br /> old barn from bottom to top.<br /> where is the needle?</p> </blockquote> [Stream] 2025-12-25 https://thorstenzoeller.com/stream/#_2025_12_25_1 2025-12-25 2025-12-25 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Night”)</a>:</p> <blockquote> <p>deepest night, dark and<br /> silent, stars shining faintly<br /> in the endless sky</p> </blockquote> [Stream] 2025-12-26 https://thorstenzoeller.com/stream/#_2025_12_26_1 2025-12-26 2025-12-26 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Mirth”)</a>:</p> <blockquote> <p>what a joyful time<br /> these days between the years are<br /> and brimming with mirth</p> </blockquote> [Stream] 2025-12-27 https://thorstenzoeller.com/stream/#_2025_12_27_1 2025-12-27 2025-12-27 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Bear”)</a>:</p> <blockquote> <p>i know a lazy<br /> bear called hyde, lover of vim,<br /> cool guy all the way</p> </blockquote> <p><a href="https://lazybea.rs/">Lazybear</a></p> [Stream] 2025-12-28 https://thorstenzoeller.com/stream/#_2025_12_28_1 2025-12-28 2025-12-28 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Chestnut”)</a>:</p> <blockquote> <p>on top of the hill<br /> a sole chestnut tree towers<br /> over the landscape</p> </blockquote> [Stream] 2025-12-29 https://thorstenzoeller.com/stream/#_2025_12_29_1 2025-12-29 2025-12-29 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Cold”)</a>:</p> <blockquote> <p>human warmth: this is<br /> the counterpoint to a world<br /> growing cold so fast</p> </blockquote> [Stream] 2025-12-30 https://thorstenzoeller.com/stream/#_2025_12_30_1 2025-12-30 2025-12-30 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Icicles”)</a>:</p> <blockquote> <p>icicles lined up<br /> like nails of frozen water<br /> melting in the sun</p> </blockquote> [Stream] 2025-12-31 https://thorstenzoeller.com/stream/#_2025_12_31_1 2025-12-31 2025-12-31 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Clear Sky”)</a>:</p> <blockquote> <p>the storm is over<br /> and the sun is shining from<br /> the cloudless clear sky</p> </blockquote> [Stream] 2026-01-01 https://thorstenzoeller.com/stream/#_2026_01_01_1 2026-01-01 2026-01-01 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Thread”)</a>:</p> <blockquote> <p>breath is like a thread<br /> we traverse along in our<br /> great journey through life</p> </blockquote> [Stream] 2026-01-02 https://thorstenzoeller.com/stream/#_2026_01_02_1 2026-01-02 2026-01-02 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Plover”)</a>:</p> <blockquote> <p>on the lake’s sandy<br /> shore a lone plover, looking<br /> into the distance</p> </blockquote> [Stream] 2026-01-03 https://thorstenzoeller.com/stream/#_2026_01_03_1 2026-01-03 2026-01-03 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “New Year”)</a>:</p> <blockquote> <p>another new year<br /> another chance to renew<br /> like every day</p> </blockquote> [Stream] 2026-01-04 https://thorstenzoeller.com/stream/#_2026_01_04_1 2026-01-04 2026-01-04 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Bear”)</a>:</p> <blockquote> <p>deep down in the box<br /> a frayed teddy bear, hidden<br /> for many decades</p> </blockquote> [Stream] 2026-01-05 https://thorstenzoeller.com/stream/#_2026_01_05_1 2026-01-05 2026-01-05 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Pheasant”)</a>:</p> <blockquote> <p>colorful pheasant<br /> proudly showing its plumage<br /> while strutting around</p> </blockquote> [Stream] 2026-01-06 https://thorstenzoeller.com/stream/#_2026_01_06_1 2026-01-06 2026-01-06 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Field”)</a>:</p> <blockquote> <p>flower field in bloom<br /> deceptive beauty, full of<br /> annoying pollen</p> </blockquote> [Stream] 2026-01-07 https://thorstenzoeller.com/stream/#_2026_01_07_1 2026-01-07 2026-01-07 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Wolf Moon”)</a>:</p> <blockquote> <p>no wolves are howling<br /> in this year’s first full moon night<br /> wolf moon is silent</p> </blockquote> [Stream] 2026-01-08 https://thorstenzoeller.com/stream/#_2026_01_08_1 2026-01-08 2026-01-08 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Time”)</a>:</p> <blockquote> <p>sitting in silence<br /> being aware, just breathing<br /> time seems to stand still</p> </blockquote> [Stream] 2026-01-09 https://thorstenzoeller.com/stream/#_2026_01_09_1 2026-01-09 2026-01-09 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Soup”)</a>:</p> <blockquote> <p>hot soup - warming and<br /> delicious not only on<br /> freezing winter days</p> </blockquote> [Stream] 2026-01-10 (1/2) https://thorstenzoeller.com/stream/#_2026_01_10_1 2026-01-10 2026-01-10 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Creek”)</a>:</p> <blockquote> <p>small creek just hours<br /> ago, now raging river<br /> flooding the valley</p> </blockquote> [Stream] 2026-01-10 (2/2) https://thorstenzoeller.com/stream/#_2026_01_10_2 2026-01-10 2026-01-10 <p>Beautiful post by R.L. Dane: <a href="https://rldane.space/why-you-need-a-stack-of-thinkpads.html">Why You Need A Stack of Thinkpads</a></p> [Stream] 2026-01-11 (1/5) https://thorstenzoeller.com/stream/#_2026_01_11_1 2026-01-11 2026-01-11 <p>Started using <a href="https://ledger-cli.org/">Ledger</a> for tracking the team fund of my son’s soccer team. Haven’t used Ledger in a while, but it definitely feels like the right tool for the job (plain text, after all!).</p> <p>See <a href="https://plaintextaccounting.org/">Plain Text Accounting</a>.</p> [Stream] 2026-01-11 (2/5) https://thorstenzoeller.com/stream/#_2026_01_11_2 2026-01-11 2026-01-11 <p>Reading “The Calendar of Wisdom” by Lev Tolstoi has become one of my favorite daily practices over the past couple of years. I certainly don’t agree with everything, but I feel there is a lot of truth and wisdom in it, and everything is expressed in very clear and simple words. It is a bit like a compass: After reading the entry of a given day, I feel a little more aligned and focused on what is really important, if only for a short while.</p> [Stream] 2026-01-11 (3/5) https://thorstenzoeller.com/stream/#_2026_01_11_3 2026-01-11 2026-01-11 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Sable”)</a>:</p> <blockquote> <p>high up in the tree<br /> a sable clings on a branch<br /> enjoying the view</p> </blockquote> [Stream] 2026-01-11 (4/5) https://thorstenzoeller.com/stream/#_2026_01_11_4 2026-01-11 2026-01-11 <p>Interesting insights by Samir Talwar: <a href="https://functional.computer/blog/thirty-seven">So I’m that age, apparently</a></p> [Stream] 2026-01-11 (5/5) https://thorstenzoeller.com/stream/#_2026_01_11_5 2026-01-11 2026-01-11 <p><a href="https://www.punchlistmag.com/p/can-a-50-year-old-book-on-paris-help-repair-your-attention-span">Can a 50-year-old book on Paris help repair your attention span?</a> – hat tip to <a href="https://colin.io/">Colin Wright</a> for mentioning the article over on <a href="https://mastodon.social/@colinwright/115861369792805854">Mastodon</a>.</p> [Stream] 2026-01-12 https://thorstenzoeller.com/stream/#_2026_01_12_1 2026-01-12 2026-01-12 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Winter Grass”)</a>:</p> <blockquote> <p>frozen winter grass<br /> scattered on snow-covered ground<br /> blend of green and white</p> </blockquote> [Stream] 2026-01-13 https://thorstenzoeller.com/stream/#_2026_01_13_1 2026-01-13 2026-01-13 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Cold”)</a>:</p> <blockquote> <p>cold days, colder nights<br /> winter puts us heat lovers<br /> to the test once more</p> </blockquote> [Stream] 2026-01-14 https://thorstenzoeller.com/stream/#_2026_01_14_1 2026-01-14 2026-01-14 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Thaw”)</a>:</p> <blockquote> <p>thaw has arrived now<br /> as winter’s tight grip loosens<br /> momentarily</p> </blockquote> [Stream] 2026-01-15 https://thorstenzoeller.com/stream/#_2026_01_15_1 2026-01-15 2026-01-15 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Rage”)</a>:</p> <blockquote> <p>maybe there is hope<br /> if we can learn to respond<br /> to rage with kindness</p> </blockquote> [Stream] 2026-01-16 https://thorstenzoeller.com/stream/#_2026_01_16_1 2026-01-16 2026-01-16 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Candle”)</a>:</p> <blockquote> <p>flickering candle<br /> in the dark, shadows dancing<br /> madly on the wall</p> </blockquote> [Stream] 2026-01-17 https://thorstenzoeller.com/stream/#_2026_01_17_1 2026-01-17 2026-01-17 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Turnip”)</a>:</p> <blockquote> <p>purple and white bulb<br /> small stem with green leaves – turnip’s<br /> peculiar look</p> </blockquote> [Stream] 2026-01-18 https://thorstenzoeller.com/stream/#_2026_01_18_1 2026-01-18 2026-01-18 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Chestnuts”)</a>:</p> <blockquote> <p>melting snow reveals<br /> a bunch of rotten chestnuts<br /> remains from last fall</p> </blockquote> [Stream] 2026-01-19 https://thorstenzoeller.com/stream/#_2026_01_19_1 2026-01-19 2026-01-19 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Snow”)</a>:</p> <blockquote> <p>snow, rare guest these days<br /> even now, deep in winter –<br /> the times they have changed</p> </blockquote> [Stream] 2026-01-20 https://thorstenzoeller.com/stream/#_2026_01_20_1 2026-01-20 2026-01-20 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Smoke”)</a>:</p> <blockquote> <p>thick gray plumes of smoke<br /> meander through the bright sky<br /> slowly dissolving</p> </blockquote> [Stream] 2026-01-21 https://thorstenzoeller.com/stream/#_2026_01_21_1 2026-01-21 2026-01-21 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Quiet”)</a>:</p> <blockquote> <p>quiet is the night<br /> around me, the only sound<br /> my slow and calm breath</p> </blockquote> [Stream] 2026-01-22 https://thorstenzoeller.com/stream/#_2026_01_22_1 2026-01-22 2026-01-22 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Sparrow”)</a>:</p> <blockquote> <p>in the bare brown bush<br /> a little sparrow, sitting<br /> calmly in the cold</p> </blockquote> [Stream] 2026-01-23 https://thorstenzoeller.com/stream/#_2026_01_23_1 2026-01-23 2026-01-23 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Mountain”)</a>:</p> <blockquote> <p>mountain of knowledge<br /> completely worthless without<br /> wisdom how to live</p> </blockquote> [Stream] 2026-01-24 https://thorstenzoeller.com/stream/#_2026_01_24_1 2026-01-24 2026-01-24 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Blizzard”)</a>:</p> <blockquote> <p>swirling white vortex<br /> disappearing horizon –<br /> furious blizzard</p> </blockquote> [Stream] 2026-01-25 https://thorstenzoeller.com/stream/#_2026_01_25_1 2026-01-25 2026-01-25 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Lonely”)</a>:</p> <blockquote> <p>this beautiful state<br /> of solitude, of being<br /> alone, not lonely</p> </blockquote> [Stream] 2026-01-26 https://thorstenzoeller.com/stream/#_2026_01_26_1 2026-01-26 2026-01-26 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Charcoal”)</a>:</p> <blockquote> <p>red glowing embers<br /> beneath dark charcoal briquettes<br /> fire’s last remains</p> </blockquote> [Stream] 2026-01-27 https://thorstenzoeller.com/stream/#_2026_01_27_1 2026-01-27 2026-01-27 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Hoarfrost”)</a>:</p> <blockquote> <p>old willow tree in<br /> hoarfrost, like glittering strands<br /> of long silver hair</p> </blockquote> [Stream] 2026-01-28 https://thorstenzoeller.com/stream/#_2026_01_28_1 2026-01-28 2026-01-28 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Bean Soup”)</a>:</p> <blockquote> <p>delicious bean soup<br /> hot and spicy, smelling well<br /> perfect winter meal</p> </blockquote> [Stream] 2026-01-29 https://thorstenzoeller.com/stream/#_2026_01_29_1 2026-01-29 2026-01-29 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Quince”)</a>:</p> <blockquote> <p>quince tree in full bloom<br /> pale pink blossoms all over<br /> a feast for the eyes</p> </blockquote> [Stream] 2026-01-30 https://thorstenzoeller.com/stream/#_2026_01_30_1 2026-01-30 2026-01-30 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Horse”)</a>:</p> <blockquote> <p>wild horse’s gallop –<br /> impressive blend of beauty<br /> and raw energy</p> </blockquote> [Stream] 2026-01-31 https://thorstenzoeller.com/stream/#_2026_01_31_1 2026-01-31 2026-01-31 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Glimmer”)</a>:</p> <blockquote> <p>in the darkest sky<br /> glimmer of a shooting star<br /> flashing up, then gone</p> </blockquote> [Stream] 2026-02-01 https://thorstenzoeller.com/stream/#_2026_02_01_1 2026-02-01 2026-02-01 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Twittering”)</a>:</p> <blockquote> <p>serene silence in<br /> the woods, broken only by<br /> the bird’s twittering</p> </blockquote> [Stream] 2026-02-02 https://thorstenzoeller.com/stream/#_2026_02_02_1 2026-02-02 2026-02-02 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Rain”)</a>:</p> <blockquote> <p>this beautiful smell<br /> when the rain begins to fall<br /> so fresh and earthy</p> </blockquote> [Stream] 2026-02-03 https://thorstenzoeller.com/stream/#_2026_02_03_1 2026-02-03 2026-02-03 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Grove”)</a>:</p> <blockquote> <p>grove of cedar trees<br /> permeated by a grid<br /> of golden sunbeams</p> </blockquote> [Stream] 2026-02-04 https://thorstenzoeller.com/stream/#_2026_02_04_1 2026-02-04 2026-02-04 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Barley”)</a>:</p> <blockquote> <p>golden barley field<br /> rocking gently in the wind<br /> lovely melody</p> </blockquote> [Stream] 2026-02-05 https://thorstenzoeller.com/stream/#_2026_02_05_1 2026-02-05 2026-02-05 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Warmth”)</a>:</p> <blockquote> <p>what a beautiful<br /> place this world would be were it<br /> filled with human warmth</p> </blockquote> [Stream] 2026-02-06 https://thorstenzoeller.com/stream/#_2026_02_06_1 2026-02-06 2026-02-06 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Mend”)</a>:</p> <blockquote> <p>let us start to live<br /> in harmony with nature<br /> so earth’s wounds can mend</p> </blockquote> [Stream] 2026-02-07 https://thorstenzoeller.com/stream/#_2026_02_07_1 2026-02-07 2026-02-07 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “North Wind”)</a>:</p> <blockquote> <p>this chilly north wind<br /> clear sign that spring time is still<br /> quite a long way off</p> </blockquote> [Stream] 2026-02-08 https://thorstenzoeller.com/stream/#_2026_02_08_1 2026-02-08 2026-02-08 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Flurry”)</a>:</p> <blockquote> <p>my mind is in a<br /> flurry, i cannot calm it –<br /> breathe, just breathe slowly</p> </blockquote> [Stream] 2026-02-09 https://thorstenzoeller.com/stream/#_2026_02_09_1 2026-02-09 2026-02-09 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Spring Lantern”)</a>:</p> <blockquote> <p>spring lantern shaking<br /> wildly in the wind – sign of<br /> a stormy new year?</p> </blockquote> [Stream] 2026-02-10 https://thorstenzoeller.com/stream/#_2026_02_10_1 2026-02-10 2026-02-10 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Violet”)</a>:</p> <blockquote> <p>sky in violet<br /> and orange, like strokes painted<br /> by a giant brush</p> </blockquote> [Stream] 2026-02-11 https://thorstenzoeller.com/stream/#_2026_02_11_1 2026-02-11 2026-02-11 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Cloud”)</a>:</p> <blockquote> <p>huge cloud moving by<br /> slowly in the azure sky<br /> unattached and free</p> </blockquote> [Stream] 2026-02-12 https://thorstenzoeller.com/stream/#_2026_02_12_1 2026-02-12 2026-02-12 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Evergreen”)</a>:</p> <blockquote> <p>lone cypress high up<br /> in the mountains, evergreen<br /> amid endless gray</p> </blockquote> [Stream] 2026-02-13 https://thorstenzoeller.com/stream/#_2026_02_13_1 2026-02-13 2026-02-13 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Wind”)</a>:</p> <blockquote> <p>gentle wind blows mild<br /> air into my face – almost<br /> feels like spring is near</p> </blockquote> [Stream] 2026-02-14 https://thorstenzoeller.com/stream/#_2026_02_14_1 2026-02-14 2026-02-14 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Pilgrimage”)</a>:</p> <blockquote> <p>what will we find on<br /> our quiet pilgrimage<br /> back to ourselves?</p> </blockquote> [Stream] 2026-02-15 https://thorstenzoeller.com/stream/#_2026_02_15_1 2026-02-15 2026-02-15 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Note”)</a>:</p> <blockquote> <p>in the yellowed book<br /> now incomprehensible<br /> a note from my youth</p> </blockquote> [Stream] 2026-02-16 https://thorstenzoeller.com/stream/#_2026_02_16_1 2026-02-16 2026-02-16 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “High”)</a>:</p> <blockquote> <p>high up in the sky<br /> a swallow flies by; black blob<br /> on deep blue canvas</p> </blockquote> [Stream] 2026-02-17 https://thorstenzoeller.com/stream/#_2026_02_17_1 2026-02-17 2026-02-17 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Egg”)</a>:</p> <blockquote> <p>egg-shaped and orange<br /> wonderfully refreshing<br /> delicious kumquats</p> </blockquote> [Stream] 2026-02-18 https://thorstenzoeller.com/stream/#_2026_02_18_1 2026-02-18 2026-02-18 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Friend”)</a>:</p> <blockquote> <p>so calm and serene<br /> alone with me and my thoughts<br /> the night is my friend</p> </blockquote> [Stream] 2026-02-19 (1/2) https://thorstenzoeller.com/stream/#_2026_02_19_1 2026-02-19 2026-02-19 <p>Finished reading <em>72 Minuten bis zur Vernichtung</em> (<a href="https://www.anniejacobsen.com/nuclear-war">Nuclear War – A Scenario</a>) by Annie Jacobsen. Highly frightening and alarming reading – in particular if one believes that the threat of nuclear war has decreased since the end of the cold war. Shockingly clear exposition of the horror of nuclear war and its consequences.</p> [Stream] 2026-02-19 (2/2) https://thorstenzoeller.com/stream/#_2026_02_19_2 2026-02-19 2026-02-19 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Fresh Water”)</a>:</p> <blockquote> <p>crystal clear creek, like<br /> a silver thread, carrying<br /> pure and fresh water</p> </blockquote> [Stream] 2026-02-20 (1/2) https://thorstenzoeller.com/stream/#_2026_02_20_1 2026-02-20 2026-02-20 <p>Started reading <a href="https://nesslabs.com/book">Tiny Experiments</a> by Anne-Laure Le Cunff.</p> [Stream] 2026-02-20 (2/2) https://thorstenzoeller.com/stream/#_2026_02_20_2 2026-02-20 2026-02-20 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Day”)</a>:</p> <blockquote> <p>this magical time<br /> when a new day starts, full of<br /> opportunities</p> </blockquote> [Stream] 2026-02-21 https://thorstenzoeller.com/stream/#_2026_02_21_1 2026-02-21 2026-02-21 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Late”)</a>:</p> <blockquote> <p>late february<br /> winter may be over soon<br /> maybe not – who knows?</p> </blockquote> [Stream] 2026-02-22 https://thorstenzoeller.com/stream/#_2026_02_22_1 2026-02-22 2026-02-22 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Seed”)</a>:</p> <blockquote> <p>the final end or<br /> seed of a new beginning<br /> not always so clear</p> </blockquote> [Stream] 2026-02-23 https://thorstenzoeller.com/stream/#_2026_02_23_1 2026-02-23 2026-02-23 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Robin”)</a>:</p> <blockquote> <p>a splash of color<br /> between the bare brown branches<br /> cute little robin</p> </blockquote> [Stream] 2026-02-24 https://thorstenzoeller.com/stream/#_2026_02_24_1 2026-02-24 2026-02-24 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Blackbird”)</a>:</p> <blockquote> <p>over snow covered<br /> treetops a blackbird enjoys<br /> its perfect freedom</p> </blockquote> [Stream] 2026-02-25 https://thorstenzoeller.com/stream/#_2026_02_25_1 2026-02-25 2026-02-25 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Yellow”)</a>:</p> <blockquote> <p>pages turned yellow,<br /> faded letters – old records<br /> from a distant past</p> </blockquote> [Stream] 2026-02-26 https://thorstenzoeller.com/stream/#_2026_02_26_1 2026-02-26 2026-02-26 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Frog”)</a>:</p> <blockquote> <p>two red balls protrude<br /> from the green – only its eyes<br /> reveal the shy frog</p> </blockquote> [Stream] 2026-02-27 https://thorstenzoeller.com/stream/#_2026_02_27_1 2026-02-27 2026-02-27 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Buds”)</a>:</p> <blockquote> <p>how pleasurable<br /> to see the first buds after<br /> the long wintertime</p> </blockquote> [Stream] 2026-02-28 (1/2) https://thorstenzoeller.com/stream/#_2026_02_28_1 2026-02-28 2026-02-28 <p>What a great joy it is to walk – the pure joy of movement itself, of feeling ones body, of using it the way it is meant to be used.</p> [Stream] 2026-02-28 (2/2) https://thorstenzoeller.com/stream/#_2026_02_28_2 2026-02-28 2026-02-28 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Tranquil”)</a>:</p> <blockquote> <p>so tranquil a night<br /> casting the world in darkness<br /> peaceful and solemn</p> </blockquote> [Stream] 2026-03-01 (1/2) https://thorstenzoeller.com/stream/#_2026_03_01_1 2026-03-01 2026-03-01 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Fresh”)</a>:</p> <blockquote> <p>a fresh month begins<br /> winter will make way for spring<br /> time passes quickly</p> </blockquote> [Stream] 2026-03-01 (2/2) https://thorstenzoeller.com/stream/#_2026_03_01_2 2026-03-01 2026-03-01 <p>It is not that other tasks prevent us from doing our practice – the other tasks <em>are</em> our practice.</p> [Stream] 2026-03-02 https://thorstenzoeller.com/stream/#_2026_03_02_1 2026-03-02 2026-03-02 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Wild Rose”)</a>:</p> <blockquote> <p>near the riverbank<br /> surrounded by rampant shrubs<br /> a single wild rose</p> </blockquote> [Stream] 2026-03-03 https://thorstenzoeller.com/stream/#_2026_03_03_1 2026-03-03 2026-03-03 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Evening”)</a>:</p> <blockquote> <p>frigid evening<br /> after a warm sunny day<br /> deceptive pre-spring</p> </blockquote> [Stream] 2026-03-04 (1/3) https://thorstenzoeller.com/stream/#_2026_03_04_1 2026-03-04 2026-03-04 <p>Two options (non-exhaustive) what to do when waiting for something or someone:</p> <ol> <li>Mindlessly checking your phone.</li> <li>Focusing on long and deep inhalations and exhalations and enjoying your breath.</li> </ol> <p>Choose wisely.</p> [Stream] 2026-03-04 (2/3) https://thorstenzoeller.com/stream/#_2026_03_04_2 2026-03-04 2026-03-04 <p>How beautiful to have spring ahead (except for the hayfever; that is not so nice…)!</p> [Stream] 2026-03-04 (3/3) https://thorstenzoeller.com/stream/#_2026_03_04_3 2026-03-04 2026-03-04 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “New Moon”)</a>:</p> <blockquote> <p>heaven and earth<br /> and all is fused in deep darkness<br /> pitch black new moon night</p> </blockquote> [Stream] 2026-03-05 https://thorstenzoeller.com/stream/#_2026_03_05_1 2026-03-05 2026-03-05 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Catkin”)</a>:</p> <blockquote> <p>like a kitten’s tail<br /> peeking out behind the rock<br /> yellow birch catkin</p> </blockquote> [Stream] 2026-03-06 https://thorstenzoeller.com/stream/#_2026_03_06_1 2026-03-06 2026-03-06 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Geese”)</a>:</p> <blockquote> <p>a flock of gray geese<br /> flying in the azure sky<br /> like beads on a string</p> </blockquote> [Stream] 2026-03-07 https://thorstenzoeller.com/stream/#_2026_03_07_1 2026-03-07 2026-03-07 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Nirvana”)</a>:</p> <blockquote> <p>nirvana, that realm<br /> of emptiness – let us live<br /> in this world for now</p> </blockquote> [Stream] 2026-03-08 (1/3) https://thorstenzoeller.com/stream/#_2026_03_08_1 2026-03-08 2026-03-08 <p>I get that “personal growth” is a big thing these days. In fact, many of the non-fiction books I read more or less fall into the category of “personal growth”.</p> <p>Yet, I increasingly get the impression that much of the personal growth advice is very self-centered – which is somewhat obvious in a sense (it is called <em>personal</em> growth after all). What I mean by that is that personal growth often seems to focus on improving oneself in a way that the benefit is also mostly for oneself.</p> <p>It is good to grow, for instance, by paring down ones possessions and noticing that one does not need all the material stuff one has accumulated, or by learning a new language and immersing oneself in a new culture. But it can also easily become a trap if it is only centered around onself.</p> <p>Here is a very simple (but not easy) alternative I am trying to focus on: to not be a jerk. What is all the personal growth worth if one does not manage to not be a jerk, at least most of the time? What would the world be like if we all put a little more effort into not being jerks (no offense intended)?</p> [Stream] 2026-03-08 (2/3) https://thorstenzoeller.com/stream/#_2026_03_08_2 2026-03-08 2026-03-08 <blockquote> <p>Addition expanded my house.<br /> Subtraction expanded my life.</p> <p>When you have everything, you still want more.<br /> When you want less, you finally have enough.</p> <p>— Josha Fields Millburn; <a href="https://www.theminimalists.com/howmore/">How More Made Me Broke</a></p> </blockquote> [Stream] 2026-03-08 (3/3) https://thorstenzoeller.com/stream/#_2026_03_08_3 2026-03-08 2026-03-08 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Fiddlehead”)</a>:</p> <blockquote> <p>patch of fiddlehead<br /> ferns, their bright green curled up fronds<br /> seeking attention</p> </blockquote> [Stream] 2026-03-09 https://thorstenzoeller.com/stream/#_2026_03_09_1 2026-03-09 2026-03-09 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Moon”)</a>:</p> <blockquote> <p>pale mountains tower<br /> underneath a crescent moon<br /> in perfect silence</p> </blockquote> [Stream] 2026-03-10 https://thorstenzoeller.com/stream/#_2026_03_10_1 2026-03-10 2026-03-10 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Frog”)</a>:</p> <blockquote> <p>frog on a lotus<br /> sitting motionless like in<br /> deep meditation</p> </blockquote> [Stream] 2026-03-11 https://thorstenzoeller.com/stream/#_2026_03_11_1 2026-03-11 2026-03-11 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Plow”)</a>:</p> <blockquote> <p>rusty plow, not used<br /> in ages; now meeting point<br /> for doves and sparrows</p> </blockquote> [Stream] 2026-03-12 https://thorstenzoeller.com/stream/#_2026_03_12_1 2026-03-12 2026-03-12 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Spring Sky”)</a>:</p> <blockquote> <p>anticipation<br /> grows as i look into the<br /> bright yellow spring sky</p> </blockquote> [Stream] 2026-03-13 (1/2) https://thorstenzoeller.com/stream/#_2026_03_13_1 2026-03-13 2026-03-13 <p>There are three kinds of people: Those who see God in nothing; those who see God in everything; and those who see God in some things only.</p> <p>The last kind I understand the least.</p> [Stream] 2026-03-13 (2/2) https://thorstenzoeller.com/stream/#_2026_03_13_2 2026-03-13 2026-03-13 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Low Tide”)</a>:</p> <blockquote> <p>low tide brings to light<br /> what high tide will swallow soon<br /> moon’s eternal play</p> </blockquote> [Stream] 2026-03-14 (1/2) https://thorstenzoeller.com/stream/#_2026_03_14_1 2026-03-14 2026-03-14 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Hare”)</a>:</p> <blockquote> <p>ears with ugly cracks,<br /> ruffled brown fur – witnesses<br /> to the hare’s hard life</p> </blockquote> [Stream] 2026-03-14 (2/2) https://thorstenzoeller.com/stream/#_2026_03_14_2 2026-03-14 2026-03-14 <p>New post: <a href="/quake-discoveries/">Quake Discoveries</a></p> [Stream] 2026-03-15 https://thorstenzoeller.com/stream/#_2026_03_15_1 2026-03-15 2026-03-15 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Bloom”)</a>:</p> <blockquote> <p>violas in bloom<br /> a taste of the colorful<br /> splendor spring bestows</p> </blockquote> [Stream] 2026-03-16 https://thorstenzoeller.com/stream/#_2026_03_16_1 2026-03-16 2026-03-16 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Tadpole”)</a>:</p> <blockquote> <p>wriggling in the pond<br /> dark shadow above the ground<br /> a tiny tadpole</p> </blockquote> [Stream] 2026-03-17 https://thorstenzoeller.com/stream/#_2026_03_17_1 2026-03-17 2026-03-17 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Late Snow”)</a>:</p> <blockquote> <p>late snow end of march<br /> when winter was thought over<br /> unpleasant surprise</p> </blockquote> [Stream] 2026-03-18 https://thorstenzoeller.com/stream/#_2026_03_18_1 2026-03-18 2026-03-18 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Horse Tail”)</a>:</p> <blockquote> <p>growing in the yard<br /> a strange kind of fern looking<br /> like a green horse tail</p> </blockquote> [Stream] 2026-03-19 https://thorstenzoeller.com/stream/#_2026_03_19_1 2026-03-19 2026-03-19 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Melting”)</a>:</p> <blockquote> <p>merging into one<br /> like ice melting in water<br /> complete union</p> </blockquote> [Stream] 2026-03-20 https://thorstenzoeller.com/stream/#_2026_03_20_1 2026-03-20 2026-03-20 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Equinox”)</a>:</p> <blockquote> <p>vernal equinox<br /> next milestone on earth’s endless<br /> orbit around sun</p> </blockquote> [Stream] 2026-03-21 https://thorstenzoeller.com/stream/#_2026_03_21_1 2026-03-21 2026-03-21 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Spring Grass”)</a>:</p> <blockquote> <p>spring grass, splashes of<br /> fresh green, bringer of joy and<br /> hay fever alike</p> </blockquote> [Stream] 2026-03-22 https://thorstenzoeller.com/stream/#_2026_03_22_1 2026-03-22 2026-03-22 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Long Day”)</a>:</p> <blockquote> <p>pure and simple joy:<br /> letting body and mind rest<br /> after a long day</p> </blockquote> [Stream] 2026-03-23 https://thorstenzoeller.com/stream/#_2026_03_23_1 2026-03-23 2026-03-23 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Warbler”)</a>:</p> <blockquote> <p>greenish white warbler<br /> chirping its plain melody<br /> sitting on a branch</p> </blockquote> [Stream] 2026-03-24 https://thorstenzoeller.com/stream/#_2026_03_24_1 2026-03-24 2026-03-24 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Shell”)</a>:</p> <blockquote> <p>shaking in the wind<br /> caught on a broken sea shell<br /> a torn plastic bag</p> </blockquote> [Stream] 2026-03-25 https://thorstenzoeller.com/stream/#_2026_03_25_1 2026-03-25 2026-03-25 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Stork”)</a>:</p> <blockquote> <p>standing in shallow<br /> waters, balancing on its<br /> skinny leg, a stork</p> </blockquote> [Stream] 2026-03-26 https://thorstenzoeller.com/stream/#_2026_03_26_1 2026-03-26 2026-03-26 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Gusts”)</a>:</p> <blockquote> <p>gusts of wind driving<br /> clouds across the rainy sky<br /> more autumn than spring</p> </blockquote> [Stream] 2026-03-27 https://thorstenzoeller.com/stream/#_2026_03_27_1 2026-03-27 2026-03-27 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Swallow”)</a>:</p> <blockquote> <p>lone swallow circling<br /> over rough waters; tiny<br /> dot in the vast sky</p> </blockquote> [Stream] 2026-03-28 https://thorstenzoeller.com/stream/#_2026_03_28_1 2026-03-28 2026-03-28 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Thunder”)</a>:</p> <blockquote> <p>thunder far sway<br /> suddenly the sun breaks through<br /> the ominous sky</p> </blockquote> [Stream] 2026-03-29 https://thorstenzoeller.com/stream/#_2026_03_29_1 2026-03-29 2026-03-29 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Till”)</a>:</p> <blockquote> <p>dancing in the rain<br /> not waiting till it’s over<br /> living in the now</p> </blockquote> [Stream] 2026-03-30 https://thorstenzoeller.com/stream/#_2026_03_30_1 2026-03-30 2026-03-30 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Crocus”)</a>:</p> <blockquote> <p>blue crocus blooming<br /> at the forest clearing’s edge<br /> unassuming gem</p> </blockquote> [Stream] 2026-03-31 https://thorstenzoeller.com/stream/#_2026_03_31_1 2026-03-31 2026-03-31 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Buds”)</a>:</p> <blockquote> <p>red hibiscus buds<br /> patiently developing<br /> their graceful beauty</p> </blockquote> [Stream] 2026-04-01 https://thorstenzoeller.com/stream/#_2026_04_01_1 2026-04-01 2026-04-01 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Pheasant”)</a>:</p> <blockquote> <p>colorful pheasant<br /> parading the riverbank<br /> red head holding high</p> </blockquote> [Stream] 2026-04-02 (1/2) https://thorstenzoeller.com/stream/#_2026_04_02_1 2026-04-02 2026-04-02 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Waning”)</a>:</p> <blockquote> <p>waning moon shining<br /> weakly, barely shedding light<br /> on silent meadows</p> </blockquote> [Stream] 2026-04-02 (2/2) https://thorstenzoeller.com/stream/#_2026_04_02_2 2026-04-02 2026-04-02 <p>Having a lot of fun reading the third book of Skyler Ramirez’ “Dumb Luck and Dead Heroes” series, “The Worst Pirate Hunters in the Fringe”.</p> <p>This series really has something which makes it highly entertaining and fun to read. It is probably the combination of the setting (space!), a light-footed way of narrating the stories with just the right amount of humor, and – probably most importantly – the characters, which are both original and credible, and especially their development within the series.</p> <p>Hat tip once again to <a href="https://nathanlowell.com/">Nathan Lowell</a> for having drawn my attention to the series in the first place!</p> <p>And yes, I am a very slow reader. And yes, I seem to like reading this series when I am on vacation…</p> [Stream] 2026-04-03 https://thorstenzoeller.com/stream/#_2026_04_03_1 2026-04-03 2026-04-03 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Hoe”)</a>:</p> <blockquote> <p>bringing out the hoe<br /> having waited for so long<br /> time to work the soil</p> </blockquote> [Stream] 2026-04-04 https://thorstenzoeller.com/stream/#_2026_04_04_1 2026-04-04 2026-04-04 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Seedlings”)</a>:</p> <blockquote> <p>new life breaking through<br /> the fertile soil, fragile young<br /> lavender seedlings</p> </blockquote> [Stream] 2026-04-05 https://thorstenzoeller.com/stream/#_2026_04_05_1 2026-04-05 2026-04-05 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Misty”)</a>:</p> <blockquote> <p>mad misty mountains<br /> impenetrable silence<br /> dwelling place of ghosts</p> </blockquote> [Stream] 2026-04-06 https://thorstenzoeller.com/stream/#_2026_04_06_1 2026-04-06 2026-04-06 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Carp”)</a>:</p> <blockquote> <p>swimming in the pond<br /> does the carp notice how the<br /> water is today?</p> </blockquote> [Stream] 2026-04-07 https://thorstenzoeller.com/stream/#_2026_04_07_1 2026-04-07 2026-04-07 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Pond”)</a>:</p> <blockquote> <p>hidden in the woods<br /> surrounded by bamboo groves<br /> so serene a pond</p> </blockquote> [Stream] 2026-04-08 https://thorstenzoeller.com/stream/#_2026_04_08_1 2026-04-08 2026-04-08 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Lamb”)</a>:</p> <blockquote> <p>drinking from the stream<br /> how can the lamb pacify<br /> the wolf approaching?</p> </blockquote> [Stream] 2026-04-09 https://thorstenzoeller.com/stream/#_2026_04_09_1 2026-04-09 2026-04-09 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Sowing”)</a>:</p> <blockquote> <p>digging the crop field<br /> sowing seeds on fertile soil<br /> rich harvest will come</p> </blockquote> [Stream] 2026-04-10 https://thorstenzoeller.com/stream/#_2026_04_10_1 2026-04-10 2026-04-10 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Grass”)</a>:</p> <blockquote> <p>covered by blue grass<br /> rolling hills lie silently<br /> under a bright moon</p> </blockquote> [Stream] 2026-04-11 https://thorstenzoeller.com/stream/#_2026_04_11_1 2026-04-11 2026-04-11 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Blossoms”)</a>:</p> <blockquote> <p>colorful blossoms<br /> springtime’s greetings make forget<br /> winter’s dull grayness</p> </blockquote> [Stream] 2026-04-12 https://thorstenzoeller.com/stream/#_2026_04_12_1 2026-04-12 2026-04-12 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Spring Mist”)</a>:</p> <blockquote> <p>dense spring mist pervades<br /> the narrow valley before<br /> morning sun breaks through</p> </blockquote> [Stream] 2026-04-13 https://thorstenzoeller.com/stream/#_2026_04_13_1 2026-04-13 2026-04-13 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Mustard Flower”)</a>:</p> <blockquote> <p>bright yellow blossom<br /> sanguine color of spring<br /> mustard flower charm</p> </blockquote> [Stream] 2026-04-14 https://thorstenzoeller.com/stream/#_2026_04_14_1 2026-04-14 2026-04-14 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Wisteria”)</a>:</p> <blockquote> <p>pink wisteria<br /> climbing a bright white stone wall<br /> beautiful decor</p> </blockquote> [Stream] 2026-04-15 https://thorstenzoeller.com/stream/#_2026_04_15_1 2026-04-15 2026-04-15 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Plum”)</a>:</p> <blockquote> <p>sitting on the porch<br /> on a warm spring afternoon<br /> delicious plum cake</p> </blockquote> [Stream] 2026-04-16 https://thorstenzoeller.com/stream/#_2026_04_16_1 2026-04-16 2026-04-16 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Clouds”)</a>:</p> <blockquote> <p>dark clouds passing by<br /> casting shadows on the plain<br /> no more warming sun</p> </blockquote> [Stream] 2026-04-17 https://thorstenzoeller.com/stream/#_2026_04_17_1 2026-04-17 2026-04-17 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Mulberry”)</a>:</p> <blockquote> <p>coffee and fresh bread<br /> with homemade mulberry jam<br /> not a bad breakfast</p> </blockquote> [Stream] 2026-04-18 (1/2) https://thorstenzoeller.com/stream/#_2026_04_18_1 2026-04-18 2026-04-18 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Planting”)</a>:</p> <blockquote> <p>planting one new tree<br /> beautiful act of caring<br /> for our future</p> </blockquote> [Stream] 2026-04-18 (2/2) https://thorstenzoeller.com/stream/#_2026_04_18_2 2026-04-18 2026-04-18 <p>Started reading <a href="https://www.playyourwaysane.com/pysw-book">Play Your Way Sane: 120 Improv-Inspired Exercises to Help You Calm Down, Stop Spiraling, and Embrace Uncertainty</a> by Clay Drinko.</p> [Stream] 2026-04-19 https://thorstenzoeller.com/stream/#_2026_04_19_1 2026-04-19 2026-04-19 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Colt”)</a>:</p> <blockquote> <p>standing by the creek<br /> drinking fresh and pure water<br /> a content young colt</p> </blockquote> [Stream] 2026-04-20 https://thorstenzoeller.com/stream/#_2026_04_20_1 2026-04-20 2026-04-20 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Calm”)</a>:</p> <blockquote> <p>calm is the vast sea<br /> gone the raging thunderstorm<br /> a patch of blue sky</p> </blockquote> [Stream] 2026-04-21 https://thorstenzoeller.com/stream/#_2026_04_21_1 2026-04-21 2026-04-21 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Windmill”)</a>:</p> <blockquote> <p>old windmill spinning<br /> slowly in the gentle wind<br /> creaking now and then</p> </blockquote> [Stream] 2026-04-22 https://thorstenzoeller.com/stream/#_2026_04_22_1 2026-04-22 2026-04-22 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Mountain”)</a>:</p> <blockquote> <p>pointed mountain peak<br /> piercing the thick cloud cover<br /> giant stone needle</p> </blockquote> [Stream] 2026-04-23 https://thorstenzoeller.com/stream/#_2026_04_23_1 2026-04-23 2026-04-23 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Calf”)</a>:</p> <blockquote> <p>newborn red deer calf<br /> walking first uncertain steps<br /> staggering around</p> </blockquote> [Stream] 2026-04-24 (1/2) https://thorstenzoeller.com/stream/#_2026_04_24_1 2026-04-24 2026-04-24 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Lupine”)</a>:</p> <blockquote> <p>wild lupine bursting<br /> into bloom in violet<br /> and blue, so charming</p> </blockquote> [Stream] 2026-04-24 (2/2) https://thorstenzoeller.com/stream/#_2026_04_24_2 2026-04-24 2026-04-24 <p>Started reading “Saga: Compendium One” by Brian K. Vaughan and Fiona Staples.</p> [Stream] 2026-04-25 https://thorstenzoeller.com/stream/#_2026_04_25_1 2026-04-25 2026-04-25 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Evening”)</a>:</p> <blockquote> <p>mild spring evening<br /> golden sun casting all things<br /> in bright warm colors</p> </blockquote> [Stream] 2026-04-26 https://thorstenzoeller.com/stream/#_2026_04_26_1 2026-04-26 2026-04-26 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “New Leaves”)</a>:</p> <blockquote> <p>new leaves sprouting on<br /> trees and shrubs, turning bare brown<br /> into bright lush green</p> </blockquote> [Stream] 2026-04-27 https://thorstenzoeller.com/stream/#_2026_04_27_1 2026-04-27 2026-04-27 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Down”)</a>:</p> <blockquote> <p>time for the down coat<br /> to vanish in the closet<br /> bye bye wintertime</p> </blockquote> [Stream] 2026-04-28 https://thorstenzoeller.com/stream/#_2026_04_28_1 2026-04-28 2026-04-28 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Hazy Moon”)</a>:</p> <blockquote> <p>barely visible<br /> in the hazy moon’s dim light<br /> a town’s silhouette</p> </blockquote> [Stream] 2026-04-29 https://thorstenzoeller.com/stream/#_2026_04_29_1 2026-04-29 2026-04-29 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Spring Rain”)</a>:</p> <blockquote> <p>spring rain pouring down<br /> behind distant dark hilltops<br /> a rainbow appears</p> </blockquote> [Stream] 2026-04-30 (1/2) https://thorstenzoeller.com/stream/#_2026_04_30_1 2026-04-30 2026-04-30 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Lingering”)</a>:</p> <blockquote> <p>these lingering thoughts<br /> about what was and will be<br /> why not just live now?</p> </blockquote> [Stream] 2026-04-30 (2/2) https://thorstenzoeller.com/stream/#_2026_04_30_2 2026-04-30 2026-04-30 <p>New article: <a href="/vim-and-pkm/">Vim and PKM</a></p> [Stream] 2026-05-01 https://thorstenzoeller.com/stream/#_2026_05_01_1 2026-05-01 2026-05-01 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Moth”)</a>:</p> <blockquote> <p>in the dark a moth<br /> flattering frantically<br /> around the lantern</p> </blockquote> [Stream] 2026-05-02 https://thorstenzoeller.com/stream/#_2026_05_02_1 2026-05-02 2026-05-02 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Bright”)</a>:</p> <blockquote> <p>bright is the spring sun<br /> shining in the afternoon<br /> its warmth so soothing</p> </blockquote> [Stream] 2026-05-03 https://thorstenzoeller.com/stream/#_2026_05_03_1 2026-05-03 2026-05-03 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Summer Moon”)</a>:</p> <blockquote> <p>yellow summer moon<br /> rising in the dark blue sky<br /> behind ragged clouds</p> </blockquote> [Stream] 2026-05-04 https://thorstenzoeller.com/stream/#_2026_05_04_1 2026-05-04 2026-05-04 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Wave”)</a>:</p> <blockquote> <p>the wave’s last moment<br /> gently kissing the seashore<br /> before vanishing</p> </blockquote> [Stream] 2026-05-05 https://thorstenzoeller.com/stream/#_2026_05_05_1 2026-05-05 2026-05-05 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Breeze”)</a>:</p> <blockquote> <p>a breeze so gentle<br /> almost imperceptible<br /> feeble breath of spring</p> </blockquote> [Stream] 2026-05-06 https://thorstenzoeller.com/stream/#_2026_05_06_1 2026-05-06 2026-05-06 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “New Clothes”)</a>:</p> <blockquote> <p>nature awakens<br /> proudly wearing its new clothes<br /> lush green everywhere</p> </blockquote> [Stream] 2026-05-07 https://thorstenzoeller.com/stream/#_2026_05_07_1 2026-05-07 2026-05-07 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Spray”)</a>:</p> <blockquote> <p>white spray rising up<br /> from viciously breaking waves<br /> the sea is roaring</p> </blockquote> [Stream] 2026-05-08 https://thorstenzoeller.com/stream/#_2026_05_08_1 2026-05-08 2026-05-08 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Chick”)</a>:</p> <blockquote> <p>fluffy whitish ball<br /> this young chick toddling around<br /> exploring its world</p> </blockquote> [Stream] 2026-05-09 https://thorstenzoeller.com/stream/#_2026_05_09_1 2026-05-09 2026-05-09 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Grief”)</a>:</p> <blockquote> <p>grief leading to rage<br /> rage leading to tragedy<br /> a chain so fatal</p> </blockquote> <p>(Inspired by Anne Carson, <em>Grief Lessons: Four Plays by Euripides</em>.)</p> [Stream] 2026-05-10 https://thorstenzoeller.com/stream/#_2026_05_10_1 2026-05-10 2026-05-10 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Balmy”)</a>:</p> <blockquote> <p>cicadas chirping<br /> smell of spring filling the air<br /> in this balmy night</p> </blockquote> [Stream] 2026-05-11 https://thorstenzoeller.com/stream/#_2026_05_11_1 2026-05-11 2026-05-11 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Porch”)</a>:</p> <blockquote> <p>sitting on the porch<br /> enjoying a pleasant day<br /> under warm spring sun</p> </blockquote> [Stream] 2026-05-12 https://thorstenzoeller.com/stream/#_2026_05_12_1 2026-05-12 2026-05-12 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “South Wind”)</a>:</p> <blockquote> <p>lovely scent of spring<br /> carried by gentle south wind<br /> over wooded hills</p> </blockquote> [Stream] 2026-05-13 https://thorstenzoeller.com/stream/#_2026_05_13_1 2026-05-13 2026-05-13 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Roots”)</a>:</p> <blockquote> <p>cobblestones lifted<br /> by the old tree’s mighty roots<br /> the power of age</p> </blockquote> [Stream] 2026-05-14 https://thorstenzoeller.com/stream/#_2026_05_14_1 2026-05-14 2026-05-14 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Nest”)</a>:</p> <blockquote> <p>high up in the tree<br /> two sparrows building a nest<br /> tall and airy home</p> </blockquote> [Stream] 2026-05-15 https://thorstenzoeller.com/stream/#_2026_05_15_1 2026-05-15 2026-05-15 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Thunder”)</a>:</p> <blockquote> <p>thunder echoing<br /> off rock faces, its rumbling<br /> strangely distorted</p> </blockquote> [Stream] 2026-05-16 (1/2) https://thorstenzoeller.com/stream/#_2026_05_16_1 2026-05-16 2026-05-16 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Tickle”)</a>:</p> <blockquote> <p>swaying with the wind<br /> gentle grass blades’ soft tickle<br /> delights the senses</p> </blockquote> [Stream] 2026-05-16 (2/2) https://thorstenzoeller.com/stream/#_2026_05_16_2 2026-05-16 2026-05-16 <p>When I was a child, there was hardly a day I didn’t run. Running was a completely natural method of locomotion – maybe the <em>most</em> natural method. I barely walked; most of the time, I ran. And when I walked, I almost had to force myself to do so, to overcome my urge to move (and to move <em>fast</em>) and to release energy.</p> <p>Nowadays, there is hardly a day I <em>do</em> run. Running has lost all of its naturalness; when I do run these days, it feels unusual, and certainly not normal and natural. And when I run, I often have to force myself to do so, to overcome my inertia.</p> <p>I think the message here is pretty obvious.</p> [Stream] 2026-05-17 https://thorstenzoeller.com/stream/#_2026_05_17_1 2026-05-17 2026-05-17 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “New Tea”)</a>:</p> <blockquote> <p>the last infusion<br /> was a tad bland already<br /> high time for new tea</p> </blockquote> [Stream] 2026-05-18 https://thorstenzoeller.com/stream/#_2026_05_18_1 2026-05-18 2026-05-18 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Rainbox”)</a>:</p> <blockquote> <p>thinking about it<br /> the beauty of a rainbow<br /> is truly gorgeous</p> </blockquote> [Stream] 2026-05-19 https://thorstenzoeller.com/stream/#_2026_05_19_1 2026-05-19 2026-05-19 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Ambrosial”)</a>:</p> <blockquote> <p>opulent gardens<br /> filled with captivating scents<br /> ambrosial joy</p> </blockquote> [Stream] 2026-05-20 https://thorstenzoeller.com/stream/#_2026_05_20_1 2026-05-20 2026-05-20 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Cocoon”)</a>:</p> <blockquote> <p>future butterfly<br /> caught in a whitish cocoon<br /> hanging from a branch</p> </blockquote> [Stream] 2026-05-21 https://thorstenzoeller.com/stream/#_2026_05_21_1 2026-05-21 2026-05-21 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Airing Out”)</a>:</p> <blockquote> <p>airing out the room<br /> releasing the old and stale –<br /> let the freshness in!</p> </blockquote> [Stream] 2026-05-22 https://thorstenzoeller.com/stream/#_2026_05_22_1 2026-05-22 2026-05-22 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Chimes”)</a>:</p> <blockquote> <p>soft breeze caressing<br /> the wind chimes, eliciting<br /> their sweet melody</p> </blockquote> [Stream] 2026-05-23 (1/3) https://thorstenzoeller.com/stream/#_2026_05_23_1 2026-05-23 2026-05-23 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Green Reeds”)</a>:</p> <blockquote> <p>hemming the lake’s shore<br /> hiding its deep-blue water<br /> dense green reeds abound</p> </blockquote> [Stream] 2026-05-23 (2/3) https://thorstenzoeller.com/stream/#_2026_05_23_2 2026-05-23 2026-05-23 <p>If you are seriously thinking about learning <a href="https://www.vim.org/">Vim</a>/<a href="https://neovim.io/">Neovim</a>, do yourself a favor and proceed as follows:</p> <ol> <li>Grok ed(1).</li> <li>Grok vi(1).</li> <li>Ask yourself whether you really need anything ed(1) and vi(1) don’t provide.</li> </ol> <p>If your answer to step 3 is “yes”, go ahead. But first, do steps 1 and 2.</p> <p>Here is how to do step 1: Read the <a href="https://man.openbsd.org/ed">man page</a> (it’s rather short), read <a href="https://mwl.io/static/books/ed-mastery.html">Ed Mastery</a> by <a href="https://mwl.io/">Michael W Lucas</a> (those two steps are interchangeable and even parallelizable), then use it consistently.</p> <p>Here is how to do step 2: Read the <a href="https://man.openbsd.org/vi">man page</a> (it’s rather short as well, though not as short as ed’s), then use it consistently.</p> <p>Also, have a look at <a href="https://stackoverflow.com/a/1220118">https://stackoverflow.com/a/1220118</a>.</p> [Stream] 2026-05-23 (3/3) https://thorstenzoeller.com/stream/#_2026_05_23_3 2026-05-23 2026-05-23 <p>Fried dandelion greens with a splash of soy sauce – so delicious…</p> [Stream] 2026-05-24 https://thorstenzoeller.com/stream/#_2026_05_24_1 2026-05-24 2026-05-24 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Melody”)</a>:</p> <blockquote> <p>spring rain pattering<br /> against the tall roof window<br /> lovely melody</p> </blockquote> [Stream] 2026-05-25 (1/2) https://thorstenzoeller.com/stream/#_2026_05_25_1 2026-05-25 2026-05-25 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Snapshot”)</a>:</p> <blockquote> <p>why not enjoying<br /> the here and now instead of<br /> taking a snapshot?</p> </blockquote> [Stream] 2026-05-25 (2/2) https://thorstenzoeller.com/stream/#_2026_05_25_2 2026-05-25 2026-05-25 <p>The <a href="https://en.wikipedia.org/wiki/Checker_shadow_illusion">checker shadow illusion</a> is really striking. Not sure if I ever saw it before, but it is really remarkable for sure (recently stumbled on it when it was a “Did you know…” article on German Wikipedia).</p> [Stream] 2026-05-26 https://thorstenzoeller.com/stream/#_2026_05_26_1 2026-05-26 2026-05-26 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Peony”)</a>:</p> <blockquote> <p>wilting peony<br /> last pink speckles recalling<br /> a beauty now gone</p> </blockquote> [Stream] 2026-05-28 https://thorstenzoeller.com/stream/#_2026_05_28_1 2026-05-28 2026-05-28 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Cicada”)</a>:</p> <blockquote> <p>trillions of insects<br /> emerging all at once now –<br /> cicada-geddon</p> </blockquote> [Stream] 2026-05-29 https://thorstenzoeller.com/stream/#_2026_05_29_1 2026-05-29 2026-05-29 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Pool”)</a>:</p> <blockquote> <p>plunging from great heights<br /> into a deep turquoise pool<br /> misty waterfall</p> </blockquote> [Stream] 2026-05-30 https://thorstenzoeller.com/stream/#_2026_05_30_1 2026-05-30 2026-05-30 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Curl”)</a>:</p> <blockquote> <p>divergence, curl and<br /> gradient – sounds like some nice<br /> vector calculus</p> </blockquote> [Stream] 2026-05-31 https://thorstenzoeller.com/stream/#_2026_05_31_1 2026-05-31 2026-05-31 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Green Tea”)</a>:</p> <blockquote> <p>cup of fresh green tea<br /> my whole universe for some<br /> precious calm moments</p> </blockquote> [Stream] 2026-06-01 https://thorstenzoeller.com/stream/#_2026_06_01_1 2026-06-01 2026-06-01 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Swelter”)</a>:</p> <blockquote> <p>swelter in late may<br /> a heat so unusual<br /> far from midsummer</p> </blockquote> [Stream] 2026-06-02 https://thorstenzoeller.com/stream/#_2026_06_02_1 2026-06-02 2026-06-02 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Swallow”)</a>:</p> <blockquote> <p>on top of the cliff<br /> hanging over rough waters<br /> a small swallow rests</p> </blockquote> [Stream] 2026-06-03 https://thorstenzoeller.com/stream/#_2026_06_03_1 2026-06-03 2026-06-03 <p><a href="https://mastodon.world/@dailyhaikuprompt">Daily haiku (prompt “Waterfall”)</a>:</p> <blockquote> <p>silver waterfall<br /> cascading down the rock face<br /> splendid spectacle</p> </blockquote>