<?xml version='1.0' encoding='UTF-8'?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><id>https://kvibber.com/</id><title>Kelson Vibber: New Posts</title><updated>2026-10-11T16:30:02.290885+00:00</updated><author><name>Kelson Vibber</name><email>kelson@pobox.com</email></author><link href="https://kvibber.com/" rel="alternate"/><link href="https://kvibber.com/feed.xml" rel="self"/><generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator><subtitle>Blog entries, tech tips, reviews and more by Kelson Vibber.</subtitle><entry><id>https://kvibber.com/les-mis/reviews/uncle-scrooge/</id><title>The Secret of the Candlesticks</title><updated>2026-10-11T16:17:40+00:00</updated><content type="html">&lt;p&gt;&lt;a href="https://kvibber.com/les-mis/images/secret-of-the-candlesticks.jpg"&gt;&lt;img alt="Splash page featuring Donald Duck and related characters as the cast of Les Misérables" src="https://kvibber.com/les-mis/images/secret-of-the-candlesticks.jpg" /&gt;&lt;/a&gt;I hope you’ll excuse me for saying that “The Secret of the Candlesticks” is a bit of an odd duck. It starts out as a comedic adaptation of &lt;em&gt;Les Misérables&lt;/em&gt; with Uncle Scrooge as Jean McJean, Daisette, Donaldius Duckmercy and the rest. Then it takes a swerve and turns into a treasure hunt.&lt;/p&gt;
&lt;p&gt;See, the bishop had bought the candlesticks from a secondhand seller, who bought them from Thénardier, who stole them from one of Napoleon’s supply wagons at Waterloo, and Napoleon had collected them from the royal treasury, and they were keys to an ancient royal treasure…&lt;/p&gt;
&lt;p&gt;No, seriously! Well, OK, &lt;em&gt;not&lt;/em&gt; seriously.&lt;/p&gt;
&lt;p&gt;On top of that, there’s a framing sequence in which Uncle Scrooge tells Huey, Dewey and Louie the story of his ancestor Jean McJean, claiming that Victor Hugo adapted &lt;em&gt;his&lt;/em&gt; story (with “a few changes”). The nephews are impressed, even if Donald remains skeptical.&lt;/p&gt;
&lt;p&gt;And yet it actually works! Madcap twists and turns, character adaptations that fit, references galore to both the stage musical and the book. There are three urchins, Huvroche, Dewvroche and Louvroche. Parisian landmarks and landscapes abound, from the depths of the Seussian sewers to the (anachronistic, but wonderfully detailed) spire of Notre Dame. Peg-Leg Pete and Trudy are a perfect fit for the Thénardiers, and even Patron-Minette is represented, here by the Beagle Boys (who else?).&lt;/p&gt;
&lt;p&gt;Inspector Javert is a raven character I don’t recognize. According to the afterward, he appeared in Carpi’s other literary parodies, but it doesn’t give his name. If he even has one. And now I’m thinking about the whole malleability of identity that runs throughout the novel.&lt;/p&gt;
&lt;p&gt;Carpi remarks that they changed the title to justify changing the tone: his version needed not just comedy, but an actual happy ending. And if it wasn’t actually &lt;em&gt;called&lt;/em&gt; &lt;em&gt;Les Mis&lt;/em&gt;, that opened up other story possibilities to bring that about. Specifically, he mentions adding “elements from Eugene Sue’s &lt;em&gt;The Mysteries of Paris&lt;/em&gt;.” I’m not familiar with it, but it seems to be a novel where a mysterious man in Paris &lt;a href="https://en.wikipedia.org/wiki/The_Mysteries_of_Paris"&gt;goes around helping the downtrodden&lt;/a&gt;, so I can see why.&lt;/p&gt;
&lt;aside&gt;Side note: I recognized a name from the list of Sue’s influences: &lt;a href="https://en.wikipedia.org/wiki/Eug%C3%A8ne-Fran%C3%A7ois_Vidocq"&gt;Eugène-François Vidocq&lt;/a&gt;, a famous criminal who later became a crimonologist. I couldn’t place whether I’d heard him mentioned in &lt;a href="https://readlesmis.libsyn.com/"&gt;The Lés Miserables Reading Companion&lt;/a&gt; or seen him mentioned in &lt;em&gt;The Novel of the Century&lt;/em&gt;. I wasn’t surprised to find he’s &lt;a href="https://readlesmis.libsyn.com/episode-19-extras"&gt;mentioned in both&lt;/a&gt;!&lt;/aside&gt;
&lt;p&gt;Giovan Battista Carpi’s take on the story, originally in Italian, was published in 1989 across three issues of &lt;em&gt;Topolino&lt;/em&gt;. The English translation is currently available in hardcover, together with the same artist’s duck-ified &lt;em&gt;War and Peace&lt;/em&gt;.&lt;/p&gt;
&lt;footer&gt;This post by &lt;a class="p-author h-card" href="https://kvibber.com" rel="author"&gt;Kelson Vibber&lt;/a&gt; originally appeared &lt;a class="u-url" href="https://kvibber.com/les-mis/reviews/uncle-scrooge/"&gt;on Re-Reading Les Misérables&lt;/a&gt;&lt;/footer&gt;</content><link href="https://kvibber.com/les-mis/reviews/uncle-scrooge/"/><summary>Donald Duck, Daisy, Uncle Scrooge and the rest become the cast of Les Misérables in this parody by Giovan Battista Carpi. It turns into a comedic treasure hunt part-way through, but amazingly it works.</summary><category term="les-miserables"/><category term="reading"/><category term="books"/><category term="literature"/><category term="victor-hugo"/><category term="comics"/><category term="giovan-battista-carpi"/><category term="parody"/><category term="identity"/><category term="humor"/><category term="disney"/><category term="donald-duck"/><category term="uncle-scrooge"/><category term="ducks"/><category term="aliases"/></entry><entry><id>https://kvibber.com/reviews/apps/open-camera/</id><title>Open Camera (app review)</title><updated>2026-10-10T02:00:30+00:00</updated><author><name>Kelson Vibber</name><email>kelson@pobox.com</email></author><content type="html">&lt;p&gt;&lt;abbr class="p-rating" title="4 stars out of 5" value="4"&gt;★★★★☆&lt;/abbr&gt;&lt;/p&gt;
    &lt;p&gt;I checked out Open Camera again after however many years because &lt;a href="https://kvibber.com/reviews/software/eos/"&gt;/e/OS&lt;/a&gt; uses it as the base for its camera app. Most of this review applies to both versions.&lt;/p&gt;
&lt;p&gt;It’s actually pretty good! (&lt;em&gt;Much&lt;/em&gt; better than &lt;a href="https://kvibber.com/reviews/apps/fossify-camera/"&gt;Fossify Camera&lt;/a&gt;.) Automatic settings are fine most of the time, and you can manually set focus, exposure, etc. It can shift seamlessly between lenses on devices that support it (like the &lt;a href="https://kvibber.com/reviews/products/pixel5/"&gt;Pixel 5&lt;/a&gt;), and you can switch manually on devices that don’t (like the &lt;a href="https://kvibber.com/reviews/products/fairphone4/"&gt;Fairphone 4&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;One nice thing I haven’t seen with other camera apps is that you can add some features to the floating toolbar…like turning location on and off. I don’t always want geolocation enabled, but I also take a lot of photos for &lt;a href="https://kvibber.com/reviews/web/inaturalist/"&gt;iNaturalist&lt;/a&gt; and &lt;a href="https://kvibber.com/reviews/tag/openstreetmap/"&gt;OpenStreetMap&lt;/a&gt;, or when hiking on public trails, and I &lt;em&gt;do&lt;/em&gt; want location stored with those. Being able to see at a glance whether it’s on or off, and switch with a tap, is super-convenient.&lt;/p&gt;
&lt;p&gt;I had a little trouble with Panorama mode the first time I used it, until I realized I’d accidentally rotated my phone while panning it, and it was showing me an indicator that I needed to rotate it back to match.&lt;/p&gt;
&lt;!-- TODO: Try Camera Scene Modes --&gt;
&lt;h2&gt;Camera Config&lt;/h2&gt;
&lt;p&gt;I &lt;em&gt;did&lt;/em&gt; have to change some output quality settings, particularly when I installed it on the Pixel 5. I bumped the JPEG quality up to 94%, and bumped the edge mode and noise reduction algorithms to “high quality,” which made a big difference after the first hike where I tried using the resurrected phone for photography.&lt;/p&gt;
&lt;p&gt;I also had to dig into the camera app settings to allow it to appear on the lock screen, in addition to setting the lock screen to allow the camera app. (That’s been the default on the Android phones I’ve had before.) But now with both phones I can double-tap the power button to launch just the camera without taking the time to fully unlock the system.&lt;/p&gt;
&lt;h3&gt;Replacing the System Camera&lt;/h3&gt;
&lt;p&gt;Generally you can’t uninstall the system camera app. So if you want to use Open Camera on stock Android, or use the upstream version on /e/OS, and you want to use the lockscreen shortcuts, you’ll need to run those shortcuts a few times and unlock the phone to choose the app before it’ll offer the “always” option for it. Once you’ve chosen that, you’ll be able to launch the camera every time.&lt;/p&gt;

	&lt;p&gt;
    
    Available from 
      &lt;a href="https://f-droid.org/en/packages/net.sourceforge.opencamera/"&gt;F-Droid&lt;/a&gt;,
      &lt;a href="https://play.google.com/store/apps/details?id=net.sourceforge.opencamera"&gt;Play Store&lt;/a&gt;.
    &lt;/p&gt;
    &lt;footer&gt;This post by &lt;a class="p-author h-card" href="https://kvibber.com" rel="author"&gt;Kelson Vibber&lt;/a&gt; originally appeared &lt;a class="u-url" href="https://kvibber.com/reviews/apps/open-camera/"&gt;on Kelson Reviews Stuff&lt;/a&gt;&lt;/footer&gt;</content><link href="https://kvibber.com/reviews/apps/open-camera/"/><summary>★★★★☆ - A surprisingly good open-source camera app for Android. Very flexible, with some nice convenience settings. Forms the basis of /e/OS' default camera app.</summary><category term="review"/><category term="apps"/><category term="floss"/><category term="privacy"/><category term="degoogling"/><category term="minimalism"/><category term="android"/><category term="photography"/><category term="camera"/><category term="metadata"/><category term="gps"/><category term="using"/></entry><entry><id>https://kvibber.com/reviews/products/fairphone4/</id><title>Two Months With the Fairphone 4 (phone review)</title><updated>2026-10-09T21:53:12+00:00</updated><author><name>Kelson Vibber</name><email>kelson@pobox.com</email></author><content type="html">&lt;p&gt;&lt;abbr class="p-rating" title="3.5 stars out of 5" value="3.5"&gt;★★★½☆&lt;/abbr&gt;&lt;/p&gt;
    &lt;p&gt;&lt;a href="https://kvibber.com/reviews/images/fairphone4.jpg"&gt;&lt;source type="image/avif" /&gt;&lt;source type="image/webp" /&gt;&lt;img alt="Back of a smartphone, gray plastic with a rounded triangle in one corner. Three circles, two of them clearly camera lenses and the third dark, fill the triangle's corners, and a small LED light fits between the circles on the longer side." class="galleryPic right" height="600" src="https://kvibber.com/reviews/img/fairphone4-150w.jpeg" width="900" /&gt;&lt;/a&gt;Back in November 2024, we bought a &lt;a href="https://www.fairphone.com/"&gt;Fairphone&lt;/a&gt; 4 as a hedge against the tariffs and trade wars that seemed likely to commence the following year, figuring they’d drive up prices just in time for one of our phones to kick the bucket. The idea of a phone that’s built as sustainably as possible, is user-repairable, and &lt;a href="https://support.fairphone.com/hc/en-us/articles/9979180437393-How-long-will-my-Fairphone-receive-software-and-security-updates"&gt;guarantees support for a minimum of 5 years&lt;/a&gt; was appealing.&lt;/p&gt;
&lt;p&gt;I would have preferred the Fairphone 5, but their only US retail partner, &lt;a href="https://murena.com/"&gt;Murena&lt;/a&gt;, never sold that model here (though they have since picked up the Fairphone 6 and 6+). From what I could tell the FP4 was comparable to the phones we had, and there was that longer support period. And I was able to confirm that it would work on T-Mobile’s network.&lt;/p&gt;
&lt;p&gt;The teenager used it for a while before we bought something more like what he wanted, and earlier this month I pressed it into service replacing my &lt;a href="https://kvibber.com/reviews/products/pixel5/"&gt;dying Pixel 5&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Murena ships their phones with &lt;strong&gt;/e/OS&lt;/strong&gt;, an Android fork that provides replacements for some of the non-Free Google services. I’ve tried to break out the parts that would apply to other phones running the system in a separate &lt;a href="https://kvibber.com/reviews/software/eos/"&gt;/e/OS review&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It’s also possible to &lt;a href="https://us.support.fairphone.com/hc/en-us/articles/38170525880594-How-to-manually-install-Android-on-your-Fairphone"&gt;install a regular Android OS&lt;/a&gt;. At this writing, Fairphone provides up to Android 15 for the Fairphone 4. I’m trying to do as much as possible on /e/OS without reinstalling.&lt;/p&gt;
&lt;h2&gt;&lt;a name="hardware"&gt;&lt;/a&gt;Hardware&lt;/h2&gt;
&lt;p&gt;It’s heavier and bulkier than the Pixel 5. I’d chalk that up to actually having a replaceable battery, but the &lt;a href="https://kvibber.com/reviews/products/galaxy-s4/"&gt;Galaxy S4&lt;/a&gt; also had a replaceable battery back in the day. (OK, it probably had a much smaller capacity, but still…)&lt;/p&gt;
&lt;p&gt;The display is decent. The touchscreen is a bit sluggish. The proximity sensor works properly, which means I can actually use phone menus again. (It stopped working on &lt;a href="https://kvibber.com/reviews/products/pixel5/"&gt;my old phone&lt;/a&gt; a while ago.) Sound is fine, though I don’t usually listen to music directly from phone speakers (except hold music, I suppose), so I can’t really say much about the audio quality.&lt;/p&gt;
&lt;h3&gt;&lt;a name="camera"&gt;&lt;/a&gt;Camera&lt;/h3&gt;
&lt;p&gt;The camera’s actually pretty good when there’s enough light, especially once I changed a few quality settings in &lt;a href="https://kvibber.com/reviews/apps/open-camera/"&gt;the app&lt;/a&gt;. High resolution RAW images are almost as sharp as an iPhone. The color balance skews a bit blue, and I’ve found that I do consistently prefer shots taken with the Pixel 5 to those taken with this one, but it’s close.&lt;/p&gt;
&lt;p&gt;Low-light images aren’t as good, and it has trouble with dynamic ranges for backlit images. I was able to sort of adjust &lt;a href="https://www.flickr.com/photos/kelsonv/55456583675/"&gt;this shot&lt;/a&gt; into being &lt;em&gt;almost&lt;/em&gt; what I wanted it to look like.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://kvibber.com/reviews/images/anaheim-convention-center-curves-fp4-weirdness.jpg"&gt;&lt;source type="image/avif" /&gt;&lt;source type="image/webp" /&gt;&lt;img alt="A curved, glassy building in bright sunlight, with a blue sky...with weird purple and green mottling in the sky." class="galleryPic right" height="675" src="https://kvibber.com/reviews/img/anaheim-convention-center-curves-fp4-weirdness-150w.jpeg" width="900" /&gt;&lt;/a&gt;There’s a wide-angle lens, which shows up separately from the main one. It doesn’t shift seamlessly from one to the other like the Pixel 5 does. I don’t like using it, though, because it picks up these weird mottled effects on the sky.&lt;/p&gt;
&lt;h3&gt;&lt;a name="fingerprint"&gt;&lt;/a&gt;Fingerprint&lt;/h3&gt;
&lt;p&gt;The fingerprint sensor is built into the power button on the side, which is kind of odd, but seems to work reliably despite the narrow surface. At least with my hand size, it’s well-positioned for my right thumb or left index finger. A minor annoyance: it’s also easy to trip the sensor accidentally when pulling the phone out of my pocket. It doesn’t unlock of course, just buzzes in complaint that the print doesn’t match.&lt;/p&gt;
&lt;p&gt;Keep in mind you &lt;a href="https://ssd.eff.org/module/attending-protest#remove-fingerprint-or-face-unlock"&gt;may not want fingerprint unlock&lt;/a&gt; depending on your security threat model.&lt;/p&gt;
&lt;h3&gt;Performance&lt;/h3&gt;
&lt;p&gt;It’s a bit slower than the &lt;a href="https://kvibber.com/reviews/products/pixel5/"&gt;Pixel 5&lt;/a&gt;. On the plus side, it either manages its memory better or just has less bloatware on the system. The problem where the Pixel would regularly unload PoGo when I switched back and forth between multiple apps (mapping, iNat, camera, etc.) has only happened once or twice in the two months I’ve been using the FP4. And &lt;em&gt;only&lt;/em&gt; when running multiple apps. Not just switching to the camera to take a single photo. (Or maybe PoGo’s AR features, which don’t run on this phone, just use a lot of memory?)&lt;/p&gt;
&lt;p&gt;It &lt;em&gt;does&lt;/em&gt; run hot, particularly when running multiple apps while charging, or in hot weather when it can’t dissipate heat as well. During October’s 100°F heat wave I was using it while walking (as much in shade as I could), and decided it felt warm enough I should pop it out of the case to let it cool down. The sides of the chassis were actually painful to touch!&lt;/p&gt;
&lt;h2&gt;&lt;a name="network"&gt;&lt;/a&gt;Network Compatibility&lt;/h2&gt;
&lt;p&gt;I mentioned that it works on T-Mobile’s US network. It does. But the &lt;a href="https://kvibber.com/reviews/apps/t-life/"&gt;T-Life app&lt;/a&gt; doesn’t know that, so you have to actually call customer service if you need to activate an eSim. And if you’ve been swapping phones in and out between different lines, it &lt;a href="https://journal.kvibber.com/2026/08/first-the-migraine-then-the-headache/"&gt;may need escalation to clear it&lt;/a&gt; for reactivation.&lt;/p&gt;
&lt;p&gt;&lt;a name="location"&gt;&lt;/a&gt;Location services have more trouble indoors than other phones I’ve used. I’m sure some of that is just &lt;a href="https://kvibber.com/reviews/software/eos/#location"&gt;/e/OS having less access to WiFi mapping&lt;/a&gt;, but there does seem to be a hardware difference compared to the Pixel 5 on the same OS.&lt;/p&gt;
&lt;h2&gt;&lt;a name="compat"&gt;&lt;/a&gt;App Compatibility&lt;/h2&gt;
&lt;p&gt;&lt;a name="banks"&gt;&lt;/a&gt;My bank apps, as well as Apple Music, Dropbox, Pokémon Go etc. are all willing to accept device &lt;a href="https://kvibber.com/reviews/software/eos/#microg"&gt;attestation through /e/OS and microG&lt;/a&gt;, at least when I’m signed into Google.&lt;/p&gt;
&lt;p&gt;&lt;a name="pokemongo"&gt;&lt;/a&gt;Pokémon Go is playable, with a few drawbacks. AR features don’t work, which means I can’t take photos of Pokémon in a real environment, but (a) I don’t do that very often and (b) the fallback mode is more convenient anyway. There are also times it slows to a crawl when I’m doing something as simple as trying to send gifts to other players. Flaky indoor location is a bigger problem, but the phone seems to have figured out that my home network means I’m &lt;em&gt;at home&lt;/em&gt;, and the game has stopped blocking me out with missing-GPS errors. It does still drift sometimes, so I have to insist that I’m a passenger at my kitchen table.&lt;/p&gt;
&lt;p&gt;The FairPhone 4 doesn’t support ARCore, and from what I can tell, Pokémon Go uses ARCore for &lt;em&gt;all&lt;/em&gt; its augmented reality features now.&lt;/p&gt;
&lt;h2&gt;&lt;a name="repair"&gt;&lt;/a&gt;Repair and Durability&lt;/h2&gt;
&lt;p&gt;The back just unclips, and you can just grab the battery and pull it out. (In fact, if you have a physical SIM card, you need to remove the battery to get at the slot.) Internal components are mostly held together with screws or clips. They’re actually made to be serviceable, not made to require a heat gun at exactly the right distance and a suction cup at exactly the right angle and a spudger prying with exactly the right pressure.&lt;/p&gt;
&lt;p&gt;I mentioned that the teenager used this phone for a while. During that time he broke the screen. He ordered the replacement part online and installed it himself. Then it fell out of his pocket while he was riding his bike with his friends. One of them ran over it. &lt;a href="https://notes.kvibber.com/@kelson/statuses/01KH88Z6WRY540GCE5336BFPB7"&gt;And it was fine&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Fairphone states that they’re aiming for &lt;a href="https://support.fairphone.com/hc/en-us/articles/9979180437393-How-long-will-my-Fairphone-receive-software-and-security-updates"&gt;5-7 years of support&lt;/a&gt; from the phone’s late 2021 release, and “guarantees software support until at least 2028.” I’m not sure yet if I’ll be happy keeping it that long, but I’m glad it’s an option.&lt;/p&gt;
&lt;h2&gt;Page Updates&lt;/h2&gt;
&lt;aside&gt;&lt;p&gt;August 31: A Month with the Fairphone 4. (Initial review.)&lt;br /&gt;
September 6: Update ground-based location issues across Fairphone and /e/OS reviews.&lt;br /&gt;
October 9: Two Months… Add photo examples, color balance notes. Update speed and memory comparisons to Pixel 5. Note heat. Update indoor location issues with like-for-like comparison to the Pixel 5 and improvement in recognizing home location.&lt;/p&gt;
&lt;/aside&gt;

	
    &lt;footer&gt;This post by &lt;a class="p-author h-card" href="https://kvibber.com" rel="author"&gt;Kelson Vibber&lt;/a&gt; originally appeared &lt;a class="u-url" href="https://kvibber.com/reviews/products/fairphone4/"&gt;on Kelson Reviews Stuff&lt;/a&gt;&lt;/footer&gt;</content><link href="https://kvibber.com/reviews/products/fairphone4/"/><summary>★★★½☆ - Clunkier than most phones, but you can buy spare parts and repair it yourself. Decent hardware, if a tad slow by today's standards (it shipped in 2021). Runs Android, LineageOS or /e/OS.</summary><category term="review"/><category term="products"/><category term="android"/><category term="eos"/><category term="fairphone"/><category term="mobile-devices"/><category term="android-devices"/><category term="camera"/><category term="photography"/><category term="phone"/><category term="degoogling"/><category term="murena"/><category term="touchscreen"/><category term="electronics"/><category term="using"/><category term="blaugust"/><category term="100daystooffload"/></entry><entry><id>https://kvibber.com/reviews/apps/gopher-android/</id><title>Gopher Apps on Android</title><updated>2026-10-04T02:17:28+00:00</updated><author><name>Kelson Vibber</name><email>kelson@pobox.com</email></author><content type="html">&lt;p&gt;As I’ve been &lt;em&gt;ahem&lt;/em&gt; &lt;a href="https://journal.kvibber.com/2026/09/rediscovering-gopher/"&gt;digging into Gopherspace&lt;/a&gt; this past month, I of course wanted to see how I could get there from my phone. I already had &lt;a href="https://kvibber.com/reviews/software/lagrange/"&gt;Lagrange&lt;/a&gt; for the &lt;a href="https://kvibber.com/gemini-protocol.html"&gt;Gemini protocol&lt;/a&gt;, and Lagrange handles Gopher in a Gemini client better than Netscape ever did in a web browser. But there &lt;em&gt;had&lt;/em&gt; to be some dedicated Gopher clients for Android, right?&lt;/p&gt;
&lt;p&gt;As it turns out, there are some…but not many. Worse: most of what I found was incomplete, awkward to use, or no longer compatible with modern Android…or some combination of the three.&lt;/p&gt;
&lt;p&gt;The Play Store only has one Gopher client I could find, though there are a bunch of apps with “gopher” in their names. &lt;a href="https://kvibber.com/reviews/apps/diggiedog/"&gt;DiggieDog&lt;/a&gt; &lt;em&gt;looks&lt;/em&gt; nice, but has some weird quirks that make it hard to recommend unless you just want something that works without going outside the main app store.&lt;/p&gt;
&lt;p&gt;F-Droid has &lt;a href="https://kvibber.com/reviews/apps/deburrow/"&gt;DeBurrow&lt;/a&gt;, which also looks nice, but has a &lt;em&gt;different&lt;/em&gt; set of weird quirks that make it hard to recommend. There are two more outdated apps in F-Droid’s archives: &lt;a href="https://kvibber.com/reviews/apps/pocket-gopher/"&gt;Pocket Gopher&lt;/a&gt; can’t even install on anything newer than Android 13, and the &lt;a href="https://kvibber.com/reviews/apps/gophercle/"&gt;Gophercle&lt;/a&gt; project files aren’t even online anymore. Both are missing key capabilities like accepting gopher links from other apps.&lt;/p&gt;
&lt;p&gt;My initial forays from the desktop had brought me to &lt;a href="http://gopher.floodgap.com/"&gt;Floodgap&lt;/a&gt; with &lt;a href="http://gopher.floodgap.com/gopher/"&gt;its gopher proxy&lt;/a&gt; and the Overbite project. (Overbite has a nice article on &lt;a href="http://gopher.floodgap.com/overbite/relevance.html"&gt;what makes Gopher still relevant&lt;/a&gt;.) But the Overbite Android app never got past proof of concept. &lt;a href="https://kvibber.com/reviews/software/overbite/"&gt;I tried it out&lt;/a&gt;, and it works, but it’s not really &lt;em&gt;complete&lt;/em&gt;. So again, I can’t really recommend it.&lt;/p&gt;
&lt;p&gt;So for now I’m back to Lagrange, which &lt;em&gt;does&lt;/em&gt; have decent support for Gopher. It displays plain text already, and converts menus internally into Gemtext. And of course it supports Gemini and several other &lt;a href="http://dbohdan.sdf.org/smolnet/"&gt;small-net protocols&lt;/a&gt;, and it’s much better polished and &lt;em&gt;usable&lt;/em&gt; in general.&lt;/p&gt;

	
    &lt;footer&gt;This post by &lt;a class="p-author h-card" href="https://kvibber.com" rel="author"&gt;Kelson Vibber&lt;/a&gt; originally appeared &lt;a class="u-url" href="https://kvibber.com/reviews/apps/gopher-android/"&gt;on Kelson Reviews Stuff&lt;/a&gt;&lt;/footer&gt;</content><link href="https://kvibber.com/reviews/apps/gopher-android/"/><summary>I did find several Gopher clients for Android! But they're all incomplete, awkward, or rapidly losing compatibility. So I've gone back to Lagrange, which handles Gopher in a Gemini client better than Netscape ever did in a web browser.</summary><category term="review"/><category term="apps"/><category term="android"/><category term="gopher"/><category term="small-internet"/><category term="tested"/><category term="100daystooffload"/></entry><entry><id>https://kvibber.com/tech-tips/smallnet-links-wordpress/</id><title>Enable Gemini (and other Small Internet) Links in WordPress</title><updated>2026-10-03T16:13:04+00:00</updated><author><name>Kelson Vibber</name><email>techtips@kvibber.com</email></author><content type="html">&lt;p&gt;I use the &lt;a href="https://kvibber.com/reviews/software/wordpress-plugins/#syndication-links"&gt;Syndication Links plugin&lt;/a&gt; on my blog to link to social media posts that link back, or that I’ve incorporated into the blog entry. Or to mirrored photos on Flickr, or posts on Tumblr. As part of &lt;a href="https://journal.kvibber.com/2026/09/rediscovering-gopher/"&gt;exploring Gopher&lt;/a&gt;, I’ve been cross-posting more, and decided I should start linking to the Gemini copies of my posts the same way.&lt;/p&gt;
&lt;p&gt;Except Syndication Links wouldn’t accept &lt;code&gt;gemini:&lt;/code&gt; URLs. It &lt;em&gt;would&lt;/em&gt; accept &lt;code&gt;gopher:&lt;/code&gt; URLs.&lt;/p&gt;
&lt;p&gt;I dug around and determined that it’s not the plugin, but an internal WordPress/ClassicPress function. &lt;a href="https://developer.wordpress.org/reference/functions/wp_allowed_protocols/"&gt;&lt;code&gt;wp_allowed_protocols&lt;/code&gt;&lt;/a&gt; validates URLs, but doesn’t recognize the protocol. By default it allows &lt;code&gt;http&lt;/code&gt;, &lt;code&gt;https&lt;/code&gt;, &lt;code&gt;ftp&lt;/code&gt;, &lt;code&gt;ftps&lt;/code&gt;, &lt;code&gt;mailto&lt;/code&gt;, &lt;code&gt;news&lt;/code&gt;, &lt;code&gt;irc&lt;/code&gt;, &lt;code&gt;irc6&lt;/code&gt;, &lt;code&gt;ircs&lt;/code&gt;, &lt;code&gt;gopher&lt;/code&gt;, &lt;code&gt;nntp&lt;/code&gt;, &lt;code&gt;feed&lt;/code&gt;, &lt;code&gt;telnet&lt;/code&gt;, &lt;code&gt;mms&lt;/code&gt;, &lt;code&gt;rtsp&lt;/code&gt;, &lt;code&gt;sms&lt;/code&gt;, &lt;code&gt;svn&lt;/code&gt;, &lt;code&gt;tel&lt;/code&gt;, &lt;code&gt;fax&lt;/code&gt;, &lt;code&gt;xmpp&lt;/code&gt;, &lt;code&gt;webcal&lt;/code&gt;, and &lt;code&gt;urn&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;So then I needed to figure out where I could add something to the list. I found an &lt;a href="https://sevenspark.com/tutorials/skype-uri-link-wordpress-menu"&gt;example adding Skype URLs&lt;/a&gt; and swapped in &lt;code&gt;gemini&lt;/code&gt;. Then I added &lt;code&gt;nex&lt;/code&gt; and &lt;code&gt;spartan&lt;/code&gt; to check whether adding &lt;a href="http://dbohdan.sdf.org/smolnet/"&gt;more smolnet protocols&lt;/a&gt; would work the way I expected it to. (It does.)&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;function exampleprefix_allow_smallnet_protocols( $protocols ){
	// Add more protocols to the end of the list.
	$protocols[] = 'spartan';
	$protocols[] = 'gemini';
	$protocols[] = 'nex';
	return $protocols;
}
add_filter( 'kses_allowed_protocols' , 'exampleprefix_allow_smallnet_protocols' );
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Problem solved! Now I can add both Gopher and Gemini links using Syndication Links, and anywhere else the blog uses &lt;code&gt;wp_allowed_protocols&lt;/code&gt;!&lt;/p&gt;
&lt;p&gt;Except…the plugin doesn’t have icons for them, so it’s using a warning icon. That’s not ideal. Fortunately I already know &lt;a href="https://kvibber.com/tech-tips/syndication-links-icons/"&gt;how to add icons to Syndication Links&lt;/a&gt;.&lt;/p&gt;
&lt;footer&gt;This post by &lt;a class="p-author h-card" href="https://kvibber.com" rel="author"&gt;Kelson Vibber&lt;/a&gt; originally appeared &lt;a class="u-url" href="https://kvibber.com/tech-tips/smallnet-links-wordpress/"&gt;on KV Tech Tips&lt;/a&gt;&lt;/footer&gt;</content><link href="https://kvibber.com/tech-tips/smallnet-links-wordpress/"/><summary>You can write a Gemini link in a WordPress post, but WP won't accept one anywhere it validates URLs. Here's how to add a filter to allow more protocols.</summary><category term="gemini-protocol"/><category term="howto"/><category term="techtips"/><category term="classicpress"/><category term="php"/><category term="programming"/><category term="wordpress"/><category term="small-internet"/><category term="100daystooffload"/></entry><entry><id>https://kvibber.com/tech-tips/syndication-links-icons/</id><title>Customize Icons for Syndication Links (WP)</title><updated>2026-10-03T16:01:04+00:00</updated><author><name>Kelson Vibber</name><email>techtips@kvibber.com</email></author><content type="html">&lt;p&gt;The &lt;a href="https://kvibber.com/reviews/software/wordpress-plugins/#syndication-links"&gt;Syndication Links plugin&lt;/a&gt; is great for linking out to social media posts related to your WordPress or ClassicPress blog entry. It can also send out those posts to some platforms. But it can’t possibly know every social network out there, or every Mastodon server, and so a lot sites outside the most common will show a generic website icon instead of something more specific.&lt;/p&gt;
&lt;p&gt;The plugin has a filter, &lt;code&gt;syn_link_mapping&lt;/code&gt;, that you can use to add custom icons for different sites. You can also use it to add icons for different protocols, like if you &lt;a href="https://kvibber.com/tech-tips/smallnet-links-wordpress/"&gt;add Gemini links&lt;/a&gt; to the types WordPress will recognize.&lt;/p&gt;
&lt;p&gt;For now I’m just adding icons that are already in the set, and mapping them to specific websites or to different protocols. You can see what’s in there by looking in &lt;a href="https://github.com/dshanske/syndication-links/tree/trunk/svgs"&gt;&lt;code&gt;syndication-links/svgs/&lt;/code&gt;&lt;/a&gt; and its subfolders.&lt;/p&gt;
&lt;p&gt;Here’s how I’m adding them. Note the triple-equals sign for gopher and gemini, because in PHP &lt;code&gt;strpos&lt;/code&gt; returns false if not found, and zero if found at the beginning of a string, and double-equals would match zero to both of those.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;function exampleprefix_map_syndication_icons( $icon, $url ) {
	if (strpos($url, '//wandering.shop/') &amp;gt; 0 || strpos($url, 'photog.social') &amp;gt; 0 )
		return 'mastodon';
	if (strpos($url, 'inaturalist.org/') &amp;gt; 0)
		return 'bug';
	if (strpos($url, 'gopher://') === 0 )
		return 'hierarchy';
	if (strpos($url, 'gemini://') === 0 )
		return 'standard';
	return $icon;
}
add_filter('syn_link_mapping', 'exampleprefix_map_syndication_icons', 20, 2);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;These can go in a functions.php file in your theme, or in a custom functionality plugin. As always, be sure to set your own prefix on these functions so they don’t collide with another plugin’s function names.&lt;/p&gt;
&lt;p&gt;TODO: I’d like to pick out (or maybe draw) some more specific icons for Gopher and Gemini. Going by &lt;a href="https://github.com/dshanske/syndication-links/blob/trunk/readme.md"&gt;the README&lt;/a&gt;, it’s going to involve &lt;code&gt;pre_syn_link_icon&lt;/code&gt; and maybe plugging some raw SVG into it? When I do, I’ll update this page.&lt;/p&gt;
&lt;footer&gt;This post by &lt;a class="p-author h-card" href="https://kvibber.com" rel="author"&gt;Kelson Vibber&lt;/a&gt; originally appeared &lt;a class="u-url" href="https://kvibber.com/tech-tips/syndication-links-icons/"&gt;on KV Tech Tips&lt;/a&gt;&lt;/footer&gt;</content><link href="https://kvibber.com/tech-tips/syndication-links-icons/"/><summary>The Syndication Links plugin offers a filter you can use to add icons for specific websites, or even for whole protocols. Here's how you build it.</summary><category term="programming"/><category term="howto"/><category term="techtips"/><category term="classicpress"/><category term="php"/><category term="wordpress"/><category term="indieweb"/><category term="posse"/><category term="cross-posting"/><category term="100daystooffload"/></entry><entry><id>https://kvibber.com/reviews/apps/gophercle/</id><title>Gophercle (app review)</title><updated>2026-10-01T04:35:41+00:00</updated><author><name>Kelson Vibber</name><email>kelson@pobox.com</email></author><content type="html">&lt;p&gt;&lt;abbr class="p-rating" title="2 stars out of 5" value="2"&gt;★★☆☆☆&lt;/abbr&gt;&lt;/p&gt;
    &lt;p&gt;An extremely minimalist Gopher client for Android. I kind of like the text-based toolbar, though I had to experiment to figure out what each button does.&lt;br /&gt;
&lt;code&gt;^S&lt;/code&gt; does search, settings, adding a page to bookmarks, etc.&lt;br /&gt;
&lt;code&gt;|^|&lt;/code&gt; shows your bookmarks&lt;br /&gt;
&lt;code&gt;@&lt;/code&gt; lets you enter a new URL&lt;br /&gt;
&lt;code&gt;^R&lt;/code&gt; reloads&lt;br /&gt;
&lt;code&gt;&amp;lt;-&lt;/code&gt; goes back a page in your history. (As with &lt;a href="https://kvibber.com/reviews/apps/deburrow/"&gt;DeBurrow&lt;/a&gt;, the system back button closes the app.)&lt;/p&gt;
&lt;p&gt;Menu items are also displayed using text labels, which furthers the retro look and feel. Downloads get saved to the app’s data folder (…/Android/data/org.biotstoiq.gophercle/files/Download), not to your regular Downloads folder. This includes images, which aren’t displayed in the app itself.&lt;/p&gt;
&lt;p&gt;There’s also no good way to jump from Gophercle to the web and back: It desn’t tell Android it can accept gopher links, and it doesn’t recognize the h…URL menu syntax for linking out to the web.&lt;/p&gt;
&lt;p&gt;It &lt;em&gt;does&lt;/em&gt; support both light and dark mode, though!&lt;/p&gt;
&lt;p&gt;Like &lt;a href="https://kvibber.com/reviews/aps/pocket-gopher/"&gt;Pocket Gopher&lt;/a&gt;, Gophercle has been discontinued, and can only be installed from F-Droid’s archives. But it &lt;em&gt;does&lt;/em&gt; install on Android 14. The project source was taken down from GitLab at some point. There are at least a couple of forks on GitHub, but I haven’t vetted them.&lt;/p&gt;

	
    &lt;footer&gt;This post by &lt;a class="p-author h-card" href="https://kvibber.com" rel="author"&gt;Kelson Vibber&lt;/a&gt; originally appeared &lt;a class="u-url" href="https://kvibber.com/reviews/apps/gophercle/"&gt;on Kelson Reviews Stuff&lt;/a&gt;&lt;/footer&gt;</content><link href="https://kvibber.com/reviews/apps/gophercle/"/><summary>★★☆☆☆ - Extremely minimalist Gopher app for Android with a retro feel to it, but missing some key features like being able to link out to the web and back from other apps. No longer available except in F-Droid's archives.</summary><category term="review"/><category term="apps"/><category term="android"/><category term="gopher"/><category term="small-internet"/><category term="tested"/><category term="100daystooffload"/></entry><entry><id>https://kvibber.com/reviews/apps/pocket-gopher/</id><title>Pocket Gopher (Android) (app review)</title><updated>2026-10-01T00:15:24+00:00</updated><author><name>Kelson Vibber</name><email>kelson@pobox.com</email></author><content type="html">&lt;p&gt;&lt;abbr class="p-rating" title="2.5 stars out of 5" value="2.5"&gt;★★½☆☆&lt;/abbr&gt;&lt;/p&gt;
    &lt;p&gt;Pocket Gopher (not to be confused with the &lt;a href="https://felix.plesoianu.ro/mobile/pocket-gopher/"&gt;JavaME app of the same name&lt;/a&gt;) is even simpler than &lt;a href="https://kvibber.com/reviews/apps/deburrow/"&gt;DeBurrow&lt;/a&gt; or &lt;a href="https://kvibber.com/reviews/apps/diggiedog/"&gt;DiggieDog&lt;/a&gt;, but it’s more usable than either because it follows UI conventions more closely. You can type in a full URL or fix a typo. You can download files. It has bookmarks, history and dark mode. (Actually it &lt;em&gt;only&lt;/em&gt; has dark mode.) The main thing missing is that it won’t pick up Gopher links from other apps.&lt;/p&gt;
&lt;aside&gt;&lt;p&gt;The last release started accepting Gopher links, but &lt;a href="https://github.com/afonsotrepa/PocketGopher/issues/9"&gt;broke the app&lt;/a&gt;. F-Droid &lt;a href="https://gitlab.com/fdroid/fdroiddata/-/work_items/1662"&gt;rolled back to the previous version&lt;/a&gt;, and there’s no sign of any work on it since then.&lt;/p&gt;
&lt;/aside&gt;
&lt;p&gt;The weirdest thing about using it is that the system back button works as the back button, but what looks like a toolbar back button is really the home button. (In this case “home” means your list of bookmarks.)&lt;/p&gt;
&lt;p&gt;Unfortunately, Pocket Gopher is old enough that compatibility with modern Android versions has been slipping away. I’m not sure it’s ever been on the Play Store. &lt;a href="https://f-droid.org/en/2026/05/22/twif.html"&gt;F-Droid archived it in May&lt;/a&gt;. The last couple of releases on GitHub (2017-2019) only shipped as source, letting F-Droid do the packaging. I tried installing the last release on three different Android devices, and only one of them (running Android 13) was able to even install it.&lt;/p&gt;

	&lt;p&gt;
    More info at &lt;a href="https://github.com/afonsotrepa/PocketGopher"&gt;Pocket Gopher (Android)&lt;/a&gt;.
    
    &lt;/p&gt;
    &lt;footer&gt;This post by &lt;a class="p-author h-card" href="https://kvibber.com" rel="author"&gt;Kelson Vibber&lt;/a&gt; originally appeared &lt;a class="u-url" href="https://kvibber.com/reviews/apps/pocket-gopher/"&gt;on Kelson Reviews Stuff&lt;/a&gt;&lt;/footer&gt;</content><link href="https://kvibber.com/reviews/apps/pocket-gopher/"/><summary>★★½☆☆ - Even simpler than DiggieDog or DeBurrow, with a more usable interface, but hard to find and no longer installs on modern Android.</summary><category term="review"/><category term="apps"/><category term="android"/><category term="gopher"/><category term="small-internet"/><category term="tested"/><category term="100daystooffload"/></entry><entry><id>https://kvibber.com/reviews/apps/diggiedog/</id><title>DiggieDog (app review)</title><updated>2026-09-30T23:08:55+00:00</updated><author><name>Kelson Vibber</name><email>kelson@pobox.com</email></author><content type="html">&lt;p&gt;&lt;abbr class="p-rating" title="2.5 stars out of 5" value="2.5"&gt;★★½☆☆&lt;/abbr&gt;&lt;/p&gt;
    &lt;p&gt;Another basic gopher client, similar to &lt;a href="https://kvibber.com/reviews/apps/deburrow/"&gt;DeBurrow&lt;/a&gt;, but with different quirks. Bookmarks and history are supported, you can set your home page, it’s visually clean-looking with icons for folders, text docs, web links, etc. (but no dark mode), and supports downloading files. DiggieDog accepts gopher links from other apps, and sends non-gopher links out to the system, so you can jump between your web browser, gopher and Gemini clients seamlessly.&lt;/p&gt;
&lt;p&gt;But the interface is awkward. You go to a new server using a pop-up, not by typing in the URL bar, so you can’t fix a typo or go directly to a specific document. The Home button doesn’t &lt;em&gt;go&lt;/em&gt; to your home page, it &lt;em&gt;sets&lt;/em&gt; it. The back button replaces the menu button, so in order to get to your bookmarks or history, you have to hit the back button a bunch of times until you get back to where you started. (At least the system back button works as expected, unlike in DeBurrow.) And the settings dialog features options to “Automatically repair urls” (huh?) and enable JavaScript (which isn’t a thing with Gopher.)&lt;/p&gt;
&lt;p&gt;It &lt;em&gt;is&lt;/em&gt; the only Gopher client I’ve found that’s on the Play Store. If you just want to check out Gopher and get a sense of how it works, DiggieDog is fine for that. But &lt;a href="https://kvibber.com/reviews/software/lagrange/"&gt;Lagrange&lt;/a&gt; (primarily Gemini, but handles Gopher too) is a lot more usable.&lt;/p&gt;

	&lt;p&gt;
    
    Available from 
      &lt;a href="https://play.google.com/store/apps/details?id=com.afewroosloose.gopher"&gt;Play Store&lt;/a&gt;.
    &lt;/p&gt;
    &lt;footer&gt;This post by &lt;a class="p-author h-card" href="https://kvibber.com" rel="author"&gt;Kelson Vibber&lt;/a&gt; originally appeared &lt;a class="u-url" href="https://kvibber.com/reviews/apps/diggiedog/"&gt;on Kelson Reviews Stuff&lt;/a&gt;&lt;/footer&gt;</content><link href="https://kvibber.com/reviews/apps/diggiedog/"/><summary>★★½☆☆ - Another basic gopher client for Android, with key functions (bookmarks and downloads), but different usability quirks from DeBurrow. The only Gopher app I can still find in the Play Store.</summary><category term="review"/><category term="apps"/><category term="android"/><category term="gopher"/><category term="small-internet"/><category term="tested"/><category term="100daystooffload"/></entry><entry><id>https://journal.kvibber.com/?p=136321</id><title>Why Gemini?</title><updated>2026-09-30T00:30:35+00:00</updated><author><name>Kelson</name></author><content type="html">&lt;p&gt;One of the recurring questions when people familiar with HTML discover the &lt;a href="https://kvibber.com/gemini-protocol.html"&gt;Gemini protocol&lt;/a&gt; is: Why? Why not just write really simple HTML?&lt;/p&gt;
&lt;p&gt;I &lt;a href=""&gt;came to see the appeal&lt;/a&gt; back in 2021, but &lt;a href="https://journal.kvibber.com/2026/09/rediscovering-gopher/"&gt;taking a fresh look at Gopher&lt;/a&gt; this month, and actually building a &lt;a href="gopher://gopher.kvibber.com/"&gt;basic Gopher site&lt;/a&gt;, helped me crystalize something:&lt;/p&gt;
&lt;p&gt;It makes the most sense to look at Gemini and Gemtext in terms of the &lt;a href="https://geminiprotocol.net/history/"&gt;Gopher revival it came out of&lt;/a&gt;. It&amp;#8217;s less &amp;#8220;what do we want to throw out from the web?&amp;#8221; and more &lt;strong&gt;&amp;#8220;what bits of the web do we really miss when building with Gopher?&amp;#8221;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;So it ditches Gopher&amp;#8217;s arcane menu syntax and strict menu/document hierarchy in favor of basic hypertext links that can be used anywhere. It adds word wrap, since we&amp;#8217;re all using different-sized screens now, but makes it possible to keep ascii art/tables when needed. It welcomes global writing systems. Then it adds TLS for protection against eavesdropping.&lt;/p&gt;
&lt;p&gt;The result is something that&amp;#8217;s almost as minimalist as Gopher, but a lot more flexible. That makes it easier to get into than Gopher or hand-crafting your own website, plus it&amp;#8217;s still usable on low-spec hardware or networks.&lt;/p&gt;
&lt;p&gt;As a minimalist web, it seems lacking. As a web-enhanced response to Gopher, the goals are clearer.&lt;/p&gt;
&lt;p&gt;See also: &lt;a href="https://geminiprotocol.net/docs/faq.gmi"&gt;Project Gemini FAQ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The post &lt;a href="https://journal.kvibber.com/2026/09/why-gemini/" rel="nofollow"&gt;Why Gemini?&lt;/a&gt; first appeared on &lt;a href="https://journal.kvibber.com" rel="nofollow"&gt;K-Squared Ramblings&lt;/a&gt;&lt;/p&gt;</content><link href="https://journal.kvibber.com/2026/09/why-gemini/"/><summary type="html">&lt;p&gt;One of the recurring questions when people familiar with HTML discover Gemini is: Why? Why not just write really simple HTML? I think it makes the most sense to look at it in terms of the Gopher revival it came out of.&lt;/p&gt;
&lt;p&gt;The post &lt;a href="https://journal.kvibber.com/2026/09/why-gemini/" rel="nofollow"&gt;Why Gemini?&lt;/a&gt; first appeared on &lt;a href="https://journal.kvibber.com" rel="nofollow"&gt;K-Squared Ramblings&lt;/a&gt;&lt;/p&gt;</summary><category term="Tech Culture"/><category term="100daysToOffload"/><category term="Gemini Protocol"/><category term="Gopher"/><category term="Small Internet"/></entry><entry><id>https://kvibber.com/reviews/books/moon-pool/</id><title>The Moon Pool (book review)</title><updated>2026-09-28T03:58:57+00:00</updated><author><name>Kelson Vibber</name><email>kelson@pobox.com</email></author><content type="html">&lt;p&gt;A. Merritt&lt;/p&gt;
    &lt;p&gt;&lt;abbr class="p-rating" title="3 stars out of 5" value="3"&gt;★★★☆☆&lt;/abbr&gt;&lt;/p&gt;
    &lt;p&gt;I don’t remember why I downloaded &lt;em&gt;The Moon Pool&lt;/em&gt; when I first discovered &lt;a href="https://kvibber.com/reviews/web/standard-ebooks/"&gt;Standard Ebooks&lt;/a&gt; and set about grabbing a bunch of books to read later (as one does). I finally got around to reading it.&lt;/p&gt;
&lt;p&gt;The opening chapters are moody, creepy horror, set on and around an archaeological site at an isolated Pacific island. The locals refuse to stay during the nights of the full moon, and of course the white archaeologists want to know why, and find the secret door, and the hidden pool, and the horrific monster that comes forth in the moonlight and devours people’s souls.&lt;/p&gt;
&lt;p&gt;Side note: the megalithic &lt;a href="https://en.wikipedia.org/wiki/Nan_Madol"&gt;ruins of Nan Madol&lt;/a&gt; are real, though of course they were built by ordinary humans of the South Pacific a few centuries ago.&lt;/p&gt;
&lt;p&gt;Once that tale is done, it shifts gears and becomes a hollow-earth adventure fantasy. (Apparently the book is a fix-up between a short story and its sequel, which explains the shift.) First with some party accretion on the high seas. Like &lt;a href="https://kvibber.com/reviews/books/20000-leagues-under-the-sea/"&gt;&lt;em&gt;20,000 Leagues Under the Sea&lt;/em&gt;&lt;/a&gt; there’s the professor, the manly man, and the third guy who’s there too. Then arrival at the site which turns out to be an entrance to a great underground empire (&lt;a href="https://en.wikipedia.org/wiki/Zork"&gt;not that one&lt;/a&gt;). Frankly, the book gets tedious as the strangers from the surface get their tour. Lost civilization, some advanced technology, factions, wait, they worship the horrifying moon creature?&lt;/p&gt;
&lt;p&gt;It picks up a bit after they get caught up in a sectarian conflict, and the revelation of how the Dweller / Shining One came into being is more interesting than I expected.&lt;/p&gt;
&lt;p&gt;The whole thing is framed as a narrative included in a scientific report, which doesn’t really come into the storytelling much except when the narrator is talking about how some of the tech works, and the committee redacts it.&lt;/p&gt;
&lt;h2&gt;Changing Times&lt;/h2&gt;
&lt;p&gt;A few things stick out like sore thumbs:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;The gigantic moon-sized hollow underneath the Pacific makes no sense. Scientists had speculated at the time that the Moon broke away from Earth, but have since figured out that any collision with enough energy to cause that would have melted both bodies enough that they’d re-shape themselves as spheres again. More like pulling a chunk of clay out of a ball and then shaping both chunks back into balls, only with gravity instead of your hands. OK, fine, it’s fantastic fiction, it’s just a jumping-off-point for a setting. Whatever.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The casual racism. It doesn’t reach the level of H.P. Lovecraft’s obsession with racial purity, but one of the protagonists specifically asks early on for white men to help, and the lost civilization is also specifically white (despite speaking a recognizably Polynesian language), and when Chinese and Pacific Islanders are mentioned at all, the phrasing is…not complimentary.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The connection to Irish mythology is actually kind of interesting, but since the hollow is literally on the opposite side of the globe from Ireland, it doesn’t make much sense.&lt;/p&gt;
&lt;ol start="3"&gt;
&lt;li&gt;The casual sexism. To be fair, the women from the archaeological dig turn out to be quite competent, they just get picked off in the first chapters. But of course there aren’t any women in the follow-up expedition, and the women of the underground world are all half-dressed (or less) for no particular reason, and the two major factions get boiled down to jealousy between the two priestesses who both lust after the Manly Hero Guy™. Or at least one lusts over him and the other conveniently falls in love with him at first sight.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;According to both Standard Ebooks and Wikipedia, &lt;em&gt;The Moon Pool&lt;/em&gt; was a significant entry in the lost-world genre, and specifically influenced Lovecraft’s Cthulhu mythos (with the drowned city of R’lyeh and the cosmic, ancient horror). (I also caught echoes of Disney’s Atlantis, of &lt;em&gt;The Dream-Quest of Unknown Kadath&lt;/em&gt;, and ) But while some influential works are timeless, some, like this one, are very much stuck in their own time.&lt;/p&gt;

	&lt;p&gt;
    
    Available from 
      &lt;a href="https://standardebooks.org/ebooks/a-merritt/the-moon-pool"&gt;Standard Ebooks&lt;/a&gt;.
    &lt;/p&gt;
    &lt;footer&gt;This post by &lt;a class="p-author h-card" href="https://kvibber.com" rel="author"&gt;Kelson Vibber&lt;/a&gt; originally appeared &lt;a class="u-url" href="https://kvibber.com/reviews/books/moon-pool/"&gt;on Kelson Reviews Stuff&lt;/a&gt;&lt;/footer&gt;</content><link href="https://kvibber.com/reviews/books/moon-pool/"/><summary>★★★☆☆ - A. Merritt: A moody horror tale set among megalithic ruins in the South Pacific segues into a hollow-earth adventure that, while influential in its time, is very much *of* that time.</summary><category term="review"/><category term="books"/><category term="a-merritt"/><category term="science-fiction"/><category term="fantasy"/><category term="portal-fantasy"/><category term="moon"/><category term="horror"/><category term="cosmic-horror"/><category term="hollow-earth"/><category term="100daystooffload"/></entry><entry><id>https://kvibber.com/reviews/tv/severance-s1/</id><title>Severance - Season 1 (TV review)</title><updated>2026-09-25T22:27:13+00:00</updated><author><name>Kelson Vibber</name><email>kelson@pobox.com</email></author><content type="html">&lt;p&gt;&lt;abbr class="p-rating" title="5 stars out of 5" value="5"&gt;★★★★★&lt;/abbr&gt;&lt;/p&gt;
    &lt;p&gt;I finally watched the first season of &lt;em&gt;Severance&lt;/em&gt;. There isn’t a bad episode in the bunch. The slow burn from Helly waking up with no memory, through Mark finding out about their missing colleague, through the revelation in the season finale of who the rest of the Macro-Data Refinement team’s outside selves are (not to mention the wellness counsellor) is utterly gripping. And some of the curveballs &lt;em&gt;really hurt&lt;/em&gt;.&lt;/p&gt;
&lt;aside&gt;If you're not familiar with the premise, it's set in a high-security workplace that uses brain chips to permanently separate employees' in-office memories from their outside memories.&lt;/aside&gt;
&lt;p&gt;What can I say about the absurdity of the Severed floor? No last names, giant open-floor-plan rooms with a handful of desks in the middle, bright lights everywhere except the hallways to places you really don’t want to go, a maze of empty, backrooms-like corridors keeping departments separate, an incentive structure that boils down to Applied Behavior Analysis (ABA) for infantilized adult office workers, and a bizarre company culture that more-or-less worships the founder’s family?&lt;/p&gt;
&lt;p&gt;Not that the outside world &lt;em&gt;lacks&lt;/em&gt; absurdity. Mark’s brother-in-law the self-help guru (and his friend group), and his relationship with his older neighbor, are probably the most absurd aspects before you get into the &lt;em&gt;what-is-Lumon-actually doing?&lt;/em&gt; questions. (Of course most of the outside scenes are dark, taking place after or before work hours.) And then there are the people who cross the boundaries.&lt;/p&gt;
&lt;p&gt;It’s the ultimate in worker exploitation. You can’t file a complaint except with management, and your “outie” won’t remember having filed it, so you just have to gamble on management passing it along. Any skills you develop can’t transfer to another job, because you won’t remember them.&lt;/p&gt;
&lt;p&gt;And the cast…Christopher Walken and John Turturro are good in everything, of course. Dichen Lachman absolutely nails the odd-but-compelling wellness counsellor. Tramell Tillman maintains an undercurrent of menace even when he’s presenting in dead-on, full-corporate faux-friendly mode. Patricia Arquette has matured into an actress who can be both a sweet old charming grandmother type who’ll bake you cookies &lt;em&gt;and&lt;/em&gt; a terrifying force of nature who rules the office as an immovable object with an iron fist. (And sometimes that fist throws things.)&lt;/p&gt;
&lt;p&gt;In a weird bit of timing, I picked up &lt;em&gt;There Is No Antimemetics Division&lt;/em&gt; around the same time. (Also very good!) A big part of that is making plans you won’t be able to remember in a way that they’ll still happen after you forget them. Something that’s highly relevant here, too.&lt;/p&gt;

	
    &lt;footer&gt;This post by &lt;a class="p-author h-card" href="https://kvibber.com" rel="author"&gt;Kelson Vibber&lt;/a&gt; originally appeared &lt;a class="u-url" href="https://kvibber.com/reviews/tv/severance-s1/"&gt;on Kelson Reviews Stuff&lt;/a&gt;&lt;/footer&gt;</content><link href="https://kvibber.com/reviews/tv/severance-s1/"/><summary>★★★★★ - Wow! Not a bad episode in the bunch. The slow burn from Helly waking up in the first scene to the revelations of the season finale is gripping, and some of the curveballs *hurt*.</summary><category term="review"/><category term="tv"/><category term="memory"/><category term="identity"/><category term="science-fiction"/><category term="office"/><category term="mental-health"/><category term="corporatism"/><category term="100daystooffload"/></entry><entry><id>https://kvibber.com/reviews/software/overbite/</id><title>Overbite Gopher Clients (software review)</title><updated>2026-09-20T23:08:11+00:00</updated><author><name>Kelson Vibber</name><email>kelson@pobox.com</email></author><content type="html">&lt;p&gt;&lt;abbr class="p-rating" title="2 stars out of 5" value="2"&gt;★★☆☆☆&lt;/abbr&gt;&lt;/p&gt;
    &lt;p&gt;&lt;a href="http://gopher.floodgap.com/overbite/"&gt;The Overbite Project&lt;/a&gt; is an effort to bring Gopher access to modern software and operating systems. Mostly in the form of web browser extensions, plus an Android app.&lt;/p&gt;
&lt;p&gt;Unfortunately, modern systems are a moving target.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://gopher.floodgap.com/overbite/relevance.html"&gt;Why Gopher is still relevant&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Firefox Extensions&lt;/h2&gt;
&lt;p&gt;Overbite has written three different Firefox extensions to enable Gopher access over the years:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://gopher.floodgap.com/overbite/d?ff38"&gt;OverbiteFF&lt;/a&gt; used the old extension scheme and connected to Gopher sites directly. No longer supported, and might work on SeaMonkey, but I wasn’t able to get it to work with the latest release.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/overbitewx/"&gt;OverbiteWX&lt;/a&gt; just routes gopher requests through the &lt;a href="https://gopher.floodgap.com/gopher/gw"&gt;Floodgap Gopher Proxy&lt;/a&gt;, since the current extension system can’t make direct network requests outside of HTTP(S). It’s convenient, but it’s just as easy to bookmark the proxy. And of course you’re routing everything through one server.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/overbitenx/"&gt;OverbiteNX&lt;/a&gt; connects to a local, third-party Gopher component. You do have to &lt;em&gt;install&lt;/em&gt; that component, but it should be faster (and slightly more private, keeping in mind that Gopher is entirely transmitted in the clear.) This sounds a lot better, but I haven’t been able to get it to work with Firefox on Linux so far.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;(They used to have a Chrome extension too, but discontinued it when Chrome broke compatibility.)&lt;/p&gt;
&lt;h2&gt;Android App&lt;/h2&gt;
&lt;p&gt;Overbite’s Android app is still in alpha. I wanted to try it out, so I downloaded the .apk to my phone. It works, but it’s more a proof-of-concept than a full-fledged application. It handles the basics: gopher menus, documents, and searches, and it’ll both accept gopher links from your web browser and send web links back to it.&lt;/p&gt;
&lt;p&gt;But there’s no history or bookmarks, and it can’t download files. The menu icons are all sized awkwardly bigger than the text. It hasn’t been updated since 2022, and it’s not clear whether anyone’s still working on it.&lt;/p&gt;
&lt;p&gt;It does have one cool feature I haven’t seen in the other (all two of 'em) gopher clients I’ve tried: You can add a gopher site to your phone’s home screen.&lt;/p&gt;
&lt;h2&gt;Bottom Line&lt;/h2&gt;
&lt;p&gt;The Firefox platform seems to have moved on, and the Android app stalled at the barely-testable stage. I’ve had much better experience running standalone Gemini clients that also support Gopher, like &lt;a href="https://kvibber.com/reviews/software/kristall/"&gt;Kristall&lt;/a&gt; and &lt;a href="https://kvibber.com/reviews/software/lagrange/"&gt;Lagrange&lt;/a&gt;.&lt;/p&gt;

	&lt;p&gt;
    
    Available from 
      &lt;a href="http://gopher.floodgap.com/overbite/"&gt;Website&lt;/a&gt;,
      &lt;a href="gopher://gopher.floodgap.com/1/overbite/"&gt;Gopher site&lt;/a&gt;.
    &lt;/p&gt;
    &lt;footer&gt;This post by &lt;a class="p-author h-card" href="https://kvibber.com" rel="author"&gt;Kelson Vibber&lt;/a&gt; originally appeared &lt;a class="u-url" href="https://kvibber.com/reviews/software/overbite/"&gt;on Kelson Reviews Stuff&lt;/a&gt;&lt;/footer&gt;</content><link href="https://kvibber.com/reviews/software/overbite/"/><summary>★★☆☆☆ - A project to bring gopher to modern devices, which unfortunately seems to have been passed by again.</summary><category term="review"/><category term="software"/><category term="gopher"/><category term="android"/><category term="firefox"/><category term="browser-add-on"/><category term="tested"/><category term="100daystooffload"/></entry><entry><id>https://journal.kvibber.com/?p=136282</id><title>Return to Worldcon: LA 2026</title><updated>2026-09-19T23:09:19+00:00</updated><author><name>Kelson</name></author><content type="html">&lt;p&gt;&lt;img alt="A round, flying-saucer-shaped building on a bright sunny day, flanked with palm trees." class="alignleft size-medium wp-image-136284" height="225" src="https://journal.kvibber.com/wp-content/uploads/2026/09/anaheim-arena-300x225.jpg" width="300" /&gt;This year&amp;#8217;s &lt;a href="https://www.worldcon.org/"&gt;Worldcon&lt;/a&gt;, &lt;a href="https://www.lacon.org/"&gt;LAcon V&lt;/a&gt; in Los Angeles (well, Anaheim), felt small. And it wasn&amp;#8217;t just comparing to older cons like &lt;a href="https://journal.kvibber.com/2012/10/chicon7/"&gt;Chicon 7 (2012)&lt;/a&gt; and &lt;a href="https://journal.kvibber.com/2006/08/orange-haze/"&gt;LAcon IV (2006)&lt;/a&gt;. I don&amp;#8217;t know how much of it was that we only went on Sunday (the last Sunday in August), and how much of it was that the section of the convention center they booked was just way too big for the number of attendees, but I gather from what I&amp;#8217;ve heard that it was in fact comparatively small for a Worldcon. (It&amp;#8217;s also been suggested that some people who ordinarily would have traveled internationally to attend figured it might not be worth the risk.) I don&amp;#8217;t know how anyone managed to catch Covid there.&lt;/p&gt;
&lt;p&gt;At least the lines for the food trucks were short.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://journal.kvibber.com/2026/09/october-daye-cosplay/"&gt;&lt;img alt="A world-weary woman in jeans, leather jacket, and bloodstained tank top with a stab hole through it, standing next to a cat-shaped creature (prop, not real) made of dried vines, leaves and thorns with a pair of glowing yellow eyes." class="alignright size-medium wp-image-136270" height="300" src="https://journal.kvibber.com/wp-content/uploads/2026/09/october-daye-cosplay-2-200x300.jpg" width="200" /&gt;&lt;/a&gt;I mentioned in the post about &lt;a href="https://journal.kvibber.com/2026/09/october-daye-cosplay/"&gt;Katie&amp;#8217;s October Daye cosplay&lt;/a&gt; that this was our first con since 2019. It was also our first general sci-fi/fantasy con in ages. More bookish, skewing older than comic cons, less cosplay. (There was more cosplay at the Undertale concert we went to on Friday the same weekend. A &lt;em&gt;lot&lt;/em&gt; more.) Katie went to several panels on writing and worldbuilding, and I made sure to catch the &lt;a href="https://kvibber.com/reviews/tv/murderbot-s1/"&gt;&lt;i&gt;Murderbot&lt;/i&gt; book-to-TV&lt;/a&gt; panel.&lt;/p&gt;
&lt;p&gt;&lt;img alt="A sculpture of mirrors and LED strip lights, in the form of a hypercube tesseract, reflecting itself on and on forever." class="alignleft size-medium wp-image-136288" height="240" src="https://journal.kvibber.com/wp-content/uploads/2026/09/hypercube-300x240.jpg" width="300" /&gt;The teenager made a beeline for the video game room, only to discover that it was one person promoting his own games (which at least were interesting), a handful of old game consoles, and another person keeping track of a library of cartridges you could check out. It was cool to try out the old consoles, but the novelty wore off pretty quickly since the sparse attendence meant there wasn&amp;#8217;t anyone to &lt;em&gt;play&lt;/em&gt; the games with except when I joined him there. The other cool thing he found was an electronics workshop with circuit boards shaped like (among other things) caffeine and theobromine (chocolate) molecules, with LEDs and soldering stations where you could attach the LEDs yourself.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Looking down at the atrium of a hotel lobby. Ringed lights rise above a bar in the center, surrounded by cushy seating areas. A couple of balconies are visible along the inner walls and a staircase or escalator climbs diagonally across the far side." class="alignright size-medium wp-image-136287" height="225" src="https://journal.kvibber.com/wp-content/uploads/2026/09/hilton-atrium-300x225.jpg" width="300" /&gt;The con was split between the Hilton (which has been there forever) and the newest section of the convention center, next to the classic flying-saucer arena. (I think it was under construction the last time we were here for WonderCon.) Stylisticaly it looks like the expansion built in the 2000s: A curved full-height lobby with floor-to-ceiling windows, a lower level for general space, and an upper level. The difference is that the upper level is &lt;em&gt;also&lt;/em&gt; big enough for general space, with portable walls to create breakout conference rooms. This meant even the hallways were gigantic, contributing to the feeling that, as Katie put it, the people were rattling around in a space too big for them.&lt;/p&gt;
&lt;p&gt;&lt;img alt="6-foot-high scaffolding for a marble run." class="alignleft size-medium wp-image-136286" height="225" src="https://journal.kvibber.com/wp-content/uploads/2026/09/chaos-machine-300x225.jpg" width="300" /&gt;I had a few other panels that I was sort of interested in, but decided to prioritize going through the entire art show and making at least a single pass through the dealer&amp;#8217;s room. I don&amp;#8217;t regret that decision, because it meant I got to take my time really looking at the art. I didn&amp;#8217;t buy much &amp;#8211; a handful of books by guests and Hugo nominees, some stickers, a tote bag. They were out of T-shirts in most sizes, so I didn&amp;#8217;t get the one they were selling onsite. (I bought the other design online afterward.)&lt;/p&gt;
&lt;p&gt;Katie met up with one of her friends, and a family friend I hadn&amp;#8217;t seen in years turned out to be helping run registration. Otherwise we didn&amp;#8217;t run into anyone we know this time.&lt;/p&gt;
&lt;p&gt;The only book I brought for autographs was &lt;i&gt;Good Omens&lt;/i&gt; (the Ineffable Graphic Novel), because I hadn&amp;#8217;t make time to look through the guest list. Instead, I hastily tossed stuff in my backpack the morning of the con while Katie splashed fake blood on herself for her costume. I remembered Colleen Doran was there, and figured anyone else doing signings I could probably buy something at the con. Most of Sunday&amp;#8217;s signings were authors or artists I didn&amp;#8217;t know, but I &lt;em&gt;did&lt;/em&gt; manage to find Doran&amp;#8217;s booth toward the end of the afternoon!&lt;/p&gt;
&lt;p&gt;&lt;a href="https://flickr.com/photos/kelsonv/albums/72177720335442918/"&gt;Photo Gallery on Flickr&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="A round building in the foreground, and a wavy-looking glass building in the background, with palm frons reaching down from the top of the frame." class="aligncenter size-full wp-image-136285" height="518" src="https://journal.kvibber.com/wp-content/uploads/2026/09/anaheim-cc-north-entrance.jpg" width="1200" /&gt;&lt;/p&gt;
&lt;p&gt;The post &lt;a href="https://journal.kvibber.com/2026/09/laconv/" rel="nofollow"&gt;Return to Worldcon: LA 2026&lt;/a&gt; first appeared on &lt;a href="https://journal.kvibber.com" rel="nofollow"&gt;K-Squared Ramblings&lt;/a&gt;&lt;/p&gt;</content><link href="https://journal.kvibber.com/2026/09/laconv/"/><summary type="html">&lt;p&gt;This year's Worldcon, LAcon V in Los Angeles (well, Anaheim), felt small, like the convention was too big for the people. But we had fun.&lt;/p&gt;
&lt;p&gt;The post &lt;a href="https://journal.kvibber.com/2026/09/laconv/" rel="nofollow"&gt;Return to Worldcon: LA 2026&lt;/a&gt; first appeared on &lt;a href="https://journal.kvibber.com" rel="nofollow"&gt;K-Squared Ramblings&lt;/a&gt;&lt;/p&gt;</summary><category term="Conventions"/><category term="Sci-Fi/Fantasy"/><category term="100daysToOffload"/><category term="Anaheim"/><category term="Anaheim Convention Center"/><category term="electonics"/><category term="LACon"/><category term="LAconV"/><category term="Worldcon"/></entry><entry><id>https://kvibber.com/reviews/apps/murine-launcher/</id><title>Murine Launcher for Android (app review)</title><updated>2026-09-19T00:05:24+00:00</updated><author><name>Kelson Vibber</name><email>kelson@pobox.com</email></author><content type="html">&lt;p&gt;&lt;abbr class="p-rating" title="5 stars out of 5" value="5"&gt;★★★★★&lt;/abbr&gt;&lt;/p&gt;
    &lt;p&gt;OK, now &lt;em&gt;this&lt;/em&gt; is what I wanted in an alternate Android launch screen. It’s a fork of the stock Android launcher that lets you do a few things the stock one doesn’t, like removing the clock on the home screen, or removing that always-on search bar – or setting it to a different search engine than Google.&lt;/p&gt;
&lt;p&gt;It’s more capable than /e/OS’s default &lt;a href="https://kvibber.com/reviews/software/eos/#launcher"&gt;Bliss Launcher&lt;/a&gt;, and a lot more stable and snappier than &lt;a href="https://kvibber.com/reviews/apps/fossify-launcher/"&gt;Fossify Launcher&lt;/a&gt;. Customize the grid size, enable/disable notification dots, put widgets wherever you want, save and restore your layout… The only thing it’s missing is an option to pause notifications for a specific app.&lt;/p&gt;
&lt;p&gt;And of course no ads or tracking. There’s a reason I went looking on F-Droid first.&lt;/p&gt;
&lt;p&gt;I’ve installed it on both the Fairphone 4 and newly revived Pixel 5 to replace Fossify (after replacing Bliss), and I have no regrets whatsoever.&lt;/p&gt;
&lt;p&gt;One stumbling block: finding it. Murine hides itself from the app menu, and it appears in the system app settings as Launcher:3. But you can always access its settings by long-pressing on an empty space on the home screen.&lt;/p&gt;

	&lt;p&gt;
    More info at &lt;a href="https://www.murinelauncher.app"&gt;Murine Launcher for Android&lt;/a&gt;.
    Available from 
      &lt;a href="https://f-droid.org/en/packages/app.murinelauncher/"&gt;F-Droid&lt;/a&gt;,
      &lt;a href="https://play.google.com/store/apps/details?id=app.murinelauncher"&gt;Google Play&lt;/a&gt;.
    &lt;/p&gt;
    &lt;footer&gt;This post by &lt;a class="p-author h-card" href="https://kvibber.com" rel="author"&gt;Kelson Vibber&lt;/a&gt; originally appeared &lt;a class="u-url" href="https://kvibber.com/reviews/apps/murine-launcher/"&gt;on Kelson Reviews Stuff&lt;/a&gt;&lt;/footer&gt;</content><link href="https://kvibber.com/reviews/apps/murine-launcher/"/><summary>★★★★★ - A fork of the stock Android launcher that lets you do things like remove that always-on search bar (or point it somewhere else). Stable and fast.</summary><category term="review"/><category term="apps"/><category term="android"/><category term="floss"/><category term="degoogling"/><category term="minimalism"/><category term="privacy"/><category term="eos"/><category term="using"/><category term="100daystooffload"/></entry><entry><id>https://journal.kvibber.com/?p=136295</id><title>Sleep Study (no Android, no Electric Sheep)</title><updated>2026-09-15T20:00:12+00:00</updated><author><name>Kelson</name></author><content type="html">&lt;p&gt;I finally went in for a sleep study. These days they start with a night of at-home monitoring. Not only is it simpler, but you&amp;#8217;re sleeping somewhere familiar, so the results are going to be more representative. This place at least uses a medical-grade monitoring ring and a phone app to collect and report the data.&lt;/p&gt;
&lt;p&gt;Easy, right?&lt;/p&gt;
&lt;p&gt;Well, first let&amp;#8217;s say I&amp;#8217;m glad I keep a micro-USB cable for charging &lt;a href="https://kvibber.com/reviews/books/kobo/"&gt;the Kobo&lt;/a&gt; and my power brick.&lt;/p&gt;
&lt;h3&gt;Seeking Compatibility&lt;/h3&gt;
&lt;p&gt;Second, there was the problem of pairing the device.&lt;/p&gt;
&lt;p&gt;The app installed happily on &lt;a href="https://kvibber.com/reviews/products/fairphone4/"&gt;my FairPhone 4&lt;/a&gt;, but no matter what I did, it just wouldn&amp;#8217;t pair with the ring. I don&amp;#8217;t know if there was some extra permission I missed, or if the app relies on Google services in a way that microG can&amp;#8217;t handle.&lt;/p&gt;
&lt;p&gt;Last week I got &lt;a href="https://kvibber.com/reviews/products/pixel5/"&gt;the Pixel 5&lt;/a&gt; back from the repair shop that replaced the fire-hazard battery. I thought, well, I&amp;#8217;ll try that. But the first thing I did when I got the phone home was install &lt;a href="https://kvibber.com/reviews/software/eos/"&gt;/e/OS&lt;/a&gt; on it (since mainstream Android is no longer supported on it, but /e/OS is). So that didn&amp;#8217;t work either. &lt;/p&gt;
&lt;p&gt;OK, how about I dig out my tablet that&amp;#8217;s running stock Android? Nope, too old. The app wouldn&amp;#8217;t even install. Same with Katie&amp;#8217;s phone.&lt;/p&gt;
&lt;p&gt;If it had been earlier in the day, I would have considered reinstalling stock Android on the Pixel 5. &lt;/p&gt;
&lt;p&gt;In the end, I borrowed our son&amp;#8217;s iPad. The app installed, and it paired immediately. I wore the ring overnight, kept waking up with my hand numb because I&amp;#8217;d pinched a nerve or slept on it funny, and in the morning I hit Stop and uploaded the results.&lt;/p&gt;
&lt;h3&gt;Our Own Devices&lt;/h3&gt;
&lt;p&gt;The system is simple&amp;#8230;&lt;em&gt;if you have a up-to-date, mainstream mobile device&lt;/em&gt; to pair it with. We&amp;#8217;ve been hanging onto older devices on the &amp;#8220;If it ain&amp;#8217;t broke, don&amp;#8217;t replace it&amp;#8221; principle.&lt;/p&gt;
&lt;p&gt;I guess &lt;a href="https://journal.kvibber.com/2026/08/planned-obsolescence/"&gt;in a way they &lt;em&gt;are&lt;/em&gt; &amp;#8220;broken,&amp;#8221;&lt;/a&gt; and so is the nonstandard replacement, under some circumstances. At least we &lt;em&gt;can&lt;/em&gt; buy newer hardware. Not everyone&amp;#8217;s in that position. I just don&amp;#8217;t want to &lt;em&gt;have&lt;/em&gt; to.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;m beginning to think I should put stock Android back on the Pixel, until Android 14 becomes too old to run things, just to keep it on hand for situations like this. Like keeping a Windows partition on your Linux box. Except it has to be an extra physical device.&lt;/p&gt;
&lt;p&gt;The post &lt;a href="https://journal.kvibber.com/2026/09/sleep-android/" rel="nofollow"&gt;Sleep Study (no Android, no Electric Sheep)&lt;/a&gt; first appeared on &lt;a href="https://journal.kvibber.com" rel="nofollow"&gt;K-Squared Ramblings&lt;/a&gt;&lt;/p&gt;</content><link href="https://journal.kvibber.com/2026/09/sleep-android/"/><summary type="html">&lt;p&gt;I finally went in for a sleep study. These days they start with a night of at-home monitoring. Not only is it simpler, but you&amp;#8217;re sleeping somewhere familiar, so the results are going to be more representative. This place at least uses a medical-grade monitoring ring and a phone app to collect and report the [&amp;#8230;]&lt;/p&gt;
&lt;p&gt;The post &lt;a href="https://journal.kvibber.com/2026/09/sleep-android/" rel="nofollow"&gt;Sleep Study (no Android, no Electric Sheep)&lt;/a&gt; first appeared on &lt;a href="https://journal.kvibber.com" rel="nofollow"&gt;K-Squared Ramblings&lt;/a&gt;&lt;/p&gt;</summary><category term="Annoyances"/><category term="Tech"/><category term="/e/OS"/><category term="100daysToOffload"/><category term="Android"/><category term="compatibility"/><category term="Fairphone"/><category term="Pixel Phone"/><category term="sleep"/></entry><entry><id>https://journal.kvibber.com/?p=136328</id><title>Rediscovering Gopher</title><updated>2026-09-12T03:53:17+00:00</updated><author><name>Kelson</name></author><content type="html">&lt;p&gt;I have very few memories of Gopher when it was current. &lt;a href="https://journal.kvibber.com/2021/12/early-internet/"&gt;It was already on its way out&lt;/a&gt; when I started college. The course catalogs and a few other things were available, but not much else, and if they ever offered student gopher space, I don&amp;#8217;t remember it. I don&amp;#8217;t even remember for sure if the student web space was available my first year or if they added that the second year.&lt;/p&gt;
&lt;p&gt;So I missed Gopher&amp;#8217;s heyday (such as it was). And I was fully enmeshed in the blogosphere when the gopher revival started. I hadn&amp;#8217;t even heard of a &amp;#8220;phlog&amp;#8221; until I &lt;a href=""&gt;discovered the Gemini Protocol&lt;/a&gt; in 2021, and read about how in a way it was a &lt;a href="https://journal.kvibber.com/2026/09/why-gemini/"&gt;reaction to that Gopher revival&lt;/a&gt;, trying to build something that was almost as simple, but with a few key features backported from the web. (Hyperlinks, some very minimal formatting, TLS to prevent eavesdropping, and general user input.)&lt;/p&gt;
&lt;p&gt;I got out of Gemini for a while as I focused on my website again, then came back to it (but not as thoroughly). A blog post by Brennan Kenneth Brown, &lt;a href="https://brennan.day/gemini-gophers-and-fingers-oh-my-alternative-internets-beyond-https/"&gt;Gemini, Gophers and Fingers, Oh My!&lt;/a&gt; got me thinking about Gopher again.&lt;/p&gt;
&lt;p&gt;And then I got stopped by the most trivial stumbling block ever: Naming. I felt like I needed to set up a Gopher presence before really diving in. And I wanted to just use my domain name like I do with my website and Gemini capsule&amp;#8230;but Gopher listens on a protected port. That means I can&amp;#8217;t run a server in the userspace on my webhost. I have to run it on something I have root access to (or else let someone else manage the software, which I probably should&amp;#8217;ve started with). And the idea of typing this:&lt;/p&gt;
&lt;pre&gt;
	gopher gopher://gopher.kvibber.com
&lt;/pre&gt;
&lt;p&gt;just seemed absurd.&lt;/p&gt;
&lt;p&gt;(Then again, maybe it&amp;#8217;s not that trivial. There&amp;#8217;s a reason for the classic phrase about the only really hard problems in computing being naming things and cache invalidation. And off-by-one errors.)&lt;/p&gt;
&lt;p&gt;Eventually I got around to &lt;a href="https://notes.kvibber.com/@kelson/statuses/01M0EBSGCAWFW86ZTE3SXQ7G53"&gt;asking on the Fediverse&lt;/a&gt;, a place with a large population of Old Internet People like myself (and older): What naming conventions did people use for Gopher sites back then?&lt;/p&gt;
&lt;p&gt;The consensus was that most sites just used a gopher prefix.&lt;/p&gt;
&lt;p&gt;Though I did contemplate some sort of pun like pocket or botta (as in &lt;a href="https://www.inaturalist.org/taxa/1624661-Megascapheus-bottae"&gt;Botta&amp;#8217;s Pocket Gopher&lt;/a&gt;, the most common one I see here in the Los Angeles area according to the rare photo I catch and post to iNaturalist).&lt;/p&gt;
&lt;p&gt;Anyway, a &lt;a href="https://brennan.day/oldnets-and-altnets-a-guide-to-building-a-low-spec-daily-internet-out-of-gemini-gopher-and-terminal-tools/"&gt;follow-up to Brown&amp;#8217;s post&lt;/a&gt; the other day prompted me to just build something.&lt;/p&gt;
&lt;p&gt;I pointed gopher.kvibber.com to one of my VPSes, picked a reasonably current (by Gopher standards) piece of server software (Gophernicus, latest release 2020), and promptly discovered that not only is Gophernicus not available directly in Alpine Linux, but it relies on a system network listener (inetd, xinetd, systemd), and Alpine doesn&amp;#8217;t install any of those by default. So&lt;br /&gt;
&lt;a href="https://kvibber.com/tech-tips/gophernicus-alpine/"&gt;I figured out how&lt;/a&gt; to get inetd running on Alpine, built Gophernicus and started it up.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ve pulled in a few pages from my Gemini capsule to start with. And now that I have that place to start, I feel like going exploring.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Originally posted on &lt;a href="gopher://gopher.kvibber.com/"&gt;gopher.kvibber.com&lt;/a&gt;.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;The post &lt;a href="https://journal.kvibber.com/2026/09/rediscovering-gopher/" rel="nofollow"&gt;Rediscovering Gopher&lt;/a&gt; first appeared on &lt;a href="https://journal.kvibber.com" rel="nofollow"&gt;K-Squared Ramblings&lt;/a&gt;&lt;/p&gt;</content><link href="https://journal.kvibber.com/2026/09/rediscovering-gopher/"/><summary type="html">&lt;p&gt;I mostly missed Gopher's heyday (such as it was), but after getting into Gemini, a couple of recent blog posts relating to the Gopher revival got me interested in digging into it again.&lt;/p&gt;
&lt;p&gt;The post &lt;a href="https://journal.kvibber.com/2026/09/rediscovering-gopher/" rel="nofollow"&gt;Rediscovering Gopher&lt;/a&gt; first appeared on &lt;a href="https://journal.kvibber.com" rel="nofollow"&gt;K-Squared Ramblings&lt;/a&gt;&lt;/p&gt;</summary><category term="Tech Culture"/><category term="100daysToOffload"/><category term="Gopher"/><category term="Imported Post"/><category term="Naming"/><category term="Small Internet"/></entry><entry><id>https://kvibber.com/tech-tips/gophernicus-alpine/</id><title>Running Gophernicus on Alpine Linux</title><updated>2026-09-11T03:12:24+00:00</updated><author><name>Kelson Vibber</name><email>techtips@kvibber.com</email></author><content type="html">&lt;p&gt;After using Gemini for more than 5 years, I finally decided to experiment with Gopher again.&lt;br /&gt;
&lt;a href="https://kvibber.com/gemini-protocol.html"&gt;The Gemini Protocol In Brief&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Low End Box has a guide to running a Gopher server on a modern Linux server.&lt;br /&gt;
&lt;a href="https://lowendbox.com/blog/running-a-gopher-server-on-a-vps-retro-internet-with-modern-tools/"&gt;Running Gopher on a VPS&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;They recommend Gophernicus, partly because it’s available on Debian-based systems through &lt;code&gt;apt&lt;/code&gt;. I wanted to add it to an existing Alpine Linux server, so I had to build it from source.&lt;br /&gt;
&lt;a href="https://kvibber.com/reviews/software/alpine-linux/"&gt;What I Like About Alpine Linux&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://github.com/gophernicus/gophernicus"&gt;Gophernicus&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;One snag: Gophernicus doesn’t listen to the network directly, it uses whatever network listener service the system provides. In the case of Linux, that’s usually &lt;code&gt;systemd&lt;/code&gt;, &lt;code&gt;inetd&lt;/code&gt; or &lt;code&gt;xinetd&lt;/code&gt;. Alpine doesn’t ship with any of these. It uses OpenRC for running services instead of systemd.&lt;br /&gt;
&lt;a href="https://wiki.alpinelinux.org/wiki/OpenRC"&gt;OpenRC and Alpine Linux&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Alpine &lt;em&gt;does&lt;/em&gt; include &lt;code&gt;inetd&lt;/code&gt; functionality in Busybox, if you add the &lt;code&gt;busybox-extras&lt;/code&gt; package, and initialization scripts for it in &lt;code&gt;busybox-extras-openrc&lt;/code&gt;.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-sh"&gt;doas apk add busybox-extras busybox-extras-openrc
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now you can build and install the gopher server.&lt;br /&gt;
&lt;a href="https://github.com/gophernicus/gophernicus/blob/master/INSTALL.md"&gt;Installing Gophernicus&lt;/a&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-sh"&gt;./configure --listener=inetd
make
doas make install
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Assuming no errors, you can either test it first by running &lt;code&gt;doas inetd -f&lt;/code&gt; and trying to hit the site with a gopher client (or running &lt;code&gt;netstat -lt&lt;/code&gt; and looking for gopher, or &lt;code&gt;telnet localhost 70&lt;/code&gt;)…or go straight to setting up OpenRC to launch it at boot:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;doas rc-update add inetd default
doas rc-service inetd start
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Config changes&lt;/h2&gt;
&lt;p&gt;When I built Gophernicus, it generated an /etc/inetd.conf that was just right enough for inetd to pass requests to it, but just wrong enough that it didn’t recognize the options being passed to it.&lt;/p&gt;
&lt;p&gt;Generated (wrong)&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;gopher	stream	tcp	nowait	nobody	//usr/local/sbin/gophernicus -h hostname.example.com -nv
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Fixed &lt;code&gt;/etc/inet.conf&lt;/code&gt; line, with additional options added:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;gopher	stream	tcp	nowait	nobody	/usr/local/sbin/gophernicus	gophernicus -h hostname.example.com -nv -nu -r /path/to/my/gopher/files
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I also found that simply reloading the inetd service wouldn’t pick up the changes. You have to restart it.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;doas rc-service inetd restart
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Firewall Config Using AWall&lt;/h2&gt;
&lt;p&gt;If you have a software firewall on your server (and you really should), you need to open up &lt;strong&gt;TCP port 70&lt;/strong&gt;. If you’re using Alpine Wall (aka &lt;code&gt;awall&lt;/code&gt;) to configure your firewall, you need to first tell it what port Gopher listens on, then tell it to allow incoming traffic to Gopher.&lt;/p&gt;
&lt;p&gt;First, create (or edit) &lt;code&gt;/etc/awall/private/custom-services.json&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-JSON"&gt;{
	&amp;quot;service&amp;quot;: {
		/* you can define other services here if you want */
		&amp;quot;gopher&amp;quot;: [
			{ &amp;quot;proto&amp;quot;: &amp;quot;tcp&amp;quot;, &amp;quot;port&amp;quot;: 70 }
		]
	}
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Next, create &lt;code&gt;/etc/awall/optional/gopher.json&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-JSON"&gt;{
	&amp;quot;description&amp;quot;: &amp;quot;Allow incoming Gopher on port 70&amp;quot;,
	&amp;quot;import&amp;quot;: [ &amp;quot;custom-services&amp;quot; ],
	&amp;quot;filter&amp;quot;: [
		{
			&amp;quot;in&amp;quot;: &amp;quot;internet&amp;quot;,
			&amp;quot;out&amp;quot;: &amp;quot;_fw&amp;quot;,
			&amp;quot;service&amp;quot;: [ &amp;quot;gopher&amp;quot;],
			&amp;quot;action&amp;quot;: &amp;quot;accept&amp;quot;
		}
	]
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now enable it:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-sh"&gt;doas ln -s /etc/awall/optional/gopher.json /etc/awall/gopher.json
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Activate the new firewall settings:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-sh"&gt;doas awall activate
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;You should be able to connect to the gopher server from outside now.&lt;/p&gt;
&lt;h2&gt;Directory Permissions&lt;/h2&gt;
&lt;p&gt;If you put your files somewhere other than the default &lt;code&gt;/var/gopher&lt;/code&gt;, make sure that folder has read+execute permission for all, and every parent of that folder has execute permission.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-sh"&gt;chmod -R a+rX /path/to/gopher/stuff
chmod a+x /path/to/gopher
chmod a+x /path/to
chmod a+x /path
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This includes user directories if you keep them enabled. They’ll live in &lt;code&gt;public_gopher&lt;/code&gt; inside each home directory, and you’ll need to make your home directory and its parents executable.&lt;/p&gt;
&lt;p&gt;That’s also why you need to hit each folder in the path instead of changing the top level recursively. You (or someone else) may have other folders inside the top one that &lt;em&gt;shouldn’t&lt;/em&gt; be listable by just any process.&lt;/p&gt;
&lt;h2&gt;Ready to Dig&lt;/h2&gt;
&lt;p&gt;That should be enough to get you up and running. From then on it’s mainly just creating a folder structure with the files you want to serve. Custom menus are possible using &lt;code&gt;gophermap&lt;/code&gt; files, which have a simple, but hard-to-remember and not-quite-legible format. Fortunately, Gophernicus includes an example you can work from.&lt;br /&gt;
&lt;a href="https://github.com/gophernicus/gophernicus/blob/master/README.gophermap"&gt;README.gophermap&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I’m still messing around with the structure and menus, and I’m not even sure how long I plan to keep it running, but you can see it at:&lt;br /&gt;
&lt;a href="gopher://gopher.kvibber.com/"&gt;gopher://gopher.kvibber.com/&lt;/a&gt;&lt;/p&gt;
&lt;footer&gt;This post by &lt;a class="p-author h-card" href="https://kvibber.com" rel="author"&gt;Kelson Vibber&lt;/a&gt; originally appeared &lt;a class="u-url" href="https://kvibber.com/tech-tips/gophernicus-alpine/"&gt;on KV Tech Tips&lt;/a&gt;&lt;/footer&gt;</content><link href="https://kvibber.com/tech-tips/gophernicus-alpine/"/><summary>I'm experimenting with Gopher again. The Gophernicus server works well on Alpine, but it takes a little extra work to get the prerequisites right.</summary><category term="servers"/><category term="howto"/><category term="techtips"/><category term="gopher"/><category term="alpine-linux"/><category term="openrc"/><category term="permissions"/><category term="100daystooffload"/></entry><entry><id>https://journal.kvibber.com/?p=136268</id><title>October Daye Cosplay (with Rose Goblin!)</title><updated>2026-09-03T02:37:25+00:00</updated><author><name>Kelson</name></author><content type="html">&lt;p&gt;Last weekend we went to &lt;a href="https://www.worldcon.org/"&gt;WorldCon&lt;/a&gt; / &lt;a href="https://www.lacon.org/"&gt;LAcon V&lt;/a&gt; for a day. It was our first convention since 2019 (for, you know, reasons), and Katie finally got to build a rose goblin and cosplay as October Daye, something she&amp;#8217;s been planning to for years. (Basically since we were gifted the jacket.)&lt;/p&gt;

&lt;a href="https://journal.kvibber.com/wp-content/uploads/2026/09/october-daye-cosplay.jpg"&gt;&lt;img alt="A woman with a world-weary expression, wearing a leather jacket, jeans, and a light gray t-shirt. The shirt has a gaping hole in the abdomen, surrounded by what appears to be dried blood, but there is no sign of an actual stab wound." class="attachment-medium size-medium" height="300" src="https://journal.kvibber.com/wp-content/uploads/2026/09/october-daye-cosplay-225x300.jpg" width="225" /&gt;&lt;/a&gt;
&lt;a href="https://journal.kvibber.com/wp-content/uploads/2026/09/october-daye-cosplay-2.jpg"&gt;&lt;img alt="A world-weary woman in jeans, leather jacket, and bloodstained tank top with a stab hole through it, standing next to a cat-shaped creature (prop, not real) made of dried vines, leaves and thorns with a pair of glowing yellow eyes." class="attachment-medium size-medium" height="300" src="https://journal.kvibber.com/wp-content/uploads/2026/09/october-daye-cosplay-2-200x300.jpg" width="200" /&gt;&lt;/a&gt;

&lt;p&gt;Spike is described in the books as a cross between a rose bush and a cat. Three  craft store grape-vine wreaths, soaked for reshaping, give it structure. Bougainvillea vines are woven through it to add thorns, though she ended up trimming them so it wouldn&amp;#8217;t be hazardous if someone grabbed it, or if someone else&amp;#8217;s costume brushed up against it. (We both managed to stab ourselves on the thorns while she was making it.) She cut a bunch of artificial leaves to look like rose leaves, and sewed them onto the vines.&lt;/p&gt;

&lt;a href="https://journal.kvibber.com/wp-content/uploads/2026/09/rose-goblin.jpg"&gt;&lt;img alt="A close-up on the rose goblin, where you can better see the way the vines are twisted around each other. The eyes are two small ping-pong balls lit up from inside. Pointed clusters of leaves stick up from either side of its head as its ears. More clusters of leaves are scattered around the neck and body." class="attachment-medium size-medium" height="225" src="https://journal.kvibber.com/wp-content/uploads/2026/09/rose-goblin-300x225.jpg" width="300" /&gt;&lt;/a&gt;
&lt;a href="https://journal.kvibber.com/wp-content/uploads/2026/09/rose-goblin-at-home.jpg"&gt;&lt;img alt="Another close-up on the rose goblin in a different setting, seen more from the side." class="attachment-medium size-medium" height="300" src="https://journal.kvibber.com/wp-content/uploads/2026/09/rose-goblin-at-home-225x300.jpg" width="225" /&gt;&lt;/a&gt;

&lt;p&gt;For the eyes, a pair of LEDs are hooked up to a battery (the switch hidden under leaves) and placed inside mini ping-pong balls, held in place inside the head by wire.&lt;/p&gt;
&lt;p&gt;Originally she was planning to put it on a skateboard and pull it along behind her, holding it on using magnets and washers, but the magnets turned out not to be strong enough. So the day before the con, she scrapped the skateboard and built a handle into Spike&amp;#8217;s back so she could carry it around. It turned out to be better anyway, since the skateboard wouldn&amp;#8217;t have gone on an escalator!&lt;/p&gt;
&lt;p&gt;The post &lt;a href="https://journal.kvibber.com/2026/09/october-daye-cosplay/" rel="nofollow"&gt;October Daye Cosplay (with Rose Goblin!)&lt;/a&gt; first appeared on &lt;a href="https://journal.kvibber.com" rel="nofollow"&gt;K-Squared Ramblings&lt;/a&gt;&lt;/p&gt;</content><link href="https://journal.kvibber.com/2026/09/october-daye-cosplay/"/><summary type="html">&lt;p&gt;We finally got out to a convention last weekend, and Katie finally got to build a rose goblin and do the October Daye cosplay she's been meaning to do for years.&lt;/p&gt;
&lt;p&gt;The post &lt;a href="https://journal.kvibber.com/2026/09/october-daye-cosplay/" rel="nofollow"&gt;October Daye Cosplay (with Rose Goblin!)&lt;/a&gt; first appeared on &lt;a href="https://journal.kvibber.com" rel="nofollow"&gt;K-Squared Ramblings&lt;/a&gt;&lt;/p&gt;</summary><category term="Conventions"/><category term="Photos"/><category term="100daysToOffload"/><category term="cosplay"/><category term="crafting"/><category term="LACon"/><category term="LAconV"/><category term="October Daye"/><category term="Seanan McGuire"/><category term="Worldcon"/></entry><entry><id>https://journal.kvibber.com/?p=136250</id><title>Blaugust 2026 Wrap-Up</title><updated>2026-09-01T20:42:55+00:00</updated><author><name>Kelson</name></author><content type="html">&lt;p&gt;I didn&amp;#8217;t manage daily blogging past day 12, or 31 posts in the month. I wrote 20 posts, including reviews of two books, a game, my dying phone and its replacement. I also finished some older drafts and revived my dormant &lt;i&gt;Les Mis&lt;/i&gt; blog with a &lt;i&gt;Star Trek&lt;/i&gt; post (really). &lt;a href="https://journal.kvibber.com/2026/08/blaugust26/#blaugust2026-wrap-up"&gt;Read More&amp;#8230;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The post &lt;a href="https://journal.kvibber.com/2026/09/blaugust-2026-wrap-up/" rel="nofollow"&gt;Blaugust 2026 Wrap-Up&lt;/a&gt; first appeared on &lt;a href="https://journal.kvibber.com" rel="nofollow"&gt;K-Squared Ramblings&lt;/a&gt;&lt;/p&gt;</content><link href="https://journal.kvibber.com/2026/09/blaugust-2026-wrap-up/"/><summary type="html">&lt;p&gt;I didn&amp;#8217;t manage daily blogging past day 12, or 31 posts in the month. I wrote 20 posts, including reviews of two books, a game, my dying phone and its replacement. I also finished some older drafts and revived my dormant Les Mis blog with a Star Trek post (really). Read More&amp;#8230;&lt;/p&gt;
&lt;p&gt;The post &lt;a href="https://journal.kvibber.com/2026/09/blaugust-2026-wrap-up/" rel="nofollow"&gt;Blaugust 2026 Wrap-Up&lt;/a&gt; first appeared on &lt;a href="https://journal.kvibber.com" rel="nofollow"&gt;K-Squared Ramblings&lt;/a&gt;&lt;/p&gt;</summary><category term="Site Updates"/><category term="Blaugust"/><category term="Blaugust2026"/><category term="Moved"/></entry></feed>