<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>hi, it&#39;s mike</title>
    <link>https://mike.puddingtime.org/tags/wallabag/</link>
    <description>Recent content on hi, it&#39;s mike</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <managingEditor>mike@puddingtime.org (mike)</managingEditor>
    <webMaster>mike@puddingtime.org (mike)</webMaster>
    <copyright>© 2026, mike</copyright>
    <lastBuildDate>Thu, 29 Feb 2024 20:33:53 -0800</lastBuildDate>
    <atom:link href="https://mike.puddingtime.org/tags/wallabag/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Daily notes for 2024-02-29</title>
      <link>https://mike.puddingtime.org/posts/2024-02-29-daily-notes/</link>
      <pubDate>Thu, 29 Feb 2024 20:33:53 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2024-02-29-daily-notes/</guid>
      <description>Trying out commafeed for RSS. Dropping Wallabag. A handy tiddlywiki plugin. The Fujifilm X100VI. What&amp;rsquo;s traditional IT?</description>
      <content:encoded><![CDATA[<h2 id="commafeed">Commafeed</h2>
<p>I have been giving <a href="https://www.commafeed.com">Commafeed</a> a try as my self-hosted RSS service. It&rsquo;s got a very simple presentation, decent keyboard shortcuts, presents the Fever API to RSS clients like Reeder, and has filtering capabilities (though I am having some challenges understanding their ins and outs).</p>
<p>The main issue I have with it is its somewhat limited set of sharing options, but that actually helped me decide to decommission Wallabag (which is not one of them). I&rsquo;ve found that pretty slow and not as easy to deal with as Pocket across platforms. I wanted to like it, but it&rsquo;s hard to justify for a kind of tool I&rsquo;m glad to have but don&rsquo;t feel a deep attachment to. So I&rsquo;m switching back to Pocket, and Commafeed works just fine with that.</p>
<h2 id="stories-for-tiddlywiki">Stories for Tiddlywiki</h2>
<p>The Stories plugin for Tiddlywiki lets you create a second column and divert tiddlers to it so you can have things side-by-side. I don&rsquo;t use it much for my personal wiki, but for my work wiki it&rsquo;s a great way to have my interstitial journal sitting open and ready in one column, and my active tiddler open in another.</p>
<p><a href="https://giffmex.org/stroll/stroll.html#%24%3A%2Fplugins%2Fsq%2FStories">This appears to be the closest to a link I can find</a>.</p>
<h2 id="fujifilm-x100vi">Fujifilm X100VI</h2>
<p>I am not made of stone. I preordered one. I <a href="https://pix.puddingtime.org/San-Francisco-SepAug-2023">took my X100V to San Francisco</a> a few months ago for a work trip and renewed my affection for the series. As with Portland, I much prefer the X100s to a larger ILC for street carry. I did keep thinking, as we walked around Chinatown at night, &ldquo;man, I wish this thing had IBIS.&rdquo; I still liked the shots I got, but you&rsquo;re managing harder tradeoffs. With any luck I didn&rsquo;t preorder too late to get one before next September, but we&rsquo;ll see.</p>
<p>I&rsquo;ve long held that the X100 series could stop iterating once it had weather resistance (solved with the V) and IBIS (solved now with the VI). I suspect a faster lens would make the bulk unacceptable, so I will not hold my breath on that one. I&rsquo;d like the series to match up batteries with the X-T series, too, but that might be another bulk issue, and I have accrued a collection of the WP-126S batteries between the X100F and X100V, so I&rsquo;m set. I have a very thin Wasabi charger that&rsquo;s great for travel. During my SF trip I had all-day walking around juice on the battery in the body and a pair of spares at the bottom of my sling.</p>
<p>I wonder if the X-Pro series ended with the X-Pro3. I liked mine a lot but also felt like the &ldquo;anti-chimping&rdquo; display was a little gimmicky, and it didn&rsquo;t have IBIS. Returning to a normal rear panel of some kind and IBIS would be great, but I&rsquo;m good with the X-T5 and not so hung up on the rangefinder-esque design that I&rsquo;d run out and buy an X-Pro4. And if I did, I&rsquo;d slap my nice 23mm on it and have &hellip; an X100 but a little bigger and more conspicuous and a few stops faster. Nope. I think the X100VI has the makings of a desert island camera.</p>
<h2 id="work">Work</h2>
<p>Today was IT steering committee day. I was asked if I thought my crew does more or less than traditional IT. Interesting question. My current place sells SaaS, my last place had a lot of on-prem estate (and a hyper-overbuilt network given the size and nature of the business).</p>
<p>At my last place I presided over the last of a desultory teasing apart of corporate IT and something we called &ldquo;SRE&rdquo; for a period before settling on &ldquo;developer services.&rdquo; For reasons I will avoid enumerating, we had some struggles with that teasing apart that persisted over four years &ndash; I left engineering, did IT, went back to engineering, then went <em>back</em> to IT one more time. Each time I&rsquo;d chip at the problem from my new perch. It all came down to loosening some death grips in IT, reassuring corporate security that the engineers wouldn&rsquo;t wrap the car around a tree, and eventually just being a little bit of a prick with the one remaining IT person who felt it right and proper to require security engineering to petition for log dumps so they could audit their own services.</p>
<p>&ldquo;If you make him give them self-serve access to Splunk, he&rsquo;ll quit,&rdquo; warned the manager I had over that team.</p>
<p>&ldquo;Well, good. He needs to be this tall to ride. If he can&rsquo;t handle letting people see logs for their own services, this is probably for the best.&rdquo;</p>
<p>I wrote a memo (the only &ldquo;Mike uses his directorial <em>ex-cathedra</em> voice&rdquo; memo I&rsquo;ve ever written) explaining that everyone needed to be <em>this</em> tall to ride. He couldn&rsquo;t handle it and quit. Wasn&rsquo;t tall enough to ride.</p>
<p>Anyhow, I have a lot less complexity to deal with at the current place. There are still some weird &ldquo;why does this route through IT&rdquo; issues that pop up, but they&rsquo;re pretty easily resolved by visiting my security colleagues and asking &ldquo;did we do this for a reason&rdquo; (seldom) and then asking engineering &ldquo;would you like to remove me as an external dependency?&rdquo; (usually, but sometimes I wonder if they think I&rsquo;m trying to trick them).</p>
<p>What it amounts to is an interesting inversion of value. When I presented today about the year&rsquo;s big initiatives it was mostly about portfolio governance, access management, and providing administrative uplift to the vendor management process. We still have to deal with traditional IT admin stuff, but it&rsquo;s pretty contained. Not nearly as sprawling and perilous as it was at the last place.</p>
<p>Anyhow, &ldquo;traditional for where&rdquo; is the real answer. I&rsquo;m glad to be doing my job in a context and era where the parts that are simple and the parts that are complex have sort of shifted around.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily Notes for 2024-02-05</title>
      <link>https://mike.puddingtime.org/posts/2024-02-05-daily-notes/</link>
      <pubDate>Mon, 05 Feb 2024 00:00:00 +0000</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2024-02-05-daily-notes/</guid>
      <description>Poking at Logseq. Dusting off the camera. Wallabag bookmarking script.</description>
      <content:encoded><![CDATA[<h2 id="logseq">Logseq</h2>
<p>Poking around with note-taking options, I finally came back around to Logseq, which I&rsquo;ll reduce to &ldquo;org-mode and Workflowy gang up on Obsidian.&rdquo;</p>
<p>I was primed to not like it, but the org-mode syntax option and some relatively strong opinions about how things should be were compelling enough that I played around with it, then tried to implement a <a href="https://fortelabs.com/blog/para/">PARA</a>-like structure, then watched a few videos to try to internalize how it wants you to behave.</p>
<p>The page link syntax is interesting. You can do either a traditional wikilinks double-brackets, or you can use <kbd>#hashtag</kbd> notation to link to a page, which &ndash; thanks to the inbound links section of each page &ndash; serves as a tag index.</p>
<p>Logseq solves the blank page problem by &hellip; well, it sort of doesn&rsquo;t. It&rsquo;s opinionated enough about its &ldquo;everything is an outline, every line is a node&rdquo; thing, as well as its &ldquo;start from a journal page each day&rdquo; thing, that you can tell it wants you to do something besides &ldquo;make a page and start typing,&rdquo; but you can&rsquo;t be sure what.</p>
<p>I ended up deciding to just go with it. Sitting in the living room, staring at the blank daily journal page, I just made a node in the outline for the first thing that came to mind and dumped out my big projects and OKRs for the coming quarter. Then I dumped a packing list for a trip this week. Then some miscellaneous tasks to get done before I fly out.</p>
<p>Entering tasks, then thinking ahead to how I&rsquo;d find them once I moved on to a new journal page the next day, led me to the <a href="https://github.com/QWxleA/Unfinished-business">Unfinished Business</a> plugin, which will roll yesterday&rsquo;s todos into today&rsquo;s journal page. I think there are other ways to gather todos but my initial read of journal page todos vs. project or area todos is that they should be more ephemeral and bound to the day.</p>
<p>But I guess my summary, having messed around with this for all of 18 hours, and after a morning of using it for work, is that Logseq is very, very into the non-hierarchical, &ldquo;networked notes&rdquo; approach. It wants structure to be a matter of emergence.</p>
<p>Its main competitor for my attention is Denote, which is more of a collection of Legos with opinions that are less about your workflow and more about the metadata. I like the way Logseq provides a built-in backlink block automatically, though I could implement that with a capture template for Denote.  I like Logseq&rsquo;s more wiki-ish page creation conventions. I like that there&rsquo;s a mobile app devoted to Logseq&rsquo;s point of view, as opposed to the general-purpose mobile org clients.</p>
<p>It&rsquo;s important, for org-mode people, to not go into this thinking it&rsquo;s &ldquo;org-mode with a native toolkit GUI.&rdquo; You can use org-mode syntax in a list. There are some familiar org-mode conventions (e.g. src blocks). If you like everything being an outline, as in org-mode, you&rsquo;ll be in familiar territory. But there&rsquo;s a layer of plumbing that finds its way into the markup that org-mode is not going to make sense of if you ever depart Logseq. It&rsquo;s instructive to set up a few pages where you&rsquo;re transcluding nodes, etc. and then open those pages in Emacs to see what it does with them. In some cases, it can&rsquo;t do anything because Logseq has its own markup overlay.</p>
<h2 id="dusting-off-the-camera">Dusting off the camera</h2>
<p>I&rsquo;ll be in Vancouver, BC this week for a work event, then staying over for a few days to do some tourism. Given the time of year and likely subject matters it&rsquo;s an X-T5 kind of week. I&rsquo;m just taking the 23mm/f1.4 WR. I considered the X100V, but I&rsquo;d like the extra speed and the image stabilization.</p>
<p>I have not been very excited about photography lately, but the prospect of a new place and interesting scenery got me a little more excited. Looking forward to being out on the streets at night.</p>
<h2 id="wallabag-bookmarking-script">Wallabag bookmarking script</h2>
<p>I submitted a PR for my <a href="https://github.com/newsboat/newsboat/tree/master/contrib/wallabag">Newsboat Wallabag bookmarking script</a>. As with the Newsboat one, you can just run it from the command line, too, if you&rsquo;re interested in some pre-written plumbing for Wallabag bookmarking. Just takes a URL as ARGV[0] and lets the Wallabag service pull all the metadata.</p>
]]></content:encoded>
    </item>
    <item>
      <title>State of the self-host</title>
      <link>https://mike.puddingtime.org/posts/2024-02-04-state-of-the-self-host/</link>
      <pubDate>Sun, 04 Feb 2024 00:00:00 +0000</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2024-02-04-state-of-the-self-host/</guid>
      <description>What has stuck and what has not from recent self-hosting experiments.</description>
      <content:encoded><![CDATA[<p>I&rsquo;ve tried a bunch of self-hosted things recently. In the spirit of &ldquo;yeah, but how is it <em>really</em> working,&rdquo; a quick rundown:</p>
<h2 id="linkding">Linkding</h2>
<p><a href="https://github.com/sissbruecker/linkding">Linkding</a> is a bookmarking tool. It has a UI similar to pinboard.in, can import <kbd>bookmarks.html</kbd> files, and has a decent API. It&rsquo;s working very well. I&rsquo;m particularly fond of the <a href="https://github.com/fivefold/linkding-injector">Linkding injector addon for Firefox</a>, which injects Linkding search results into the sidebar of most popular search engines.</p>
<p>This one seems to be a keeper.</p>
<p>I briefly considered <a href="https://github.com/shaarli/Shaarli">shaarli</a> as an alternative. I didn&rsquo;t like the UI as much, but it has a bigger list of third-party extensions than Linkding.</p>
<h2 id="wallabag">Wallabag</h2>
<p><a href="https://wallabag.org/">Wallabag</a> is a self-hosted Pocket alternative. It also has a useful API, an iOS app, and a Firefox extension. I wasn&rsquo;t too sure about this one going in, but once I got the Docker stuff and some reverse proxy weirdness sorted it worked quite well. It has a few more smarts than Pocket, and it provides Atom feeds of simplified articles you can use to create ebook digests via Calibre or just consume with your everyday RSS reader, given the formatting is cleaned up.</p>
<p>It also lets you share <a href="https://reader.puddingtime.net/share/65bff5347b9932.42547178">a public-facing version of a saved article</a>, and its clipper extension seems to be able to see around a few paywalls if you&rsquo;re <a href="https://reader.puddingtime.net/view/176">saving from a subscription site</a>.</p>
<p>I think this one is a keeper given I can automate the ebook exports: That essentially recreates the Pocket/Kobo integration.</p>
<h2 id="calibre-web">calibre-web</h2>
<p><a href="https://github.com/janeczku/calibre-web">calibre-web</a> is a HTML5 front-end for Calibre libraries that allows you to edit metadata, organize your ebook collection into shelves and, most importantly to me, act as an online sync source for Kobo e-readers, allowing you to browse your collection and download to your Kobo, then keep your reading location in sync.</p>
<p>Some people live in calibre-web full-time, uploading ebooks and managing their metadata. I prefer to pair it with Calibre itself due to an ongoing content conversion project.</p>
<p>It&rsquo;s definitely a keeper. I recovered a ton of books from another device and converted them to Kobo-friendly epubs. Better yet, when downloaded to a Kobo, calibre-web serves up kepubs, which are optimized for Kobos.</p>
<h2 id="calibre">Calibre</h2>
<p><a href="https://calibre-ebook.com/">Calibre</a> is an ebook conversion/management tool, ordinarily used on the desktop. I found <a href="https://mariushosting.com/how-to-install-calibre-on-your-synology-nas/">a Docker recipe</a> that lets me run it on my Synology and access it via a web-based VNC tool. With a little fiddling, I added mountpoints that let me install downloaded extensions and import books from a <kbd>bookdrop</kbd> directory as I pull them down from their assorted vendor sites.</p>
<p>It works alongside calibre-web, allowing me to install books from assorted formats and export them to epub, where they&rsquo;re almost instantly available from the calibre-web web interface or Kobo integration.</p>
<p>Even if sync didn&rsquo;t work, you can access a content server that uses the <a href="https://en.wikipedia.org/wiki/Open_Publication_Distribution_System">OPDS protocol</a> for browsing. So with a reverse proxy and authenticated user, you can get at your library from anywhere and side-load books to your reader.</p>
<p>I&rsquo;m going to keep the Dockerized version.</p>
<h2 id="vikunja">Vikunja</h2>
<p><a href="https://vikunja.io/">Vikunja</a> is a todo app that includes a traditional list view and a card view. It serves up CalDAV, so it could theoretically work with any CalDAV client, but its doesn&rsquo;t work well with iOS Reminders. The responsive Web UI isn&rsquo;t bad if you want to install it to your iPhone desktop.</p>
<p>I installed it and tried it for a day, but I am not sure about it. I&rsquo;m a little uneasy about self-hosting my todos, and was hoping for some kind of native client.</p>
<h2 id="joplin">Joplin</h2>
<p><a href="https://joplinapp.org/">Joplin</a> is an Evernote-esque app with a ton of cross-platform support that I couldn&rsquo;t quite bring myself to trust in a self-hosted context.  It&rsquo;s a good tool and all, but I&rsquo;d prefer to just have my notes in a plaintext, version-controlled setup.</p>
<h2 id="mariushosting">MariusHosting</h2>
<p><a href="https://mariushosting.com/">MariusHosting</a> isn&rsquo;t an app, it&rsquo;s a site run by Marius Lixandru with a ton of recipes for Dockerizing common self-hosted apps on a Synology. It&rsquo;s my first stop when I want to try something out. I was resistant to a lot of his earlier stuff because he had an idiosyncratic way of getting containers set up, but he has since begun to use <a href="https://mariushosting.com/synology-portainer-vs-container-manager/">Portainer</a> for his recipes, which has simplified them a lot. If you find a Docker recipe that uses <kbd>docker run</kbd>, you can convert that to Docker Compose with <a href="https://www.composerize.com/">composerize</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>A Wallabag bookmarking script for Newsboat</title>
      <link>https://mike.puddingtime.org/posts/2024-01-29-a-wallabag-bookmarking-script-for-newsboat/</link>
      <pubDate>Mon, 29 Jan 2024 00:00:00 +0000</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2024-01-29-a-wallabag-bookmarking-script-for-newsboat/</guid>
      <description>Ruby and httparty worked where a simple bash script wouldn&amp;rsquo;t. Letting Newsboat have two bookmarking commands.</description>
      <content:encoded><![CDATA[<p>I don&rsquo;t have any idea what was going wrong where, but I found a &ldquo;post to Wallabag&rdquo; (<a href="/posts/2024-01-28-daily-notes/">previously</a>) sh script that worked great from the command line, but wouldn&rsquo;t run within Newsboat. So I took the script apart, converted it to Ruby/httparty, and it runs fine in this form.</p>
<p>Now I have two scripts for bookmarking in Newsboat, but it only has one reserved key for bookmarking a post. It does have macros, though, so you can use one to set the bookmarking command to a given script and bind it to something memorable. My mutt convention is to lead macros with a period, so I kept that here by unbinding Newsboat&rsquo;s default macro prefix (,) and setting &ldquo;.&rdquo;.</p>
<p>So, <kbd>.l</kbd> to save to Linkding, <kbd>.w</kbd> to save to Wallabag:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># macros</span>
</span></span><span class="line"><span class="cl">bind-key . macro-prefix
</span></span><span class="line"><span class="cl">unbind-key ,
</span></span><span class="line"><span class="cl">macro w <span class="nb">set</span> bookmark-cmd <span class="s2">&#34;op run --env-file=\&#34;</span><span class="nv">$HOME</span><span class="s2">/.env\&#34; -- ~/bin/wallabag.rb&#34;</span><span class="p">;</span> bookmark
</span></span><span class="line"><span class="cl">macro l <span class="nb">set</span> bookmark-cmd <span class="s2">&#34;op run --env-file=\&#34;</span><span class="nv">$HOME</span><span class="s2">/.env\&#34; -- ~/bin/linkding.rb&#34;</span><span class="p">;</span> bookmark</span></span></code></pre></div>
<p>And here&rsquo;s the Wallabag bookmarking script:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-ruby" data-lang="ruby"><span class="line"><span class="cl"><span class="ch">#!/usr/bin/env ruby</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">require</span> <span class="s1">&#39;httparty&#39;</span>
</span></span><span class="line"><span class="cl"><span class="nb">require</span> <span class="s1">&#39;json&#39;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">entry_url</span> <span class="o">=</span> <span class="no">ARGV</span><span class="o">[</span><span class="mi">0</span><span class="o">]</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">wallabag_url</span><span class="o">=</span><span class="s2">&#34;https://reader.example.net&#34;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">client_id</span> <span class="o">=</span> <span class="no">ENV</span><span class="o">[</span><span class="s1">&#39;WALLABAG_CLIENT&#39;</span><span class="o">]</span>
</span></span><span class="line"><span class="cl"><span class="n">client_secret</span> <span class="o">=</span> <span class="no">ENV</span><span class="o">[</span><span class="s1">&#39;WALLABAG_SECRET&#39;</span><span class="o">]</span>
</span></span><span class="line"><span class="cl"><span class="n">username</span> <span class="o">=</span> <span class="no">ENV</span><span class="o">[</span><span class="s1">&#39;WALLABAG_USER&#39;</span><span class="o">]</span>
</span></span><span class="line"><span class="cl"><span class="n">password</span> <span class="o">=</span> <span class="no">ENV</span><span class="o">[</span><span class="s1">&#39;WALLABAG_PASSWORD&#39;</span><span class="o">]</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">token_params</span> <span class="o">=</span> <span class="p">{</span><span class="ss">grant_type</span><span class="p">:</span> <span class="s2">&#34;password&#34;</span><span class="p">,</span> <span class="ss">client_id</span><span class="p">:</span> <span class="n">client_id</span><span class="p">,</span> <span class="ss">client_secret</span><span class="p">:</span> <span class="n">client_secret</span><span class="p">,</span> <span class="ss">username</span><span class="p">:</span> <span class="n">username</span><span class="p">,</span> <span class="ss">password</span><span class="p">:</span> <span class="n">password</span><span class="p">}</span>
</span></span><span class="line"><span class="cl"><span class="n">token_req</span> <span class="o">=</span> <span class="no">HTTParty</span><span class="o">.</span><span class="n">post</span><span class="p">(</span><span class="s2">&#34;</span><span class="si">#{</span><span class="n">wallabag_url</span><span class="si">}</span><span class="s2">/oauth/v2/token&#34;</span><span class="p">,</span> <span class="ss">body</span><span class="p">:</span> <span class="n">token_params</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">access_token</span> <span class="o">=</span> <span class="n">token_req</span><span class="o">[</span><span class="s2">&#34;access_token&#34;</span><span class="o">]</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">headers</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;Content-Type&#39;</span> <span class="o">=&gt;</span> <span class="s2">&#34;application/json&#34;</span><span class="p">,</span> <span class="s1">&#39;Authorization&#39;</span> <span class="o">=&gt;</span> <span class="s2">&#34;Bearer </span><span class="si">#{</span><span class="n">access_token</span><span class="si">}</span><span class="s2">&#34;</span><span class="p">}</span>
</span></span><span class="line"><span class="cl"><span class="n">params</span> <span class="o">=</span> <span class="p">{</span><span class="ss">url</span><span class="p">:</span> <span class="n">entry_url</span><span class="p">,</span> <span class="ss">starred</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="ss">archive</span><span class="p">:</span> <span class="mi">0</span><span class="p">}</span>
</span></span><span class="line"><span class="cl"><span class="n">resp</span> <span class="o">=</span> <span class="no">HTTParty</span><span class="o">.</span><span class="n">post</span><span class="p">(</span><span class="s2">&#34;</span><span class="si">#{</span><span class="n">wallabag_url</span><span class="si">}</span><span class="s2">/api/entries.json&#34;</span><span class="p">,</span> <span class="ss">body</span><span class="p">:</span> <span class="n">params</span><span class="o">.</span><span class="n">to_json</span><span class="p">,</span> <span class="ss">headers</span><span class="p">:</span> <span class="n">headers</span><span class="p">)</span></span></span></code></pre></div>
]]></content:encoded>
    </item>
    <item>
      <title>Daily Notes for 2024-01-28</title>
      <link>https://mike.puddingtime.org/posts/2024-01-28-daily-notes/</link>
      <pubDate>Sun, 28 Jan 2024 00:00:00 +0000</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2024-01-28-daily-notes/</guid>
      <description>Wallabag is a self-hosted Pocket alternative. Recreating the Pocket/Kobo integration with it.</description>
      <content:encoded><![CDATA[<h2 id="wallabag-is-a-self-hosted-read-it-later-alternative">Wallabag is a self-hosted read-it-later alternative</h2>
<p>I am a fairly satisfied Pocket customer, but it&rsquo;s always fun to mess around with potential alternatives. <a href="https://github.com/wallabag/wallabag">Wallabag</a> is one such alternative. It is, er, very much like Pocket, but you host it yourself. It might be I have found a self-hosting frontier, though. I have <a href="https://github.com/sissbruecker/linkding">Linkding</a>, which is very pinboard-like and more to my taste for bookmark management generally, but I need to experiment with a few of its integrations to see if maybe it can do everything I want.</p>
<p>Installation on my Synology was pretty easy. I <a href="https://mariushosting.com/how-to-install-wallabag-on-your-synology-nas/">followed a Docker recipe</a>, plumbed it into my reverse proxy, and it&rsquo;s &hellip; fine? Very Pocket-like. There&rsquo;s an iOS app. There are Firefox apps. It provides custom Atom feeds for your new, unread, archived, and starred items. It also provides <a href="https://reader.puddingtime.net/share/65b71018c68134.90575120">public URLs to items you&rsquo;ve saved</a> to share with others, which is considerate.  You can write rules to label your content based on domain, URL, title, reading time, and more.</p>
<p>I like the custom Atom feeds, because you can just subscribe to them in an RSS reader and you have access to a cleanly formatted full-text version in your reader, so you don&rsquo;t have to use Wallabag to read your stuff.</p>
<h2 id="wallabag-and-calibre">Wallabag and Calibre</h2>
<p>You can also subscribe to those feeds in Calibre, which will make a daily digest epub suitable for reading on an e-reader. With my Calibre-Web/Kobo integration, I can recreate the Kobo/Pocket integration by making Wallabag &ldquo;books&rdquo; that appear in Calibre-Web and sync to my Kobo.</p>
<p>Is it important to not use Pocket anymore? I don&rsquo;t think so? I don&rsquo;t mind replacing pinboard.in because I&rsquo;m not super sure about its future. Pocket seems fine and I don&rsquo;t ever treat RIL services as an important long-term storage thing. I tend to get to my list pretty quickly or use a skill I developed of just deleting stuff when I realize I don&rsquo;t really want to read it anymore.</p>
<p>The Kobo integration is what makes it seem most compelling, but it could be I can manage that with Linkding&rsquo;s RSS feeds, as well. I need to make a news download for Calibre and test.</p>
<p>In the meantime, Wallabag also has an API, so I will see about repurposing my Linkding Newsboat plugin to use my Wallabag instance with Newsboat.</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
