~hedy's blogroll - BlogFlock The blogroll listed on my website. https://home.hedy.dev/blogroll/ 2025-03-07T02:33:18.119Z BlogFlock James' Coffee Blog, Sloum, Seirdy, Protesilaos Stavrou: Master feed with all updates, Ploum.net, Manuel Moreale RSS Feed, Baty.net, erock, ~hedy Using Gnus for email - Baty.net https://baty.net/posts/2025/03/using-gnus-for-email/ 2025-03-06T11:33:16.766Z <p>A week ago, I toyed with the idea of using <a href="https://www.gnu.org/software/emacs/manual/html_node/gnus/index.html#SEC_Contents">Gnus</a> for reading Email in Emacs.</p> <p>As expected, I hated it at first. But then&hellip;</p> <figure><img src="https://baty.net/posts/2025/03/using-gnus-for-email/mastodon.png"> </figure> <p>Gnus is a newsreader that can be coerced into pretending it&rsquo;s a mail reader. There&rsquo;s no getting around this masquerade and it feels awkward. On the other hand, it&rsquo;s a very <em>efficient</em> news reader pretending to be a mail reader.</p> <p>I don&rsquo;t manage a ton of email, so experiments with how I deal with it aren&rsquo;t high risk. Still, <a href="http://localhost:1313/posts/2025/01/an-email-fiasco/">my recent email fiasco</a> made me nervous. It also what got me looking into using Gnus.</p> <p>Most of the time, I read email on my desktop Mac. I&rsquo;ve been using Notmuch for this. The problem is that the Notmuch database is then tied to that computer. I was eventually able to configure muchsync so that I could read everything on my laptop (MBP) as well. It was working, but felt fragile and the process would often fail for various reasons.</p> <p>The other place I manage email is of course on my phone. Notmuch isn&rsquo;t an option there, so I use Apple Mail. As I wrote in <a href="http://localhost:1313/posts/2025/02/i-think-i-have-to-go-back-to-mu4e/">I think I have to go back to Mu4e</a>, Notmuch wasn&rsquo;t fitting my workflow as well as I&rsquo;d have liked. As I was looking at returning to Mu4e, I figured I&rsquo;d play with Gnus.</p> <p>Gnus solves the sync problem because it feeds directly off the IMAP server (Fastmail, in my case). Using Gnus, not only do I not worry about syncing between Macs, I don&rsquo;t even need to sync once to my desktop Mac.</p> <p>Long story short, I&rsquo;ve stuck with Gnus for the past week and I&rsquo;m kind of digging it. Once one gets past the weird terminology (Groups, Articles, Dormant, Ticked, etc.) it&rsquo;s actually very powerful.</p> <p>I cobbled together my configuration from a half-dozen Stack Exchange answers and blog posts, with some tweaks from me. It ain&rsquo;t pretty, but it&rsquo;s working. I&rsquo;m not even sure what some of it is doing, but here&rsquo;s most of it:</p> <div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#99d1db">use-package</span> <span style="color:#f2d5cf">gnus</span> </span></span><span style="display:flex;"><span> <span style="color:#99d1db">:bind</span> </span></span><span style="display:flex;"><span> ((<span style="color:#a6d189">&#34;C-c o g&#34;</span> <span style="color:#99d1db;font-weight:bold">.</span> <span style="color:#f2d5cf">gnus</span>) </span></span><span style="display:flex;"><span> (<span style="color:#99d1db">:map</span> <span style="color:#f2d5cf">gnus-group-mode-map</span> </span></span><span style="display:flex;"><span> <span style="color:#737994;font-style:italic">;; I like seeing all mailboxes, not just those with unread messages</span> </span></span><span style="display:flex;"><span> (<span style="color:#a6d189">&#34;o&#34;</span> <span style="color:#99d1db;font-weight:bold">.</span> <span style="color:#f2d5cf">my/gnus-group-list-subscribed-groups</span>)) </span></span><span style="display:flex;"><span> (<span style="color:#99d1db">:map</span> <span style="color:#f2d5cf">gnus-summary-mode-map</span> </span></span><span style="display:flex;"><span> <span style="color:#737994;font-style:italic">;; Move message to &#34;Archive&#34; folder</span> </span></span><span style="display:flex;"><span> (<span style="color:#a6d189">&#34;C-c a&#34;</span> <span style="color:#99d1db;font-weight:bold">.</span> <span style="color:#f2d5cf">my/gnus-summary-archive</span>))) </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span> <span style="color:#99d1db">:custom</span> </span></span><span style="display:flex;"><span> <span style="color:#737994;font-style:italic">;; Archive outgoing email in Sent Items folder, mark it as read</span> </span></span><span style="display:flex;"><span> <span style="color:#737994;font-style:italic">;; UPDATE: Do I need this? Fastmail saves Sent items automatically</span> </span></span><span style="display:flex;"><span> <span style="color:#737994;font-style:italic">;; (gnus-message-archive-method &#39;(nnimap &#34;personal&#34;))</span> </span></span><span style="display:flex;"><span> <span style="color:#737994;font-style:italic">;; (gnus-message-archive-group &#34;Sent Items&#34;)</span> </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">gnus-message-archive-group</span> (<span style="color:#8caaee">format-time-string</span> <span style="color:#a6d189">&#34;sent.%Y&#34;</span>)) <span style="color:#737994;font-style:italic">;; keep local copy</span> </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">gnus-gcc-mark-as-read</span> <span style="color:#e5c890">t</span>) </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">gnus-search-use-parsed-queries</span> <span style="color:#e5c890">t</span>) <span style="color:#737994;font-style:italic">;; standardize searches</span> </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">gnus-auto-select-next</span> <span style="color:#e5c890">nil</span>) </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">gnus-paging-select-next</span> <span style="color:#e5c890">nil</span>) </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">gnus-summary-stop-at-end-of-message</span> <span style="color:#e5c890">t</span>) </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">gnus-mime-display-multipart-related-as-mixed</span> <span style="color:#e5c890">t</span>) </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">gnus-auto-select-first</span> <span style="color:#e5c890">nil</span>) </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">gnus-summary-display-arrow</span> <span style="color:#e5c890">nil</span>) </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">gnus-thread-sort-functions</span> </span></span><span style="display:flex;"><span> <span style="color:#99d1db;font-weight:bold">&#39;</span>(<span style="color:#f2d5cf">gnus-thread-sort-by-most-recent-date</span> </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">not</span> <span style="color:#f2d5cf">gnus-thread-sort-by-number</span>))) </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">gnus-show-threads</span> <span style="color:#e5c890">t</span>) </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">gnus-sum-thread-tree-false-root</span> <span style="color:#e5c890">nil</span>) <span style="color:#737994;font-style:italic">;; use subject</span> </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">gnus-sum-thread-tree-root</span> <span style="color:#e5c890">nil</span>) </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">gnus-sum-thread-tree-indent</span> <span style="color:#a6d189">&#34; &#34;</span>) </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">gnus-sum-thread-tree-vertical</span> <span style="color:#a6d189">&#34;│&#34;</span>) </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">gnus-sum-thread-tree-leaf-with-other</span> <span style="color:#a6d189">&#34;├─► &#34;</span>) <span style="color:#737994;font-style:italic">;; fancy</span> </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">gnus-sum-thread-tree-single-leaf</span> <span style="color:#a6d189">&#34;╰─► &#34;</span>) </span></span><span style="display:flex;"><span> <span style="color:#737994;font-style:italic">;; |2025-03-06 (Thu)| Sender Name | Subject |</span> </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">gnus-summary-line-format</span> (<span style="color:#8caaee">concat</span> </span></span><span style="display:flex;"><span> <span style="color:#a6d189">&#34;%0{%U%R%z%}&#34;</span> </span></span><span style="display:flex;"><span> <span style="color:#a6d189">&#34;%3{│%}%1{%&amp;user-date;%}%3{│%}&#34;</span> <span style="color:#737994;font-style:italic">;; date</span> </span></span><span style="display:flex;"><span> <span style="color:#a6d189">&#34;%ub:&#34;</span> <span style="color:#737994;font-style:italic">;; indicate (+) if known (bbdb)</span> </span></span><span style="display:flex;"><span> <span style="color:#a6d189">&#34;%4{%-20,20f%}&#34;</span> <span style="color:#737994;font-style:italic">;; name</span> </span></span><span style="display:flex;"><span> <span style="color:#a6d189">&#34; &#34;</span> </span></span><span style="display:flex;"><span> <span style="color:#a6d189">&#34;%3{│%}&#34;</span> </span></span><span style="display:flex;"><span> <span style="color:#a6d189">&#34; &#34;</span> </span></span><span style="display:flex;"><span> <span style="color:#a6d189">&#34;%1{%B%}&#34;</span> </span></span><span style="display:flex;"><span> <span style="color:#a6d189">&#34;%s\n&#34;</span>)) </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">gnus-user-date-format-alist</span> <span style="color:#99d1db;font-weight:bold">&#39;</span>((<span style="color:#e5c890">t</span> <span style="color:#99d1db;font-weight:bold">.</span> <span style="color:#a6d189">&#34;%Y-%m-%d (%a)&#34;</span>) </span></span><span style="display:flex;"><span> <span style="color:#f2d5cf">gnus-thread-sort-functions</span> <span style="color:#99d1db;font-weight:bold">&#39;</span>(<span style="color:#f2d5cf">gnus-thread-sort-by-date</span>))) </span></span><span style="display:flex;"><span> <span style="color:#99d1db">:config</span> </span></span><span style="display:flex;"><span> (<span style="color:#99d1db">setq</span> <span style="color:#f2d5cf">gnus-select-method</span> <span style="color:#99d1db;font-weight:bold">&#39;</span>(<span style="color:#f2d5cf">nnnil</span> <span style="color:#a6d189">&#34;&#34;</span>)) </span></span><span style="display:flex;"><span> (<span style="color:#99d1db">setq</span> <span style="color:#f2d5cf">gnus-secondary-select-methods</span> <span style="color:#99d1db;font-weight:bold">&#39;</span>((<span style="color:#f2d5cf">nnimap</span> <span style="color:#a6d189">&#34;personal&#34;</span> </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">nnimap-address</span> <span style="color:#a6d189">&#34;imap.fastmail.com&#34;</span>) </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">nnimap-server-port</span> <span style="color:#ef9f76">993</span>) </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">nnimap-stream</span> <span style="color:#f2d5cf">ssl</span>) </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">nnmail-expiry-target</span> <span style="color:#a6d189">&#34;nnimap+personal:Trash&#34;</span>))))) </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic">;; Send email via Fastmail&#39;s SMTP:</span> </span></span><span style="display:flex;"><span>(<span style="color:#99d1db">use-package</span> <span style="color:#f2d5cf">smtpmail</span> </span></span><span style="display:flex;"><span> <span style="color:#99d1db">:custom</span> </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">send-mail-function</span> <span style="color:#a6d189">&#39;smtpmail-send-it</span>) </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">smtpmail-default-smtp-server</span> <span style="color:#a6d189">&#34;smtp.fastmail.com&#34;</span>) </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">smtpmail-stream-type</span> <span style="color:#a6d189">&#39;ssl</span>) </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">smtpmail-smtp-service</span> <span style="color:#ef9f76">465</span>)) </span></span></code></pre></div><p>I&rsquo;ve configured <a href="https://elpa.gnu.org/packages/bbdb.html">BBDB</a> (Insidious Big Brother Database) for contact management.</p> <div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#99d1db">use-package</span> <span style="color:#f2d5cf">bbdb</span> <span style="color:#99d1db">:ensure</span> <span style="color:#e5c890">t</span> </span></span><span style="display:flex;"><span> <span style="color:#99d1db">:config</span> </span></span><span style="display:flex;"><span> <span style="color:#737994;font-style:italic">;; initialization for both Gnus and Notmuch</span> </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">bbdb-initialize</span> <span style="color:#a6d189">&#39;gnus</span> <span style="color:#a6d189">&#39;message</span> <span style="color:#a6d189">&#39;notmuch</span>) </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">bbdb-mua-auto-update-init</span> <span style="color:#a6d189">&#39;gnus</span> <span style="color:#a6d189">&#39;message</span> <span style="color:#a6d189">&#39;notmuch</span>) </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span> <span style="color:#737994;font-style:italic">;; When invoking bbdb interactively</span> </span></span><span style="display:flex;"><span> (<span style="color:#99d1db">setq</span> <span style="color:#f2d5cf">bbdb-mua-update-interactive-p</span> <span style="color:#99d1db;font-weight:bold">&#39;</span>(<span style="color:#f2d5cf">query</span> <span style="color:#99d1db;font-weight:bold">.</span> <span style="color:#f2d5cf">create</span>)) </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span> <span style="color:#737994;font-style:italic">;; Check every address in a message and not only the first</span> </span></span><span style="display:flex;"><span> (<span style="color:#99d1db">setq</span> <span style="color:#f2d5cf">bbdb-message-all-addresses</span> <span style="color:#e5c890">t</span>) </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span> <span style="color:#737994;font-style:italic">;; use ; on a message to invoke bbdb</span> </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">add-hook</span> <span style="color:#a6d189">&#39;gnus-summary-mode-hook</span> </span></span><span style="display:flex;"><span> (<span style="color:#99d1db">lambda</span> () </span></span><span style="display:flex;"><span> (<span style="color:#8caaee">define-key</span> <span style="color:#f2d5cf">gnus-summary-mode-map</span> (<span style="color:#f2d5cf">kbd</span> <span style="color:#a6d189">&#34;;&#34;</span>) <span style="color:#a6d189">&#39;bbdb-mua-edit-field</span>))) </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">add-hook</span> <span style="color:#a6d189">&#39;gnus-startup-hook</span> <span style="color:#a6d189">&#39;bbdb-insinuate-gnus</span>) </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">add-hook</span> <span style="color:#a6d189">&#39;gnus-startup-hook</span> <span style="color:#a6d189">&#39;bbdb-insinuate-notmuch</span>) </span></span><span style="display:flex;"><span> (<span style="color:#99d1db">setq</span> <span style="color:#f2d5cf">bbdb-complete-name-allow-cycling</span> <span style="color:#e5c890">t</span>)) </span></span></code></pre></div><p>Using BBDB is neat because when I&rsquo;m viewing a message, a small window pops up at the bottom with that person&rsquo;s info. I like that, in the list of messages (Summary view), a &ldquo;+&rdquo; symbol is displayed before the name of people who are already in BBDB. (This is via <code>%ub</code> in the format string). Plus, Notmuch and Gnus can share the contact database. BBDB was initially developed by <a href="https://www.jwz.org/hacks/">Jamie Zawinski</a>.</p> <blockquote> <p>In 1991, I wrote this program, &ldquo;The Insidious Big Brother Database&rdquo;, which was an address-book and note-taking system that was tightly integrated with the Emacs mail and news readers. It was pretty popular until 1997 or so when even the last hold-outs stopped reading their mail in Emacs.</p></blockquote> <p>Well, not <em>everyone</em> stopped :).</p> <p>I&rsquo;m still very clumsy using Gnus, but it&rsquo;s been a blast to learn and play with. Part of the attraction is that it&rsquo;s built-in to Emacs and needs nothing else to work. It&rsquo;s nice not having to deal with sync or external dependencies. I admit that I also like that it&rsquo;s really really old and feels almost rebellious to use.</p> <p><a href="mailto:jack@baty.net?subject=[baty.net] Re: Using Gnus for email ">Reply to this post by email</a></p> All the options (my poem) - Protesilaos Stavrou: Master feed with all updates https://protesilaos.com/poems/2025-03-06-all-the-options/ 2025-03-06T09:15:43.342Z <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Regret not what could have been for you are finite To disempower yourself keep all options open </code></pre></div></div> Digg is coming back? - Baty.net https://baty.net/posts/2025/03/digg-is-coming-back/ 2025-03-05T19:26:28.481Z <p>Hang on a sec&hellip;</p> <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/-vNS62f-ino?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> <p><a href="https://reboot.digg.com/">digg reboot</a></p> <p>I&rsquo;m here for this!</p> <p><a href="mailto:jack@baty.net?subject=[baty.net] Re: Digg is coming back? ">Reply to this post by email</a></p> A moment with someone flying to the moon - Manuel Moreale RSS Feed https://manuelmoreale.com/@/page/6Whw0G6MxcEGguSr 2025-03-05T19:16:56.377Z <figure class="m-o" data-template="with"><div class="m-m"><img class="img" loading="lazy" src="https://manuelmoreale.com/media/pages/thoughts/a-moment-with-someone-flying-to-the-moon/110d1e8130-1741201979/img_4800.jpeg" style="aspect-ratio:1000 / 1333"></div></figure> <p><em>Fly me to the moon<br /> Let me play among the stars</em></p> <hr> <p>Thank you for keeping RSS alive. You're awesome.</p> <p><a href="mailto:hello@manuelmoreale.com">Email me</a> :: <a href="https://manuelmoreale.com/guestbook">Sign my guestbook</a> :: <a href="https://ko-fi.com/manuelmoreale">Support for 1$/month</a> :: <a href="https://manuelmoreale.com/supporters">See my generous supporters</a> :: <a href="https://buttondown.email/peopleandblogs">Subscribe to People and Blogs</a></p> This is no poem (my poem) - Protesilaos Stavrou: Master feed with all updates https://protesilaos.com/poems/2025-03-04-no-poem/ 2025-03-04T15:28:55.319Z <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>This is no poem with laudatory words It speaks not of your eminence nor does it seek to impress you It is but the click of a camera button that you press when there is no question of succeeding or failing It is in the inconsequential that you recreate yourself withdrawn from the burdens of performance </code></pre></div></div> I went a little nuts with Remember mode in Emacs - Baty.net https://baty.net/posts/2025/03/i-went-a-little-nuts-with-remember-mode-in-emacs/ 2025-03-04T15:25:07.763Z <p>I went down a rabbit hole with the built-in <a href="https://www.gnu.org/software/emacs/manual/html_mono/remember.html">Remember mode</a> in Emacs today.</p> <h2 id="persistant-scratch-with-remember-note" > <div> <a href="#persistant-scratch-with-remember-note"> # </a> Persistant Scratch with remember-note </div> </h2> <p>The Emacs *scratch* buffer is handy. It&rsquo;s always available and easy to get to. However, by default it doesn&rsquo;t persist between runs of Emacs. So, when I quit Emacs, anything in the scratch buffer is lost. Sometimes I get burned by this, so I thought I&rsquo;d fix it using the <a href="https://github.com/Fanael/persistent-scratch">persistent-scratch</a> package.</p> <p>While looking for details about the package, I spotted a couple comments about using the built-in <code>remember-notes</code> function instead.</p> <blockquote> <p>Return the notes buffer, creating it if needed, and maybe switch to it. This buffer is for notes that you want to preserve across Emacs sessions. The notes are saved in ‘remember-data-file’.</p></blockquote> <p>OK, I tried it and it works great.</p> <figure><img src="https://baty.net/posts/2025/03/i-went-a-little-nuts-with-remember-mode-in-emacs/cover-notes.png" alt="My remember-notes file/buffer"><figcaption> <p>My remember-notes file/buffer</p> </figcaption> </figure> <p>I now have a persistent Org mode file as my scratchpad, and I can easily capture new notes as org headings to it using <code>remember</code>.</p> <h2 id="new-frame-defaults" > <div> <a href="#new-frame-defaults"> # </a> New frame defaults </div> </h2> <p>Now that I had a nice, persistent scratchpad, I wanted it to be the default buffer for new frames and at startup. Easy enough:</p> <div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span><span style="color:#737994;font-style:italic">;; Persistent notes (like persistent-scratch, but built-in)</span> </span></span><span style="display:flex;"><span>(<span style="color:#99d1db">setq</span> <span style="color:#f2d5cf">initial-buffer-choice</span> <span style="color:#a6d189">&#39;remember-notes</span> </span></span><span style="display:flex;"><span> <span style="color:#f2d5cf">remember-data-file</span> <span style="color:#a6d189">&#34;~/Documents/Notes/remember-notes&#34;</span> </span></span><span style="display:flex;"><span> <span style="color:#f2d5cf">remember-notes-initial-major-mode</span> <span style="color:#a6d189">&#39;org-mode</span> </span></span><span style="display:flex;"><span> <span style="color:#f2d5cf">remember-notes-auto-save-visited-file-name</span> <span style="color:#e5c890">t</span> </span></span><span style="display:flex;"><span> <span style="color:#f2d5cf">remember-in-new-frame</span> <span style="color:#e5c890">t</span>)) </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span>(<span style="color:#99d1db">defun</span> <span style="color:#f2d5cf">my/switch-to-scratch-buffer</span> (<span style="color:#f2d5cf">f</span>) </span></span><span style="display:flex;"><span> (<span style="color:#99d1db">with-selected-frame</span> <span style="color:#f2d5cf">f</span> </span></span><span style="display:flex;"><span> (<span style="color:#f2d5cf">remember-notes</span> <span style="color:#e5c890">t</span>))) </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span>(<span style="color:#f2d5cf">add-hook</span> <span style="color:#a6d189">&#39;after-make-frame-functions</span> <span style="color:#8caaee">#&#39;</span><span style="color:#f2d5cf">my/switch-to-scratch-buffer</span>) </span></span></code></pre></div><p>I&rsquo;m not sure all of that is necessary now that I&rsquo;ve learned about <code>remember-in-new-frame</code> but it works as-is, so I&rsquo;ll leave it.</p> <h2 id="remember-mode-via-raycast-for-system-wide-capture" > <div> <a href="#remember-mode-via-raycast-for-system-wide-capture"> # </a> Remember mode via Raycast for system-wide capture </div> </h2> <p>I&rsquo;d created a keymap (<code>C-c o n</code>) for bringing up the remember-notes buffer while in Emacs, but thought it would be nice having a system-wide option. I&rsquo;ve never understood how to configure =org-protocol= so I cheated and created a Raycast script:</p> <div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#737994;font-style:italic">#!/bin/bash </span></span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"></span> </span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"># Required parameters:</span> </span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"># @raycast.schemaVersion 1</span> </span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"># @raycast.title Remember</span> </span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"># @raycast.mode silent</span> </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"># Optional parameters:</span> </span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"># @raycast.icon images/emacs.png</span> </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"># Documentation:</span> </span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"># @raycast.description Open Emacs remember in new frame</span> </span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"># @raycast.author Jack Baty</span> </span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"># @raycast.authorURL https://baty.net</span> </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span>emacsclient -e <span style="color:#a6d189">&#34;(remember-other-frame)&#34;</span> </span></span></code></pre></div><p>Now I can trigger Raycast, type part of &ldquo;Remember&rdquo; (usually just &ldquo;R&rdquo; is enough) and it brings up a new Emacs frame containing the remember buffer. I type or paste whatever, and hit <code>C-c C-c</code> which adds the note to the remember file and kills the frame. Handy!</p> <h2 id="creating-emails-via-remember-mode" > <div> <a href="#creating-emails-via-remember-mode"> # </a> Creating emails via Remember mode </div> </h2> <p>While reading the Remember manual, I spotted the option to save Remember notes as emails. WUT?!</p> <div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#f2d5cf">add-to-list</span> <span style="color:#a6d189">&#39;remember-handler-functions</span> <span style="color:#a6d189">&#39;remember-store-in-mailbox</span>) </span></span></code></pre></div><p>By default, this uses an mbox file, <code>~/Mail/remember</code>, which I can use Mutt to view.</p> <p><code>neomutt -f ~/Mail/remember</code></p> <figure><img src="https://baty.net/posts/2025/03/i-went-a-little-nuts-with-remember-mode-in-emacs/mutt.png" alt="My remember notes as emails in Neomutt"><figcaption> <p>My remember notes as emails in Neomutt</p> </figcaption> </figure> <p>Crazy, right? Yeah, I&rsquo;m not going to view my captured notes in Mutt, but it&rsquo;s cool that I <em>could</em>. But it got me thinking about my urge to put everything into <a href="https://notmuchmail.org">Notmuch</a>. Notmuch indexes Maildir-formatted emails, not mboxes. What if I converted the mbox to Maildir and used Emacs to read the notes where I&rsquo;m <em>already</em> reading my emails? Plus super fast search and tagging, etc.?!</p> <p>I&rsquo;ve not gotten to that yet, but it&rsquo;s something to think about.</p> <h2 id="now-what" > <div> <a href="#now-what"> # </a> Now what? </div> </h2> <p>This whole thing started because I wanted to make my scratch buffer persistent. Instead, I&rsquo;ve ended up with a whole new capture setup for quick notes.</p> <p>Why not use Org-capture or Howm-remember or a million possible other things for this? Fair question. The answer is that I didn&rsquo;t know anything about Remember mode when I woke up this morning, and now I do. It remains to be seen whether I <em>should</em> have used Org-capture for this, but it was fun learning how to do it this way.</p> <p>It&rsquo;s possible we&rsquo;ve, er, forgotten about Remember mode too soon.</p> <p><a href="mailto:jack@baty.net?subject=[baty.net] Re: I went a little nuts with Remember mode in Emacs ">Reply to this post by email</a></p> Denote-search, a simple search utility for Denote - Baty.net https://baty.net/posts/2025/03/denote-search-a-simple-search-utility-for-denote/ 2025-03-04T14:14:34.226Z <p><a href="https://github.com/lmq-10/denote-search">lmq-10/denote-search</a></p> <blockquote> <p>This package provides a search utility for Denote, the simple-to-use, focused-in-scope, and effective note-taking tool for Emacs.</p> <p>The command denote-search is the main point of entry. It accepts a query, which should be a regular expression, and then searches the contents of all the notes stored in denote-directory for it. The results are put in a buffer which allows folding and further filtering; all standard commands offered by Xref are available as well.</p> <p>This package has the same code principles as Denote: to be simple-to-use, focused-in-scope, and effective. We build upon Xref to be good Emacs citizens, and don&rsquo;t use any dependencies other than Denote and built-in libraries.</p></blockquote> <p>This works pretty well. It returns a nice, foldable list of results. One can also refine the results by filtering by file names, etc. I&rsquo;ll probably continue using <a href="https://github.com/Wilfred/deadgrep">Deadgrep</a>, but denote-search is nice to have in the quiver.</p> <p><a href="mailto:jack@baty.net?subject=[baty.net] Re: Denote-search, a simple search utility for Denote ">Reply to this post by email</a></p> Grouping link posts in a web reader - James' Coffee Blog https://jamesg.blog/2025/03/03/grouping-link-posts-in-a-web-reader/ 2025-03-04T14:14:34.111Z <p>Some bloggers I follow publish feeds of links that they have enjoyed. There are many ways of marking up said links, but one way is to have a web feed where the URL of each post is equal to the link you are sharing. This is used if you want to share a link without adding any additional context or commentary.</p> <p>This weekend, I came across a case where an author published a post then another blogger I follow shared that post in their feed. This meant that there were two versions of the same post – with the same titles – in my web reader. Ideally, the web reader would aggregate these two posts but preserve the fact that someone I follow shared the post that was published by an author I follow.</p> <p>Here is what the duplicate post looked like:</p> <p><img alt="A web reader with three posts. Two of the posts the same title and refer to the same resource." src="https://jamesg.blog/assets/images/2025/03/before-feed.png"/></p> <p>In the image above, werd.io published a blog post that was then included in adactio.com’s link feed.</p> <p>I decided that I wanted to show the original post (werd.io’s entry) and nest the “link post” (adactio.com’s entry) underneath. Here is the final result of what I implemented:</p> <p><img alt="A web reader with two posts. One post has a “Shared as a link by adactio.com” description nested underneath." src="https://jamesg.blog/assets/images/2025/03/after-feed.png"/></p> <p>With this approach, I preserve the context that adactio.com shared a link to werd.io without having adactio.com’s link appear as prominently as that of the main author. Of note, this only triggers because adactio.com included werd.io’s link <em>in</em> the feed. This link wouldn’t trigger if adactio.com published a post with a permalink on his own site that linked to werd.io.</p> <p>To implement this, my web reader, Artemis, searches for any posts where:</p> <ol> <li>The domain in a feed entry is not the same as the feed author’s post;</li> <li>The domain in a feed entry is a domain I follow;</li> <li>The titles are the same, or the post permalinks are the same.</li> </ol> <p>In the example above, werd.io was identified as the canonical post because adactio.com linked to werd.io’s site. Artemis then nests adactio.com’s link below werd.io’s original post.</p> <p>The third requirement – titles being the same – was implemented because, in this example, adactio.com linked to a different permalink to the one that werd.io shared. The posts were the same, but the links were different. By checking if titles are the same, I can group posts even if the permalinks may be different. I will likely need to update this logic to do a fuzzy match of titles in case a link feed adds additional context to a post title. But this isn’t a problem right now.</p> <p>With these changes, the web reader interface looks less busy and preserves the fact that an author I follow shared a link from another author I follow.</p> Noticing - James' Coffee Blog https://jamesg.blog/2025/03/03/noticing/ 2025-03-04T14:14:34.103Z <p>Many of the changes I have made to <a href="https://artemis.jamesg.blog">Artemis</a>, the calm web reader I maintain, come after noticing points of friction in my use of the software. Here are a few observations I have made that have guided some recent changes to the tool:</p> <ol> <li>A page should load faster.</li> <li>An error message is not clear.</li> <li>A form should stay populated after an error appears so users don’t have to re-type information.</li> <li>Duplicate posts are showing up in the main reader.</li> <li>I wish that shared links to a blog I follow would appear nested under the author, rather than as their own entry, to reduce visual clutter.</li> <li>The “add author” link should be more prominent on the subscriptions page.</li> </ol> <p>What got me thinking about this was a <a href="https://www.youtube.com/watch?v=tURRSJ-q4bg">question that a BBC interviewer asked Brian Eno about the Oblique Strategies cards</a> that Eno developed. The interviewer asked whether the cards were written over years or all at once. Eno began his answer with “It started out with noticing that…” I feel the most useful features in Artemis have been built with this proposition, too. <em>It started out with noticing</em>.</p> <p>Many of the changes to Artemis have been iterative. I can’t know the ideal design for a form, for example, until I try my best to design a first version, use the form a few times, and think about whether there were any points of friction in my experience with the form. Improvements to Artemis often come from noticing that something could be improved, working on a solution, and noting my experience as I continue to design.</p> Oblique Strategies RSS Feed - James' Coffee Blog https://jamesg.blog/2025/03/03/oblique-strategies-rss-feed/ 2025-03-04T14:14:34.095Z <p>Developed by Brian Eno and Peter Schmidt, <a href="https://en.wikipedia.org/wiki/Oblique_Strategies">Oblique Strategies</a> is a deck of cards that encourage creative thinking, featuring messages from “Turn it upside down” to “What to increase? What to reduce?”</p> <p>I have made an RSS feed for Oblique Strategies. The feed updates daily with one new strategy, chosen at random.</p> <p>The feed has a <a href="https://jamesg.blog/oblique-strategies">web page that lists the day’s strategy</a>, as well as an <a href="https://jamesg.blog/oblique-strategies/rss.xml">accompanying RSS feed</a>. The <a href="https://github.com/capjamesg/oblique-strategies-rss">source code is available on GitHub</a>.</p> Interpretation of “Minor adulterations” by Vasilis Papakonstantinou - Protesilaos Stavrou: Master feed with all updates https://protesilaos.com/interpretations/2025-03-01-papakonstantinou-minor-adulterations/ 2025-03-02T00:08:55.870Z <p>For this entry, I have picked one of the many masterpieces performed by legendary Greek rock singer Vasilis Papakonstantinou: <a href="https://www.youtube.com/watch?v=SL5WqqSEn18">https://www.youtube.com/watch?v=SL5WqqSEn18</a> (and by “many” I am thinking of “more than a hundred”). <em>Minor adulterations</em> gives us insight into the life of a troubled mind, as it tackles themes of failure, regret, introspection, and escapism.</p> <p>Below are the original lyrics, my translation of them, and some further philosophical thoughts.</p> <p>Also check the other “interpretations” involving Vasilis Papakonstantinou’s songs:</p> <ul> <li><a href="https://protesilaos.com/interpretations/2023-03-22-papakonstantinou-sophie/">Sophie (The wild crowd)</a> (2023-03-22)</li> <li><a href="https://protesilaos.com/interpretations/2022-07-28-papakonstantinou-porto-rico/">Porto Rico</a> (2022-07-28)</li> <li><a href="https://protesilaos.com/interpretations/2022-07-09-papakonstantinou-kabardina/">Trench coat</a> (2022-07-09)</li> </ul> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Μικρές Νοθείες Ερμηνεία: Βασίλης Παπακωνσταντίνου Στίχοι: Οδυσσέας Ιωάννου Μουσική: Θάνος Μικρούτσικος Ποτέ του δεν κατάφερε να βγει σε μια λιακάδα και ζει με ό,τι περίσσεψε από ένα σκάρτο ποίημα τα πρωινά σηκώνεται με μια βαριά ζαλάδα και λέει πως τον ξύπνησε ένα μεγάλο κύμα Κρεμάει τις αφίσες του στα παράθυρά του Κρύβει το φως μα κρύβει κι όλα τ'άλλα γιατί το μόνο που λαχτάρησε ως λάφυρα του είναι μια θάλασσα να φτάνει ως τη σκάλα Βάζει σημάδια με στυλό πάνω στον τοίχο του Μετράει το ύψος του που πόντο-πόντο χάνει Μα κάθε βράδυ όταν βγαίνει απ'τον ύπνο του στέκεται όρθιος και τρυπάει το ταβάνι Είναι που ονειρεύεται πως φεύγει για ταξίδια πως μπαίνει μέσα σε παλιές φωτογραφίες Ξέρει αν μπορούσε θα'κανε μία απ'τα ίδια αλλά τι νόημα έχει το όνειρο χωρίς μικρές νοθείες </code></pre></div></div> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Minor adulterations Singers: Vasilis Papakonstantinou Lyrics: Odysseas Ioannou Music: Thanos Mikroutsikos Never did he manage to reach a sunshine and lives with whatever remains of a scrapped poem The mornings he gets up with heavy dizziness and says a great wave woke him up He hangs his posters on his windows Hides the light but also hides everything else because the only thing he desired as plunder was a sea that stretches to the stairs He sets marks on his wall with a pen Measures his height that he loses bit by bit But each night when he gets out of his slumber he stands up and pierces through the roof It is that he dreams of embarking on journeys that he gets into old pictures He knows if he could he would do more of the same but what is the point of a dream without minor adulterations </code></pre></div></div> <p>The poetic “he” is a person who is caught in a spiral of introspection. We get a hint as to what the cause is, in the form of the person’s own perfectionism, symbolised by the company of some scrapped poem. It is a memento of his works and his dissatisfaction with them. He is the most stern of judges in discarding works that do not live up to some ultimately irrelevant standard of objective excellence. Why irrelevant? Because a creator can only create what their condition renders possible. To reject the end result is to not recognise or accept what the condition is: it is to live in dissonance.</p> <p>This person is fundamentally ashamed of what they do and who they are. Hence the desire to withdraw from the public eye, to hide in his ever darker room, and to reminisce about the few experiences that were worth keeping a photograph of. It is perfectly fine to have ambitions and to set high standards. Though every plan has to be couched in terms of practicality, of the immediate experience of the world. It cannot be decoupled from what one is doing, where they started from, and what their trajectory is. It cannot be “objective” strictly speaking, as there is always some context that determines what is happening and delineates the realm of the potential.</p> <p>For as long as someone is putting in honest effort, to the best of their abilities, there is nothing to be ashamed of. Only cheating and faking it, only the lack of honour, is worthy of contempt. But the hard work is noble and praiseworthy as such, even if the results are not the best ever.</p> <p>Hiding from others is a healthy coping mechanism when it is an initial response to some injurious situation. One needs time to recuperate and come back stronger. Withdrawing into a safe space is thus helpful. Though it is paramount to not become fatalistic by thinking that this is the end of the world. By disaggregating the big problem into its smaller constituents, the pressure becomes less intense: one can tackle minor issues and get a taste of the ensuing small wins. It is a matter of not giving up, of not shutting off the sunlight completely.</p> <p>Concretely, the sort of overthinking described in this song cannot be overcome by more thinking. The cycle of negativity is broken by action. Our protagonist, this nameless “he”, must muster the courage to venture outside. Though this means that he has to swallow his pride and make some concessions, such as by relaxing his standards and lowering his expectations. Perhaps poetry is not what he is meant to do or he can still do it on the side while balancing it out with something else.</p> <p>It is single-mindedness and inflexibility that undoes a man. Those same qualities are invaluable in certain cases where one has to power through hardship. The key is to not lose sight of the bigger picture; to not make unflinching commitment the goal itself, but to understand that everyone can be wrong while the world can always introduce new states of affairs. Thus the priorities we once set for ourselves are either no longer correct or relevant.</p> <p>By blotting out the light and everything else with it, the person is bound to forgo the sense of perspective that informs sound judgement. Now, confined to their own space, dwelling over the same tired thoughts, all they can do is continue to lose any sense of self-respect, as they belittle their being one regret at a time.</p> <p>The titular “adulterations” do give us a hopeful message though. Just as we once dreamt of achieving something grand, we retain the ability to dream anew no matter the setbacks. We may modify what once was to fathom a purpose we had not envisaged. It is this very pivot that makes the adulteration of the original dream benign and, indeed, necessary. The world may then reveal to us an altogether different reality that the one we had hoped for; a reality that may still fulfil us.</p> First blossom - James' Coffee Blog https://jamesg.blog/2025/03/01/first-blossom/ 2025-03-02T00:08:55.848Z <p>On my walks over the last week, I have been gazing studiously at the trees around me, eager to see buds emerge as we move from winter to spring. I had not seen any blossom until today when, on the train, I spotted a few trees that started to show the first signs of white blossom. The tips of the previously wintering branches were sprinkled with dots of white. <em>Spring is almost here.</em></p> Keeping the Leica SL2, for now - Baty.net https://baty.net/posts/2025/03/keeping-the-leica-s-l2-for-now/ 2025-03-01T14:45:08.312Z <figure><img src="https://baty.net/posts/2025/03/keeping-the-leica-s-l2-for-now/20250301-self-portrait-sl3-cover.jpg" alt="We look good together, no?"><figcaption> <p>We look good together, no?</p> </figcaption> </figure> <p>When I <a href="https://baty.net/posts/2025/02/the-nikon-zf/">bought the Nikon Z f</a> recently, the way I intended to offset the cost was to sell the <a href="https://baty.net/posts/2023/02/leica-sl2/">Leica SL2</a>. The mistake I made was to buy the Nikon <em>before</em> selling the Leica.</p> <p>Yesterday, I packed up the SL2 and took some photos of it for the listing. Picking up the camera reminded me that, as nice as the Z f is, it&rsquo;s not in the same league as the SL2. Everything about the Leica feels nicer. Buttons, cover, grip, doors, battery, all of it.</p> <p>I&rsquo;ve been lost in the Nikon&rsquo;s menu system for a week. I still don&rsquo;t know where anything is. There&rsquo;s more &ldquo;stuff&rdquo; <em>available</em> on the Nikon, but the Leica&rsquo;s menus are simple, clear, and easy to understand. Sometimes less is more, you know?</p> <p>I started to reconsider the move to Nikon for my digital photography.</p> <p>On the other hand, the Z f is significantly smaller and lighter. Accessories are less expensive. The RAW files look good, and are much smaller (due to being 24MP vs 47MP, sure, but still). It&rsquo;s better at everything in low light. And auto-focus with the Nikon is miles ahead of the Leica. Eye detection with continuous auto-focus is a thing to behold.</p> <p>I&rsquo;m keeping both cameras.</p> <p>The Nikon is for everyday stuff. It&rsquo;s perfect for the dog and my grandson and out-and-about photography. The Leica will remain for &ldquo;serious&rdquo; projects like studio portraits, which I want to do more of.</p> <p>That&rsquo;s settled then. 😉.</p> <p><a href="mailto:jack@baty.net?subject=[baty.net] Re: Keeping the Leica SL2, for now ">Reply to this post by email</a></p> P&B: Marco Giancotti - Manuel Moreale RSS Feed https://manuelmoreale.com/@/page/epSKxwT038WHCySv 2025-02-28T11:59:13.225Z <p>This is the 79th edition of <em>People and Blogs</em>, the series where I ask interesting people to talk about themselves and their blogs. Today we have Marco Giancotti and his blog, <a href="https://aethermug.com/">aethermug.com</a></p> <p>To follow this series <a href="https://peopleandblogs.com">subscribe to the newsletter</a>. A new interview will land in your inbox every Friday. Not a fan of newsletters? No problem! You can read the interviews here on the blog or you can subscribe to the <a href="https://manuelmoreale.com/feed">RSS feed</a>.</p> <p>If you're enjoying the People and Blogs series and you want to see it grow, consider supporting on <a href="https://ko-fi.com/manuelmoreale">Ko-Fi</a>.</p> <hr /> <h2>Let's start from the basics: can you introduce yourself?</h2> <p>Hey there! I'm Marco. I sometimes half-joke that I'm an "undercover physicist". I graduated in physics, got a degree in aerospace, but after that I didn't continue my career in academia for reasons that might become clear below. I decided that the world would be my lab, and went outside to experience how it works first-hand, always through the eyes of a scientist.</p> <p>I have worked in various areas of engineering, management, and product development. I've gone from the space industry to microfinance, went deep into computer programming and made prose my skill of choice. In other words, more than anything else I like to straddle disciplines and to make connections between things. There is a kind of science that doesn't fit in well with any single university department, and that is my interest. The closest to a keyword for that is "complexity theory". I think this interdisciplinary interest is reflected in everything I write on my blog and elsewhere.</p> <p>I moved to Japan over a decade ago, and have remained here ever since. I live in Tokyo with my wife and, although I don't have anything like a stable hobby (unless you call "reading" a hobby), lately I do play a lot of badminton and TTRPGs with my friends.</p> <h2>What's the story behind your blog?</h2> <p>I have two websites: <a href="https://planktonvalhalla.com">Plankton Valhalla</a> and <a href="https://aethermug.com">Aether Mug</a>.</p> <p>I started the first a couple of years ago, when I decided it was time to put to words the fuzzy interdisciplinary observations I have been collecting throughout my "undercover physics" career. More specifically, my goal is to put them into words that are <em>very accessible</em> to everyone with a university education. I try to do this in the form of sporadic essays on Plankton Valhalla. But this is a collection of essays, not a blog proper, so I won't consider it in the answers that follow.</p> <p>Aether Mug (AeMug) is the more blog-like website, and it's barely one year old. The more I wrote on Plankton, the more I realized that its format and focus were too narrow for the flood of ideas and questions that I come up with every day, so I started AeMug as a catch-all for those. To my surprise, a couple of my posts were featured on the front page of Hacker News, which helped connect me with some readers. But my readership is still in its infancy.</p> <h2>What does your creative process look like when it comes to blogging?</h2> <p>I try to publish every week. It's a constant tug-of-war with my perfectionism, which doesn't really make short deadlines fun, but slowly I've been learning how to strike a balance.</p> <p>I don't really have problems with inspiration, because I've been hoarding ideas for years in my Obsidian vault, and have many, many topics that I have only partially developed and will be easy to dig into deeper when the time comes. I have more ideas to write about than I can ever hope to cover in my lifetime, and the list keeps growing.</p> <p>Because of that, the main questions when choosing what to write about on any given week are:</p> <ol> <li>Have I already covered the ideas that will serve as starting assumptions in this new post?</li> <li>Will I be able to develop this in time?</li> </ol> <p>The first one greatly limits which topics I can write about, because I want them to build on top of each other in a way that an interested reader can still follow. The second one I'm really bad at, and sometimes I end up spending much longer on a post than I originally intended. I still haven't been able to get ahead of the schedule by much. I'm learning.</p> <p>Once I decide on a topic, I sit down, re-read my existing Obsidian notes about it, make an outline, and type it.</p> <h2>Do you have an ideal creative environment? Also do you believe the physical space influences your creativity?</h2> <p>I need silence and solitude, or a nice cafe that is not too noisy—which is easy to find, at least in Japan.</p> <p>I keep my writing tools simple. For years, when writing outside home, I did everything on an old smartphone in eternal airplane mode, propped up horizontally, and a Bluetooth keyboard. Nowadays I use an cheap Android tablet, and I'm now (usually) diligent enough to not be distracted by an internet connection.</p> <p>More than the physical space, I think that a stable routine helps my productivity. I still haven't learned to be as diligent and constant with my writing while traveling, for instance. Too much around me is different. The older I get, the more I turn into a creature of habit. Or maybe into a hermit.</p> <h2>A question for the techie readers: can you run us through your tech stack?</h2> <p>I already mentioned Obsidian as the place where I do all of my thinking and writing.</p> <p>Aether Mug is a simple Next.js website I designed and built. I didn't go with Substack or other cloud platforms because I need the freedom to do whatever I want in my websites, like <a href="https://aethermug.com/posts/you-don-t-have-time">this experimental branching blog post</a>. More weird stuff coming up soonish!</p> <p>The website is hosted on Vercel, and the domain is from Cloudflare. I didn't put much thinking in these, they were just the easiest options I came by with a quick search, and I have no complaints.</p> <p>The newsletter runs on Buttondown. Very nice and simple, and I like the mindset of its creator.</p> <h2>Given your experience, if you were to start a blog today, would you do anything differently?</h2> <p>I only started a year ago, so all I can say is that I should have started earlier. It's a very formative experience.</p> <h2>Financial question since the Web is obsessed with money: how much does it cost to run your blog? Is it just a cost, or does it generate some revenue? And what's your position on people monetising personal blogs?</h2> <p>I think I only pay for Buttondown, the rest is all free. Writing good stuff is very hard and valuable work, and I love the idea of people getting an income from that. Currently I'm not monetizing anything, because my readership is still small and I believe in giving a lot before asking a little. Eventually I may add a donation channel, but I want to keep my main writing output open and free.</p> <p>The approach I like the most is that of <a href="https://andymatuschak.org/">Andy Matuschak</a>, who receives donations to fund his independent research in user interfaces. I see my blog as a form of research into science communication, but not at Andy's systematic and focused level yet (Catch-22: I still need another job!). I hope Andy's funding model gains more popularity and acceptance among people on the internet.</p> <h2>Time for some recommendations: any blog you think is worth checking out? And also, who do you think I should be interviewing next?</h2> <p>Nowadays I read very few blogs myself, but I'll make a few recommendations:</p> <ul> <li><a href="https://www.robinsloan.com/newsletters/">Robin Sloan's newsletter</a> is a joy to read. He is a fiction author, but he blogs about much more than literature. I don't know how to describe it well. It's like reading letters from a dear friend who likes nothing more than delighting you.</li> <li><a href="http://jpkoning.blogspot.com/">JP Koning's Moneyness</a> may not be for everyone, but it's such an underrated blog. He's an expert in monetary economics and history, cryptocurrencies, and adjacent topics. Very system-thinking kind of stuff. I especially love when he gets all geeky about ancient coinage and medieval macroeconomics, like <a href="http://jpkoning.blogspot.com/2024/05/renovatio-monetae.html">here</a> and <a href="http://jpkoning.blogspot.com/2024/05/monetagium.html">here</a>.</li> <li><a href="https://manlius.substack.com/">Manlio De Domenico's Complexity Thoughts</a> is a great weekly review of recent papers in complexity theory. He is a professor working on these things, and the target audience seems to be other scientists. It might require a minimal scientific background to follow and fully appreciate. But his choice of papers to feature is always interesting and extremely interdisciplinary.</li> </ul> <p>It would be great to learn how any of the three people above make their blogging magic happen, so if you can manage to interview them, kudos to you, Manuel!</p> <h2>Final question: is there anything you want to share with us?</h2> <p>Read up on complexity theory! It has insights on literally everything in life. It changes how you see the world. I believe it is the most important scientific discipline today.</p> <hr /> <p>This was the 79th edition of <em>People and Blogs</em>. Hope you enjoyed this interview with Marco. Make sure to <a href="https://aethermug.com/">follow his blog</a> (<a href="https://aethermug.com/rss.xml">RSS</a>) and get in touch with him if you have any questions.</p> <h2>Awesome supporters</h2> <p>You can support this series on <a href="https://ko-fi.com/manuelmoreale">Ko-Fi</a> and all supporters will be listed here as well as on the <a href="https://peopleandblogs.com">official site</a> of the newsletter.</p> <p><a href="https://www.thingelstad.com">Jamie Thingelstad</a> (<a href="https://www.thingelstad.com/feed.xml">RSS</a>) — <a href="https://some.studio">Piet Terheyden</a> — Eleonora — <a href="https://carlbarenbrug.com">Carl Barenbrug</a> (<a href="https://carlbarenbrug.com/feed/rss">RSS</a>) — <a href="https://tangiblelife.net">Steve Ledlow</a> (<a href="https://tangiblelife.net/feed.rss">RSS</a>) — <a href="https://www.feadin.eu">Paolo Ruggeri</a> (<a href="https://www.feadin.eu/en/posts/index.xml">RSS</a>) — <a href="https://thejollyteapot.com">Nicolas Magand</a> (<a href="https://thejollyteapot.com/feed.rss">RSS</a>) — <a href="https://robhope.com">Rob Hope</a> — <a href="https://chrishannah.me">Chris Hannah</a> (<a href="https://chrishannah.me/index.xml">RSS</a>) — <a href="https://blog.pcora.eu">Pedro Corá</a> (<a href="https://blog.pcora.eu/feed.xml">RSS</a>) — <a href="https://softlandings.world/">Sixian Lim</a> (<a href="https://www.softlandings.world/feed.rss">RSS</a>) — <a href="https://mattstein.com">Matt Stein</a> (<a href="https://mattstein.com/rss.xml">RSS</a>) — <a href="https://winnielim.org">Winnie Lim</a> (<a href="https://winnielim.org/feed/">RSS</a>) — <a href="https://flamedfury.com/">Flamed</a> (<a href="https://flamedfury.com/feed.xml/">RSS</a>) — <a href="https://skyhold.org">C Jackdaw</a> (<a href="https://jackdaw.weblog.lol/rss.xml">RSS</a>) — <a href="https://tiv.today">Kevin Humdrum</a> (<a href="https://tiv.today/feed.rss">RSS</a>) — <a href="https://www.doc.cc/">Fabricio Teixeira</a> (<a href="https://www.doc.cc/feed.xml">RSS</a>) — <a href="https://rosalindcroad.com">Rosalind Croad</a> — <a href="https://www.elmikewalsh.com">Mike Walsh</a> (<a href="https://www.elmikewalsh.com/feed.xml">RSS</a>) — <a href="https://www.byzero.de/">Markus Heurung</a> — <a href="https://mwarrenarts.com/">Michael Warren</a> (<a href="https://mwarrenarts.com/rss">RSS</a>) — <a href="https://cagrimmett.com/">Chuck Grimmett</a> (<a href="https://cagrimmett.com/feed">RSS</a>) — <a href="https://eatweeds.co.uk">Robin Harford</a> (<a href="https://www.eatweeds.co.uk/feed/">RSS</a>) — <a href="https://bryanmanio.com/">Bryan Maniotakis</a> (<a href="https://bryanmanio.com/feed/">RSS</a>) — <a href="https://bjhess.com/">Barry Hess</a> (<a href="https://bjhess.com/posts_feed">RSS</a>) — <a href="https://ivanmoreale.com">Ivan Moreale</a> — <a href="https://werd.io/">Ben Werdmuller</a> (<a href="https://werd.io/feed">RSS</a>) — <a href="https://corygibbons.com">Cory Gibbons</a> — <a href="https://www.lkhrs.com/">Luke Harris</a> (<a href="https://www.lkhrs.com/blog/index.xml">RSS</a>) — <a href="https://lars-christian.com/">Lars-Christian Simonsen</a> (<a href="https://lars-christian.com/feed/">RSS</a>) — <a href="https://www.codyschultz.com">Cody Schultz</a> — <a href="https://bradbarrish.com">Brad Barrish</a> (<a href="https://bradbarrish.com/feed/">RSS</a>) — <a href="https://galaiko.rocks">Nikita Galaiko</a> — Erik Blankvoort — <a href="https://jagasantagostino.com">Jaga Santagostino</a> — <a href="https://andzuck.com/">Andrew Zuckerman</a> — <a href="https://www.mattiacompagnucci.com">Mattia Compagnucci</a> (<a href="https://mattiacompagnucci.com/feed.rss">RSS</a>) — <a href="https://tdh.se/">Thord D. Hedengren</a> (<a href="https://tdh.se/feed/feed.xml">RSS</a>) — <a href="https://fabiensauser.ch">Fabien Sauser</a> (<a href="https://fabiensauser.ch/index.xml">RSS</a>) — <a href="http://dizzard.net/">Maxwell Omdal</a> — <a href="https://heydingus.net">Jarrod Blundy</a> (<a href="https://heydingus.net/feeds">RSS</a>) — <a href="https://gwtf.it">Andrea Contino</a> (<a href="https://gwtf.it/feed">RSS</a>) — <a href="https://sebastiandedeyne.com/">Sebastian De Deyne</a> (<a href="https://sebastiandedeyne.com/index.xml">RSS</a>) — <a href="https://nicolalosito.it/">Nicola Losito</a> (<a href="https://nicolalosito.it/feed/">RSS</a>) — <a href="https://amerpie.lol/">Lou Plummer</a> (<a href="https://amerpie.lol/feed.xml">RSS</a>) — <a href="https://lmika.org/">Leon Mika</a> (<a href="https://lmika.org/feed.xml">RSS</a>) — <a href="http://veronique.ink">Veronique</a> (<a href="https://veronique.ink/feed/">RSS</a>) — <a href="https://surplusjouissance.com">Neil Gorman</a> (<a href="https://www.surplusjouissance.com/rss/">RSS</a>) — <a href="https://reaper.is/">Reaper</a> (<a href="https://reaper.is/rss.xml">RSS</a>) — <a href="https://www.mattrutherford.co.uk/">Matt Rutherford</a> (<a href="https://www.mattrutherford.co.uk/rss/">RSS</a>) — <a href="https://aleemshaun.com/">Aleem Ali</a> (<a href="https://aleemshaun.com/feed">RSS</a>) — <a href="https://nikkin.dev/">Nikkin</a> (<a href="https://nikkin.dev/feed.xml">RSS</a>) — <a href="https://hansfast.net">Hans</a> (<a href="https://hansfast.net/everything.rss">RSS</a>) — <a href="https://www.morelightmorelight.com/">Matt Katz</a> (<a href="https://www.morelightmorelight.com/feed">RSS</a>) — <a href="https://iljapanic.com/">Ilja Panić</a> — <a href="https://odongo.pl">Emmanuel Odongo</a> — <a href="https://kevquirk.com/">Kev Quirk</a> (<a href="https://kevquirk.com/feed">RSS</a>) — <a href="https://ruk.ca/">Peter Rukavina</a> (<a href="https://ruk.ca/rss/feedburner.xml">RSS</a>) — <a href="https://jsrn.net">James</a> (<a href="https://jsrn.net/feed.xml">RSS</a>) — <a href="https://therealadam.com">Adam Keys</a> (<a href="https://therealadam.com/feed.xml">RSS</a>) — <a href="https://www.alexeystar.com/">Alexey Staroselets</a> (<a href="https://alexeystar.com/index.xml">RSS</a>) — <a href="https://saturnvalley.org">John L</a> — <a href="https://kangminsuk.com">Minsuk Kang</a> (<a href="https://kangminsuk.com/index.xml">RSS</a>) — <a href="https://itskechi.com/">Kechi Ladapo</a> (<a href="https://itskechi.bearblog.dev/feed/">RSS</a>) — <a href="https://nazhamid.com">Naz Hamid</a> (<a href="https://nazhamid.com/feed.xml">RSS</a>) — <a href="https://ken.fyi">Ken Zinser</a> (<a href="https://ken.fyi/feed.rss">RSS</a>) — Jan — <a href="https://verticolabs.com/">Grey Vugrin</a> (<a href="https://verticolabs.com/feed/">RSS</a>) — <a href="https://mzll.it">Luigi Mozzillo</a> (<a href="https://mzll.it/index.xml">RSS</a>) — <a href="https://www.alexhyett.com/">Alex Hyett</a> (<a href="https://www.alexhyett.com/feed/feed.atom.xml">RSS</a>) — <a href="https://andypiper.omg.lol/">Andy Piper</a> — <a href="https://shime.sh/">Hrvoje Šimić</a> (<a href="https://shime.sh/feed.xml">RSS</a>) — <a href="https://tschmeisser.com/">Travis Schmeisser</a> — <a href="https://doug.pub/">Doug Jones</a> — <a href="https://vincentritter.com/">Vincent Ritter</a> (<a href="https://vincentritter.com/feeds/all.json">RSS</a>) — <a href="https://shen.land/">Shen</a> — <a href="https://holzer.online/">Fabian Holzer</a> (<a href="https://holzer.online/feed.xml">RSS</a>) — <a href="https://netigen.com/">Courtney</a> (<a href="https://netigen.com/rss">RSS</a>) — Karl Prieb — <a href="https://www.ismailsevik.com/">İsmail Şevik</a> (<a href="https://www.ismailsevik.com/feeds/posts/default?alt=rss">RSS</a>) — <a href="https://lukedorny.com">Luke Dorny</a> — <a href="https://tomeri.org/">Thomas Erickson</a> — <a href="https://herman.bearblog.dev">Herman Martinus</a> (<a href="https://herman.bearblog.dev/feed/">RSS</a>) — <a href="https://benny.bearblog.dev">Benny</a> (<a href="https://benny.bearblog.dev/feed/?type=rss">RSS</a>) — <a href="https://anniemueller.com/">Annie Mueller</a> (<a href="https://anniemueller.com/posts_feed">RSS</a>) — <a href="https://sekhmetdesign.thegeekcartel.com/">SekhmetDesign</a> — <a href="https://jlelse.blog/">Jan-Lukas Else</a> (<a href="https://jlelse.blog/feed">RSS</a>) — <a href="https://glbck.com">Gui</a> (<a href="https://www.glbck.com/feed.rss">RSS</a>) — <a href="https://longest.voyage/">Jamie</a> (<a href="https://longest.voyage/index.xml">RSS</a>) — <a href="https://www.juhaliikala.com/">Juha Liikala</a> (<a href="https://www.juhaliikala.com/rss/">RSS</a>) — <a href="https://alongtheray.com">Ray</a> (<a href="https://alongtheray.com/feed.rss">RSS</a>) — <a href="https://chadmoore.net/">Chad Moore</a> (<a href="https://chadmoore.net/posts_feed">RSS</a>) — <a href="https://ben.wf/">Benjamin Wittorf</a></p> <h2>Want to support P&amp;B?</h2> <p>If you like this series and want to help it grow, you can:</p> <ol> <li><a href="https://ko-fi.com/manuelmoreale">support on Ko-Fi</a>;</li> <li>post about it on your own blog and let your readers know about its existence;</li> <li><a href="mailto:hello@manuelmoreale.com">email me</a> comments and feedback on the series;</li> <li><a href="mailto:email@peopleandblogs.com">suggest a person</a> to interview next. I'm especially interested in people and blogs outside the tech/web bubble.</li> </ol> <hr> <p>Thank you for keeping RSS alive. You're awesome.</p> <p><a href="mailto:hello@manuelmoreale.com">Email me</a> :: <a href="https://manuelmoreale.com/guestbook">Sign my guestbook</a> :: <a href="https://ko-fi.com/manuelmoreale">Support for 1$/month</a> :: <a href="https://manuelmoreale.com/supporters">See my generous supporters</a> :: <a href="https://buttondown.email/peopleandblogs">Subscribe to People and Blogs</a></p> Audience of one - Manuel Moreale RSS Feed https://manuelmoreale.com/@/page/xoruey13sdknkopD 2025-02-28T09:48:05.825Z <blockquote> <p>Messages don’t go anywhere aside from into my ears. Think of it as a very personal social media post with an audience of one.</p> </blockquote> <p>What a delightful idea this is by <a href="https://lucybellwood.com/❧-prompt-update-haunting/">Lucy</a>. I love this type of simple projects that are just ways to facilitate human connections.</p> <hr> <p>Thank you for keeping RSS alive. You're awesome.</p> <p><a href="mailto:hello@manuelmoreale.com">Email me</a> :: <a href="https://manuelmoreale.com/guestbook">Sign my guestbook</a> :: <a href="https://ko-fi.com/manuelmoreale">Support for 1$/month</a> :: <a href="https://manuelmoreale.com/supporters">See my generous supporters</a> :: <a href="https://buttondown.email/peopleandblogs">Subscribe to People and Blogs</a></p> Stargazing - James' Coffee Blog https://jamesg.blog/2025/02/28/stargazing/ 2025-02-28T09:47:58.089Z <p>The clock was approaching midnight and I was growing increasingly tired. <em>It’s bed time</em>, I thought to myself. But before going to bed, I looked out the window. There were sparkles in the sky: the stars. In that moment, the rest of the day receded into the background and my tiredness faded away. My curiosity was piqued by the sky, dazzled with stars.</p> <p>On the horizon, I saw what I now know is Orion’s Belt. The three stars in alignment made me think <em>maybe that’s a star pattern!</em> I looked it up later and I felt a little bit of joy. <em>I saw a constellation</em>, I thought to myself. But I didn’t need to know the name of the pattern to experience its beauty. I thought to myself how wonderful it is that all I need to do is look around to see the beauty of the sky.</p> <p>A thin flash of light raced across the sky. <em>Was that… a shooting star?</em> I think it was! Last night was my first time seeing one. The speed of the movement meant that one could blink and miss it. Its ephermal beauty made me appreciate how much looking around can lead to seeing wonderful things. I hope to see another shooting star one day.</p> <p>I am unsure for how long I stood by the window. Long enough for my neck to be a bit tense after angling to see how many stars I could see. I looked from as many perspectives as I could from my window: eager to see if there were any more patterns in the sky that I could discern, and eager to continue experiencing the quiet joy of gazing at the stars.</p> The cost of doing the right thing - Manuel Moreale RSS Feed https://manuelmoreale.com/@/page/1VjgVO91EW7L3DXp 2025-02-27T20:22:47.416Z <p>I spent almost the entirety of my adult life creating content on—and for—the web. This is both professionally, as a freelance web developer for the past 14 years, and recreationally with countless side projects that have pretty much all failed in one way or another. The only common lesson I learned is that my personality is an awful mix of traits that makes dealing with anything related to money incredibly complicated.</p> <p>I don’t have a high opinion of myself, to put it mildly. And this is not a false sense of modesty. For my entire life, I never considered myself particularly good at what I was doing and that is because I was—and still am—way too aware of the countless great and talented individuals out there. I’m typing this, for example, knowing for a fact that there are much, much better writers and bloggers out there, with blogs that are miles better than mine. The only reason why I’m able to keep doing this is because it now serves as some form of bizarre public therapy, a way for me to keep sane somehow.</p> <p>All this is relevant in the context of money because for me, accepting to get paid for something I do is painfully hard. This is something that’s less of an issue now—after 15 fucking years—in my professional life, even though I still struggle massively to ask for proper compensation when I do work for clients, but it’s still a huge issue on the side projects part of my life. Almost all the side projects I ran were either free or Pay-What-You-Want with a barrier of entry set as low as possible. I always told myself that this was the “correct” way to do things but the reality is that it was the only way for me to make it tolerable from a personal standpoint.</p> <p>Because getting paid money, from strangers, when deep inside you constantly think you’re a fraud with no actual value, it’s a tough pill to swallow. And, before some kind soul out there decides to get in touch with me, at a rational level I know it’s not the case. I intellectually get it. But the problem is that the mind is not—sadly—pure rationality. I also know that all this nonsense I feel is probably just a stupid coping mechanism to avoid having to face proper failure. Because if I go in feeling I’m worthless, when I then inevitably fail I can simply tell myself <em>“See? I knew I was right.”</em> and that will help cope with the result. It’s a pathetic mindset, I’m aware of that. It’s not that I enjoy being this way.</p> <p>Anyway, why reflecting on all this now? Well, earlier today I was doing some admin on the <a href="https://peopleandblogs.com">P&amp;B</a> side of things, sending out emails, and preparing tomorrow’s interviews and in doing that I wanted to make sure all the supporters were credited correctly in the upcoming interview. The People and Blogs series is, obviously, free for everyone for reasons that should be obvious by now. I’d never even dream of making it a paid series, not even for a dollar a year. And not because I don’t think there’s value here—the interviews are all great!—but because that money should not go to me. I did, however, set up a way for people to contribute if they found value in the series and that quickly evolved into what’s not my <a href="https://manuelmoreale.com/one-a-month">One a Month</a>—which now has a <a href="https://oneamonth.club">lovely dedicated websites</a> thanks to <a href="https://heydingus.net">Jarrod</a>.</p> <p>One dollar a month is, in the grand scheme of things, a minuscule amount of money for a lot of people (and I don’t even get the whole thing, after the various fees I get maybe 65c) and yet I can’t help myself from feeling some obligations when it comes to celebrating that kindness. Because it is an act of kindness to send someone some money simply because you enjoy what they’re doing without expecting anything in return and that kindness is worth celebrating and promoting. And I’m doing that in every interview I publish as well as on the P&amp;B website and <a href="https://manuelmoreale.com/supporters">here on this blog</a>. But none of this process is automated and that means I have to constantly keep an eye on who’s subscribing and who’s cancelling because even in a world of 1$ donations, there is some churn. And it’s a particularly painful type of churn because if someone decides to stop sending you as little as 1$ a month it means you really aren’t providing that much value. And again, before you start typing, conceptually I know there are a million reasons why someone might stop supporting. Maybe they forgot their CC was expiring, maybe they use a prepaid, or maybe they’re just on a subscriptions killing spree. Whatever the case may be, them cancelling should not be seen as a value judgment of what I am doing here. I understand all that conceptually. And yet, it still fucking hurts.</p> <p>And don’t get me wrong, I know it’s all self-inflicted. I could simply stop doing this. And over the past few days, I even considered that. Stop accepting donations altogether that is. It would make it so much easier from a purely mental standpoint. Minds are goddamn complicated at times. Or, well, mine is at least. Maybe yours is a wonderful place and if that’s the case, I envy you.</p> <hr> <p>Thank you for keeping RSS alive. You're awesome.</p> <p><a href="mailto:hello@manuelmoreale.com">Email me</a> :: <a href="https://manuelmoreale.com/guestbook">Sign my guestbook</a> :: <a href="https://ko-fi.com/manuelmoreale">Support for 1$/month</a> :: <a href="https://manuelmoreale.com/supporters">See my generous supporters</a> :: <a href="https://buttondown.email/peopleandblogs">Subscribe to People and Blogs</a></p> The Engagement Rehab - Ploum.net https://ploum.net/2025-02-27-engagement-rehab.html 2025-02-27T15:33:32.777Z <h1>The Engagement Rehab</h1> <p>I’ve written extensively, in French, about my quest to break my &quot;connection addiction&quot; by doing what I called &quot;disconnections&quot;. At first, it was only doing three months without major news media and social networks. Then I tried to do one full year where I would only connect once a day.</p> <p>This proved to be too ambitious and failed around May when the amount of stuff that required me to be online (banking, travel booking, online meetings, …) became too high.</p> <ul> <li><a href="/2025-02-11-deconnexion_parfaite.html">À la recherche de la déconnexion parfaite (ploum.net)</a></li> </ul> <p>But I’m not giving up. I started 2025 by buying a new office chair and pledging to never be connected in that chair. I disabled Wifi in the Bios of my laptop. To be online, I now need to use my laptop on my standing desk which has a RJ-45 cable.</p> <p>This means I can be connected whenever I want but I’m physically feeling the connection as standing up. There’s now a clear physical difference between &quot;being online&quot; and &quot;being in my offline bubble&quot;.</p> <p>This doesn’t mean that I’m as super productive as I was dreaming. Instead of working on my current book project, I do lots of work on Offpunk, I draft blog posts like this one. Not great but, at least, I feel I’ve accomplished something at the end of the day.</p> <p>Hush is addicted to YouTube and reflects on spending 28 days without it. Like myself, they found themselves not that much productive but, at the very least, not feeling like shit at the end of the day.</p> <ul> <li><a href="gemini://tilde.town/~hush/gemlog/2025-02-26.gmi">Reflection on Four Weeks without YouTube (hush)</a></li> </ul> <p>I’ve read that post because being truly disconnected forces me to read more of what is in my Offpunk. My RSS feeds, my toread list and many gemlogs. This is basically how I start every day:</p> <ul> <li><a href="gemini://offpunk.net/workflow_ploum.gmi">Ploum’s workflow with Offpunk</a></li> </ul> <p>I’ve discovered that between 20 and 25% of what I read from online sources is from Gemini. It appears that I like &quot;content&quot; on Gemini. Historically, people were complaining that there was no content on Gemini, that most posts were about the protocol itself.</p> <ul> <li><a href="/2022-10-05-there-is-no-content-on-gemini.html">There Is No Content on Gemini (ploum.net)</a></li> </ul> <p>Then there was a frenzy of posts about why social media were bad. And those are subtly replaced by some kind of self-reflection about our own habits, our owns addictions. Like this one about addiction to analytics:</p> <ul> <li><a href="gemini://drmollytov.flounder.online/gemlog/2025-02-27.gmi">analytics are risky business (drmollytov.flounder.online)</a></li> </ul> <p>That’s when it struck me: we are all addicted to engagement. On both sides. We like being engaged. We like seeing engagement on our own content. Gemini is an engagement rehab! </p> <p>While reading Gemini posts, I feel that I’m not alone being addicted to engagement, suffering from it and trying to find a solution.</p> <p>And when people in the real world starts, out of the blue, asking my opinion about Elon Musk’s latest declaration, it reminds me that the engagement addiction is not an individual problem but a societal one.</p> <p>Anyway, welcome to Gemini, welcome to rehab! I’m Ploum and I’m addicted to engagement.</p> <div class="signature"><p>I’m <a href="https://fr.wikipedia.org/wiki/Ploum">Ploum</a>, a writer and an engineer. I like to explore how technology impacts society. You can subscribe <a href="https://listes.ploum.net/mailman3/lists/en.listes.ploum.net/">by email</a> or <a href="/atom_en.xml">by rss</a>. I value privacy and never share your adress.</p> <p>I write <a href="https://pvh-editions.com/ploum">science-fiction novels in French</a>. For <a href="https://bikepunk.fr">Bikepunk</a>, my new post-apocalyptic-cyclist book, my publisher is looking for contacts in other countries to distribute it in languages other than French. If you can help, <a href="about.html">contact me</a>!</p> </div> Creativity - James' Coffee Blog https://jamesg.blog/2025/02/26/creativity/ 2025-02-26T23:12:25.525Z <p><em>“It’s hard to come up with ideas, and easy to give up” says Casey Newton, one of the characters in Tomorrowland says when asked why NASA is deconstructing a platform.</em></p> <p>It’s hard to come up with ideas. I feel this viscerally. I often ask myself the question <em>what’s next?</em> but rarely in those moments do ideas come. I have never been able to force ideas to come. Instead, it is after a conversation with friends, reading a thoughtful essay or a good book, or seeing something out in the world when I finally feel that spark of creativity after which the motivation to make something new follows. From learning about something new, or seeing something from a new perspective, I feel inspired.</p> <p>This evening, I thought to myself “my ideas manifest in different ways.” I have ideas for pages to add to my website. I have ideas on how I can reorganise my space to make it cleaner. I have ideas for new things to add to projects I am working on. I have already come up with many ideas that I can expand on! I don’t need to wait for a big idea; I need to nurture what I have, and do my best to learn as much as possible. To soak up knowledge.</p> <p>Feeling devoid of ideas may come from a place of stagnation – like I feel comfortable in a pattern but need to try something new to see new horizons. Perhaps it is from that frustration of feeling uninspired that I find the motivation to start asking different questions. Like this evening, when I started to think about all the ideas I do have that aren’t necessarily a blog post or a big new thing to work on; some are small, others are incremental, but all are meaningful to the creative part of my mind.</p> <ul> <li></li> </ul> <p>Lately I have been making <a href="https://jamesg.blog/explore">some pages on my website</a> devoted to specific topics, from hats I own to movies I like to validation tools I like to use. I have been thinking about this as a little web garden; a place to document information that is useful or interesting or relevant to me. I’m growing a new place that accompanies my blog posts. A place where my creativity is measured not by having a new blog post idea, but by expanding on what I have. I’m thinking about my website through a new-to-me lens. <em>Gardens and streams.</em> It’s not a new idea, but is new to me. I am keen to develop and apply my own take.</p> <p>I have opened my text editor several times recently, wondering what to write. I realise I am very much in an era where I want to do more web weaving – to create more web pages, to build my CSS skills, to play more with the web platform. <em>play</em> is essential. I am exploring realms that I have not yet traversed. I can make new things. I am learning tools that may guide what I make next.</p> <ul> <li></li> </ul> <p>I think I want to say to myself <em>I have ideas.</em> They may not be big and grand, but everything I make – from blog posts I write to pages I make to coding projects I take on – are manifestations of what was once an idea. Maybe something was created after a conversation with someone, or after noticing a problem I want to solve, or a desire to explore a topic I have been reading about in more depth.</p> <p>Part of building my self-confidence involves challenging the thoughts that make me feel like I am less capable of doing something. In doing so, the inner voice that says <em>I struggle to come up with ideas</em> might lessen. I can say, “sure, coming up with ideas is hard, but I have had lots of ideas! And I can always chat with a friend if I get stuck! And I can write a blog post about an idea even if it isn’t refined! And I don’t have to constantly be coming up with something new; listening to and learning from others is golden.”</p> <p>With every challenge of my negative thought patterns, I can see things from a new perspective.</p> <p><em>Yes, I can have ideas. Yes, I do have ideas.</em></p> <p>I am excited to keep gardening my website.</p> Coffee - James' Coffee Blog https://jamesg.blog/2025/02/25/coffee/ 2025-02-25T10:52:24.008Z <p><a href="https://jamesvandyne.com">James</a> shared with me a <a href="https://www.youtube.com/watch?v=H3j42AcWgag">coffee-themed episode of NHK World Japan’s Japanology series</a>. In the episode, the host explores the history of coffee in Japan, going back hundreds of years.</p> <p>The episode also draws the connection between the “third-wave” style of coffee and Japanese coffee culture. The pour-over style that is common among home brewers in the UK was heavily inspired by Japanese <em>kissaten</em>, where cups of coffee are made both by hand and to order. This made me think about how much I enjoy the craft of coffee: grinding the coffee, watching the coffee “bloom” as water is poured through the coffee grounds during the brewing process, and, finally, drinking the coffee. Pour-over coffee tastes great.</p> <p>This morning, I took a photo of my coffee brewing process, featuring the Orea coffee brewer that I have found to be particularly consistent in yielding a delicious cup of coffee, as well as my diner-style mug from Steampunk Coffee here in Scotland:</p> <p><img alt="An Orea coffee brewer in which coffee is being brewed, rested on top of a diner-style mug" src="https://jamesg.blog/assets/images/2025/02/coffee.jpeg"/></p> <p>I love making — and drinking — coffee!</p>