Linked Out

I deleted my LinkedIn account this morning. I never use it for anything other than to decline connection requests.

My profile is outdated and not representative of anything useful. I don’t find much use for content there posted by other people.

Seems like a perfect candidate for deletion.

Fixing Roon on Mojave beta

Roon would not launch after I installed the Mojave public beta 2 on my iMac. I found this thread on the Roon forums which suggested that I remove and re-add Roon from the list of apps in the Accessibility list in Security preferences

Roon Accessibility

It worked! Phew.

Showing Webmentions here on baty.net

This blog is statically-rendered using Hugo, which means there’s no easy set of plugins (that I know of) for adding Webmentions. There’s nothing like the IndieWeb plugins for WordPress. I’ve been collecting webmentions for a while via webmention.io but needed a way to render them here. I decided to go ahead and roll my own.

Well, to be honest, I just stood over Karl’s shoulder while he wrote the JavaScript for me. He’s so good at this it’s ridiculous. It would have taken me days to cobble something together. Karl did it in less than an hour. I tweaked it just a little, added some CSS, and boom! Webmentions.

Here’s the initial bit of JavaScript.

I’m sure I’ll want to dial things in, but this is a fine start. Thanks Karl!

I Have Two Blogs and It's Fine

Over the years I’ve switched blogging platforms a dozen times or more. I enjoy tinkering, and a personal blog is a great place for doing that.

The problem is that things frequently break in the transition. I have entire swaths of images missing from 2012. Many of the older posts didn’t convert well and are filled with broken HTML.

I’ve been waffling between a statically-rendered blog using Hugo and a blog running on WordPress. The last few years it’s been back and forth, back and forth. Static, WordPress, Static, WordPress.

To prevent further breakage, I’ve been running both. This blog, baty.net runs Hugo and jack.baty.net runs WordPress. I figured at some point I’d get over my indecision and settle on one of them.

A static blog is fast, easy to host, portable, secure, and permanent. A WordPress blog is flexible, full-featured, and so easy to use. Which to choose!?

At some point recently I stopped worrying about it. I just started posting to whichever one I felt like at the moment. The unofficial intention was that baty.net would be for longer, text-heavy posts and jack.baty.net would be for “micro” posts, links, photos, etc. It’s sort of gone that way, but the rules are pretty loose and I haven’t been over-thinking things the way I usually to.

So right now I have two blogs and it’s fine.

Synology Moments First Experience

I now have a nice, big Synology NAS. Synology’s new photo app, Moments, aims to be a replacement for Google Photos, which sounds like a great plan. I’ve been using Google Photos since it launched but it gives me the creeps having so much of my life under Google’s watchful eye.

Jumping right in, I imported all 79,000 photos from Google Photos into Moments. The import didn’t take as long as I expected. The indexing and thumbnail creation process, however, took days. Once everything finished I started poking around the Moments app.

It’s kind of a mess.

So many of the dates are wrong on the imported photos that the word “moments” doesn’t really apply. I get that some of the source files are film scans, so the exif data can get wonky, but they’re not wonky in Google Photos. In Moments they appear to be almost entirely random. It’s kind of useless.

The iOS app for Moments only sort of works. I continually get “Operation failed” messages, and the timeline isn’t even the same as the web version. Not sure how that’s even possible. I am running the iOS 12 beta so I’ll give it the benefit of the doubt.

Browsing Moments is slow. Even on the LAN, it’s laggy.

Facial recognition is fair, but not as good as Google’s. There were 10 or 12 different groupings of some people that I had to merge manually.

Moments’ search index doesn’t seem to include file names. I carefully name every file for the very purpose of helping find things. Not being able to search the file name makes some sense, since most people probably just automatically back up iPhone photos, but it’s a significant drawback for me. I don’t want to search for “Dog”, I want to search for “Josie in the car”. I can’t do that in Moments.

As it stands, I’m not going to fullfill my dream of ditching Google Photos for Moments.

I Failed at Using Elfeed as My RSS Reader

Since I’m in Emacs most of the time anyway, I thought it would be useful to use Elfeed for reading RSS feeds.

It didn’t work out.

I couldn’t make heads or tails out of what Elfeed was doing with windows. I felt even more helpless with window management than usual. I often have an Emacs frame in full-screen, split into two or three columns. With Elfeed’s feed list in the left of three columns, new entries would open in the far right column. Weird and unexpected. Starting with two columns, the right window is so wide that it makes reading text difficult. I couldn’t figure out how to manage any of this.

I couldn’t get the article date to display in the feed list. All of the screenshots I’ve seen of Elfeed show the date. There’s a bunch of settings for the date format but I couldn’t find anything about including it.

The feed list format goes all kittywampus seemingly at random. Sometimes it looks like a plain text list of titles. As I read each article, its entry reformats itself with the proper columns and faces. I cannot figure out how to fix it.

I couldn’t get the Elfeed database to sync consistently. Putting the database in a synced folder didn’t seem to work. I’m sure I’m doing something wrong or missing a step. I can’t seem to figure out when Elfeed updated the database, and I don’t want to include a bunch of config hacks to force the issue.

Beyond my technical failings, I’ve learned that reading feeds is, for me, a “lean back in the chair and click things” activity. With Elfeed, I need to be sitting upright with my hands on the keyboard and I guess I’m too lazy for that.

I’m once again using Feedbin for managing and reading RSS feeds. I started using Feedbin as a way to manage and sync my subscriptions, but planned to actually read things in Reeder but never got to the second part. I just use the web UI for now and it’s not bad at all.

Forklift as a Finder replacement

forklift

The Finder in macOS has always been very simple. Too simple, really. I’ve tried just about every replacement app I could find and all of them have come up short in one way or another. If they’re too simple, then why bother? If they’re too complicated they tend to be slow or cumbersome to use. Either way, they introduce friction and just get in the way.

I’ve used Cocoatech’s Pathfinder on and off for years and it’s a well-done and powerful app. Version 8 was recently released, adding a ton of cool flexibility around “modules”. Too much flexibility for me, I’ve found.

I started testing Forklift by BinaryNights and I think I may have found a Finder replacement with a usable level of complexity that doesn’t get in the way.

Here’s why I like it:

  • Remote connections. I use Transmit for heavy-duty remote file management but having a few frequently used servers right in Forklift’s sidebar is handy
  • Integration with command line tools. I can access command line scripts that act on selected files in Forklift.
  • Editing files in preview pane. I can select a text file and not only see the file’s contents, but I can edit it right in place.
  • Multi Rename. I rename files with consistent patterns all the time. With Forklift I can save them as presets and they’re always right at hand.
  • Creating files. I just want to create a new text file in whatever folder I’m viewing. There’s a button in Forklift’s toolbar for this.
  • Viewing hidden files. I can easily toggle display of hidden files.
  • Open in Terminal. There’s a button that opens the current directory in iTerm.

All of these features are available in one form or another with other apps or scripts, but Forklift puts them together in a nice, usable way that doesn’t also overcomplicate things when all I want to do is manage a few files.

I Hate Peter Merholz - Glassdog

Glassdog in 2004:

Ito, however, in his quote, uses the word “weblog,” a term I’m not familiar with. I think it’s a derivation of ‘blog,’ which means “to vomit with vehemence and much noise.”

Never gets old.

Fun With Server Apps This Week

I’ve been having fun with a few new, and new to me, servers and apps this week. Here’s a quick summary.

Fathom

Fathom

Brett Terpstra mentioned the release of Fathom web analytics. I’ve been keeping my eye open for a simple replacement to the no-longer-supported Mint and Fathom looked close. It’s a single (Go) binary and was super easy to install. I’m testing it with baty.net and so far so good. It’s a lightweight alternative to Matomo for simple web stats.

I see people claim to have no interest in analytics on their blogs and good for them. While I’m in no way obsessed with analytics or “engagement,” it’s nice to know what and how often people are reading. Feel free to block the tracker.

GoAccess

GoAccess

GoAccess is an open source real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems or through your browser.

When all I need is to quickly get a nice view of web server activity logs, GoAccess is very nice. It’s easy to install and use via either a terminal or web browser.

Gitea

Gitea

I often wish we all used Mercurial or Fossil for source code management, but we don’t. We use Git. That’s where all the tooling is, and it’s where Magit is, so I’m stuck with Git.

I don’t want to store my private projects in someone else’s app but I want a wiki an issue tracking so I’ve installed Gitea. Gitea is a single-binary app written in Go and runs against an SQLite database. It’s like the opposite of running a self-hosted Gitlab instance. Works great.

Caddy

Caddy is a clever, easy to use web server that automatically handles HTTPS. It’s also my favorite thing, a single binary, so installation was basically just copying a file to the server.

My needs are simple, so Caddy has fit the bill quite nicely. I’m running all of the above apps using Caddy as a proxy and it’s all handled by a 20-line config file. Nice.

Using Caddy for serving static content

I have a bunch of static files/websites laying around so I stood up an Amazon Lightsail instance and installed the Caddy web server.

static.baty.net

A cool thing about Caddy is that it handles provisioning and installing SSL certificates automatically from Let’s Encrypt without me doing anything. It also automatically redirects from http to https.

Here’s the entire config file (Caddyfile)

1
2
3
4
5
6
static.baty.net {
  root /home/jbaty/apps/static
  log /home/jbaty/logs/static.baty.net.log
  gzip
  browse
}

The browse directive enables directory browsing, and it even looks decent.

Caddy can do all sorts of neat tricks, like serving up Markdown files as HTML pages. Just drop Markdown files in a folder and add a markdown directive. I’m sure I’ll find a use for that. It would be neat if it could do the same with Org-mode files.

I’m sure I’ll explore the various plugins available. I see there’s one for Hugo sites, which looks interesting.

Having super-simple HTTPS automatically should be compelling for people looking to get on the HTTPS-everywhere train.