<?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/pikapod/</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, 18 Jan 2024 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://mike.puddingtime.org/tags/pikapod/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Daily Notes for 2024-01-18</title>
      <link>https://mike.puddingtime.org/posts/2024-01-18-daily-notes/</link>
      <pubDate>Thu, 18 Jan 2024 00:00:00 +0000</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2024-01-18-daily-notes/</guid>
      <description>I snarl because I care. In which PikaPods and Calibre-Web teach Mike there&amp;rsquo;s a 308 redirect.</description>
      <content:encoded><![CDATA[<h2 id="i-snarl-because-i-care">I snarl because I care</h2>
<iframe src="https://social.lol/@mph/111777506556037969/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="400" allowfullscreen="allowfullscreen"></iframe><script src="https://social.lol/embed.js" async="async"></script>
<p>Every time I post a critique like this I feel like I&rsquo;m looking over my shoulder a little. It&rsquo;s an election year, everyone&rsquo;s on edge, and there is just this vibe about it all that is <em>intense</em>.</p>
<p>I&rsquo;m not going to try to paper over or sugarcoat my political leanings: Pretty &ldquo;left,&rdquo; in the basic political parlance. Not a Republican. Not a &ldquo;centrist.&rdquo; Not a &ldquo;moderate.&rdquo; Not a &ldquo;right-winger,&rdquo; &ldquo;fascist,&rdquo; or whatever.</p>
<p>Behaviorally, I vote Democratic, but I do not believe that it&rsquo;s my obligation to &ldquo;create unity&rdquo; during primaries, and I don&rsquo;t think the Democratic party represents my views or even really my interests in any &ldquo;forward progress&rdquo; sense of the word.</p>
<p>Ideologically, I don&rsquo;t like picking any label because I have been thinking about those labels for decades on decades and have seldom seen them actually help anyone be more clear on what anyone else believes. If I had to pick one, I&rsquo;d stick to &ldquo;socialist.&rdquo; But I was once on the national committee of a socialist organization I do not care to name and understood very clearly the vast daylight between me and any number of other &ldquo;socialist&rdquo; organizations. We even joked among ourselves that we got a small hoot out of people believing we were probably just sort of into European-style healthcare and better emissions control.</p>
<p>And I don&rsquo;t like the labels because I believe that you are what you do, not what you say you are. I really appreciate the phrase &ldquo;my political commitments&rdquo; as opposed to &ldquo;my political beliefs,&rdquo; because the idea of &ldquo;commitments&rdquo; naturally invites the question &ldquo;if they&rsquo;re commitments, what are you doing about them?&rdquo; That&rsquo;s a reminder for me, personally, when I think about opening my mouth on this stuff.</p>
<p>But even &ldquo;left&rdquo; and &ldquo;right&rdquo; have issues, as do &ldquo;conservative&rdquo; and &ldquo;liberal.&rdquo; We use those terms and there&rsquo;s some rough agreement, but I&rsquo;d much rather understand what someone is trying to <em>do</em> than understand some taxonomy of labels when these words are doing all kinds of work and mean so many things.</p>
<p>But when I snark about the cascading system failures going on around me, it&rsquo;s not because I think we&rsquo;d be better off with Republicans in charge. It&rsquo;s because I think the people who are in charge are failing us, and a. <em>they&rsquo;re in charge</em>, b. I don&rsquo;t <em>care</em> if they&rsquo;re the home team because they still need to be held accountable at the next opportunity (primaries, which is why believing primaries are for beating the base into alignment is a position you&rsquo;d expect the people who want to keep power to take), and c. no, they&rsquo;re not left enough for me. We should be building government housing and socializing healthcare.</p>
<p>My disgust with that pull quote up at the top is pretty simple: On what planet is &ldquo;enlightened&rdquo; a useful policy platform? Who <em>cares</em> what leaders <em>say</em>? What are they <em>doing</em>? Is there anything more Peak Portland Liberal than &ldquo;well, we know better so it&rsquo;s odd that things aren&rsquo;t working out.&rdquo;</p>
<h2 id="pikapods-and-calibre-web-again-dot">PikaPods and Calibre-Web again.</h2>
<p>I did all the setup on my PikaPod and Calibre-Web to get it talking to my Kobo and &hellip; something was very wrong. Sync wasn&rsquo;t working, none of the books in my collection were showing up as download candidates, etc. I remounted my Kobo and rolled back the config change that pointed it at the Calibre-Web API in favor of the Kobo store API and went to bed mildly disappointed but deciding there are worse things in the world than sideloading my entire library of ebooks onto a device I update once every five or eight years.</p>
<p>This morning it turned out it was bothering me more than I had let on to myself. One discrepancy I noticed was that most docs expect the service to be listening on <kbd>:8083</kbd>, but the URL it was generating in the UI was going to hit <kbd>:80</kbd>. When I did a straight <kbd>curl</kbd> I got &hellip; nothing. So I <kbd>curl -v</kbd>&rsquo;d the PikaPod with <kbd>:8083</kbd> and got &hellip; nothing again. So back to <kbd>:80</kbd> with <kbd>-v</kbd> and &hellip; oh &hellip; Calibre-Web&rsquo;s handy little &ldquo;paste this line into your Kobo config&rdquo; field was providing an unsecured URL and curl was stopping on a 308 redirect to the secured URL.  I guess <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/308">308 is implemented inconsistently</a>, because it should have simply redirected to the secured URL with the request intact. I&rsquo;ve never even seen a 308, but my education in redirects stopped decades ago with an SEO cleanup.</p>
<p>Anyhow, <kbd>curl -v</kbd> to the secured URL with no port qualifier told me curl and the API were talking, so I remounted the Kobo, changed the config to point to the PikaPod&rsquo;s API endpoint and now there&rsquo;s ping. Plus a ton of duplicate books, because Calibre-Web is configured to serve up a <kbd>.kepub</kbd> (a Kobo-specific epub variant more amenable to location sync) as well as any <kbd>.epub</kbd> it can find, and I didn&rsquo;t take the time to narrow that down.</p>
<p>At least I can start the work day knowing the most mysterious part is working.</p>
<h2 id="say-what-again">Say what again?</h2>
<p><a href="https://pikapods.com">PikaPods</a> is a web service that lets you host common/popular webapps. It&rsquo;s pretty neat: You pick one, click the little deploy button, and it fires up a container with its own URL and the option to point a CNAME at it, plus instructions on enabling sftp connections if you need them. <a href="https://github.com/janeczku/calibre-web">Calibre-Web</a> is one of the services PikaPod will host for you. It&rsquo;s an online ebook library that works with <a href="https://calibre-ebook.com/">Calibre</a>, a popular means of converting ebook formats. Among its other capabilities, Calibre-Web can serve up your library to a Kobo device and manage location sync between all the clients. A nominally loaded PikaPod running Calibre-Web is supposed to cost only a couple of bucks a month, and the billing is all metered.</p>
<p>I gave PikaPod a try because the instructions for getting a Calibre-Web container to run on my Synology were all so impenetrable that I decided there had to be a better way. Ironically, by the time I had the PikaPod running I understood what I was getting wrong with the self-hosted containers. So there&rsquo;s a chance my inner autodidact will have no rest until I have my half-assembled container working correctly.</p>
<p>But PikaPod is cool.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily Notes for 2024-01-17</title>
      <link>https://mike.puddingtime.org/posts/2024-01-17-daily-notes/</link>
      <pubDate>Wed, 17 Jan 2024 00:00:00 +0000</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2024-01-17-daily-notes/</guid>
      <description>Calibre-Web, Pikapod, paying for books. Small regrets. Patched patch.</description>
      <content:encoded><![CDATA[<h2 id="calibre-web">Calibre-Web</h2>
<p>I have a Synology with Docker on it, plus a bunch of community packages for assorted things and it&rsquo;s &hellip; fine. But people have been talking about this <a href="https://pikapods.com">Pikapods</a> thing so I gave it a spin with <a href="https://github.com/janeczku/calibre-web">Calibre-Web</a> as my test case. Right now I&rsquo;m at the &ldquo;got ping&rdquo; stage with it: It is up, configured, and sees my library, and I just figured out how to make it put a missing cover on a book.  I have not yet turned to getting my Kobo to talk to it, but omg I cannot wait to get my Kobo talking to it, because I think e-ink readers are both the best and worst technology I ever adopted, and I have a tool now that will allow me to make right the parts of that adoption that bother me the worst.</p>
<p>Stake whatever territory you want on the copyright front. I am an inconsistent hypocrite. In this particular use case, I am a hypocrite who happens to pay:</p>
<p>I supported my family for years with my writing. The person you read on these pages probably doesn&rsquo;t seem like it.  I am no longer a craftsman or a stylist. I am just this guy who still finds an outlet and a release in writing, but who does not really edit himself, and who understands that time-shifted 20 years give or take I might be the proprietor of the world&rsquo;s least listened to podcast or most unwatched YouTube channel. Writing is just the way I tell eight or nine people a day what I&rsquo;m into right now, and I deeply believe text you can skim is more <em>considerate</em> than forcing you to scrub  through a bunch of recorded rambling and ill-conceived attempts to force you into a parasocial connection.</p>
<p>But I pay. I pay for newspapers, I pay for newsletters, and I buy every single book I read (that I&rsquo;m not getting from the library). When my team found an open NFS mount full of O&rsquo;Reilly books on an old Solaris box in the back of a DC,  it was an easy decision to say &ldquo;failing disk, mount it <kbd>ro</kbd> and serve notice that it is leaving us&rdquo; because I was never so entrepreneurial or talented that I could afford the vanity of just giving my shit away: I had to sell it to someone if I didn&rsquo;t want to go back to soldiering or doing secretary work to eat. You go fight Big Content, and I get it, but I will also pay.</p>
<p>So this isn&rsquo;t me cackling and chortling because &ldquo;fuck paying for books and now I don&rsquo;t have to.&rdquo; Looking over what&rsquo;s in my new Pikapod, I&rsquo;m pretty sure I&rsquo;ve even paid twice for a big chunk of what&rsquo;s in there.</p>
<p>I&rsquo;m cackling and chortling because I&rsquo;m free of doing business with an entity I wish I hadn&rsquo;t. I don&rsquo;t care about the law, I care about what&rsquo;s right, and I bought every one of those books, so my duty to &ldquo;right&rdquo; is discharged.</p>
<h2 id="work">Work</h2>
<p>I bit off more than I can chew today. If anyone writes my biography, this is gonna be a weird exception to a largely prosaic and staid track record of &ldquo;safety first, move with deliberation.&rdquo;</p>
<p>But I bit off more than I can chew because I picked a dumb industry to work in, and I occasionally feel the need to thwart expectations and try out the whole &ldquo;break glass&rdquo; thing before retreating to my home position.</p>
<p>Just putting it on the record so you know who you&rsquo;re recommending when you see me asking for help with references: Occasionally I&rsquo;ll surprise you. It is not my intent to also terrify you.</p>
<h2 id="braus">braus</h2>
<p>I realized after pulling it down to my second machine that I didn&rsquo;t actually push my QoL changes to <a href="https://github.com/pdxmph/braus">my braus fork</a>. Fixed that.</p>
<p>Okay. Done. Time to get the Pikapod talking to my Kobo.</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
