L. Rhodes

Links and notes

“The concept of liberal democracy became possible only when theorists — first a few and then most liberal theorists — found reasons for believing that 'one man, one vote' would not be dangerous to property, or to the continuance of class-divided societies.” — C.B. Macpherson, The Life and Times of Liberal Democracy

By author Zachary D. Carter's own admission, Friedman's economic ideas should have died an ignominious death with the Great Recession of 2008, so it remains to be seen whether the Biden presidency really signals the end of their dominance in American political life. Nevertheless, this is a really solid crash course on the career of a thinker who eschewed the conservative label even as he shook the hands, joined the campaigns and cashed the checks of segregationists on the fringe right. https://newrepublic.com/article/162623/milton-friedman-legacy-biden-government-spending

As part of its steady march toward version 1.0, Writefreely is gradually expanding ActivityPub support. For now, I can push full posts out to federated platforms, like Pleroma and Mastodon, but I can't pull in responses to those posts. The planned solution (as I understand it) is Remark.as, not yet in release. The interim solution, it seems, is to use Writefreely's integration of ActivityPub mentions to alert a Mastodon-native account whenever a post gets a reply. So for the time being, if you reply to one of my posts, you should expect my response to come from my account @lrhodes@merveilles.town.

Does this sound familiar? You open an article synced to your Kobo reader via Pocket and find that the text is almost unreadably small. You increase the font size, read the article, then flip over to the book you've been reading. Now the text is huge. You adjust the font size again, and the next time you open an article the text is back to miniscule.

It's a minor issue, maybe, but all of that fiddling with font sizes grates over time. After putting up with it for far too long, I finally resolved to find a solution. The breakthrough came with realizing that the problem was specific to sideloaded books — that is, books downloaded to my computer and transferred to the Kobo via USB or WiFi, rather than synced from Pocket, Overdrive, or the Kobo storefront. Now why would that be?

The answer is that the sideloaded texts were all .epub files. Kobo devices can read .epub files, of course, but they prefer to work with an extended version called .kepub — Kobo Epub. The .kepub format allows for a number of features, like highlight annotation and pop-up footnote previews, but the operative feature in this case is that the format allows the Kobo's user settings to override the font size in the book's embedded stylesheet. When displaying an .epub, the Kobo engine (Nickel) appears to add the custom font size to the font size set by the embedded stylesheet, which is why the text ended up being so large. Not the expected behavior! Covert the .epub to .kepub, and suddenly custom sizing works across the board.

Conversion can be handled in a couple of ways. Calibre, the Swiss Army knife of ebook managers, can do it. If you're comfortable using the command line, though, a more straightforward solution is kepubify, a succinct little package built for the sole purpose of making that specific conversion.

Using kepubify to convert books before importing them to my Kobo vastly improved the reading experience, but it potentially creates a lot of extra work. Converting books on a file-by-file basis would be tedious. If I didn't want to tidy up after every conversion, it would also effectively double the amount of storage space my ebooks took up on my computer. The obvious next step was to find some way to automate or streamline the process.

A few strategies sprang to mine, but after a bit of testing, the one I settled on was to convert the files directly onto the Kobo. I did that with the following shell script:

kepubify --output /path/to/Kobo/volume --update --copy .pdf /path/to/sideloading/folder

kepubify calls the package. --output sets the destination folder, so setting it to the path created when I mount my Kobo as an external volume directs the converted files to the device. --update tells the script to ignore previously converted files, so that only newly added books get converted. --copy .pdf ensures that also kepubify transfers any PDF files to the destination folder without attempting to convert them. And that last path is to a folder I set up as a staging ground for conversion. I saved that script (with actual paths rather than the placeholders here) in the parent folder alongside the staging folder, used chmod a+x scriptname to make it executable, and set it to execute into Terminal.

Now, when I want to sideload books onto my Kobo, I move the .epub files to the staging folder, connect the Kobo to my computer, and double-click that script file. The script copies the contents of the folder over to the Kobo, and in the process, converts any .epub files to .kepub in transit.

A while back I noted that, though WriteFreely (the backbone of my site's social hub) federates via ActivityPub, the way that it broadcasts short posts limits the usefulness of that feature. By default, posts written with WriteFreely go out to ActivityPub services (e.g. Mastodon) as a title and a link back to the original post. If the post has no title, then the federated message uses the first several words of text instead.

After some searching, I found the reason for that. ActivityPub handles a few different content types. For text, there's the [Article] type and the more abbreviated [Note] type. Microblog services like Mastodon mostly handle [Note] type content, but WriteFreely posts go out as [Article]. Truncated text with a link back to the original is how the federated platforms handle the mismatch.

I brought the issue up on the WriteFreely discussion boards, and then on the development team's GitHub. Lo and behold, they've responded! The next version of WriteFreely (v0.13) will incorporate the ability to tag posts as [Note] rather than [Article], which should allow WriteFreely users to, in effect, post straight to federated platforms, rather that sending out every post as a link back: https://github.com/writeas/writefreely/pull/220#issuecomment-685786603

Much thanks to Matt Baer for being so responsive.

“[James H. Cone] did not resolve the tension between Christianity and Black Power by choosing one over the other. Instead, he resolved the dilemma by integrating King's protest theology with Malcolm's black consciousness.” https://link.springer.com/article/10.1007/s12111-020-09485-4

A slight hitch: I had counted on short posts distributing to Mastodon unmodified. Turns out, that isn't how writefreely federates. Rather, the text gets truncated, with a link back to the original post. Not ideal from my POV, so I've submitted it as a feature request here: https://discuss.write.as/t/full-text-when-federating-short-posts/1642

By way of warning: I may occasionally post about politics in this space — primarily U.S. politics, since that's the most relevant to my circumstances, but also international politics when it suits my interest. But I plan to favor the longview here, leaving the day-to-day news cycle for my Twitter account.

Writefreely is now up and running on the social.lrhodes.net subdomain. Fediverse users can follow @lrhodes@social.lrhodes.net. May possibly mirror to my Twitter account, as well.

The aim is to use this feed as a personal hub for activity falling under the general rubric of “social media” — links of interest and notes too unformed to qualify as essays.