Running my own server again

A year and a half ago, my brother gave me a Raspberry Pi 3 as a birthday present, suggesting that I should use it to run my own server.

I used to run my own server. A friend who liked to build such things had built it. It had two ethernet ports, one connected to my cable modem and the other connected to my WiFi router, and it was running OpenBSD (then the most secure OS easily available) and was configured to serve as a firewall.

I used it as a server in other ways. I put an extra disk drive (40 GB!) in it where I could store files that I might want to access from elsewhere. (In particular, when I went to Clarion I copied my latest draft of my current story there each evening, in case of catastrophic computer failure.)

It didn’t require much upkeep, but it required more than none—which turned out to be more than I wanted to devote to it. At some point a serious security flaw was discovered in the OpenBSD release I was running. By then most desktop machines had built-in firewalls as did most routers, and I had Time Machine as a backup solution. It seemed safe to give up my server, and easier than updating it.

In the years since then, the use of cloud services has become ubiquitous, to the point that practically everything I do ends up in the cloud—my photos go to both Flickr and Google. I also use Dropbox (where I have Scrivener stash a backup copy of everything I’m writing) and I stash some amount of my music at both Google and at Amazon.

That’s all great—those services are well backed-up, and the servers are very likely running the latest security patches—but I really like the idea of having my own data on my own machines. But I want that without giving up the advantages of having my data in the cloud. Hence wanting to have my own server.

All that as prequel to my brother coming to visit this past week, and helping me get my Raspberry Pi server up and running.

Once the basic install of Raspbian was up and running, I went ahead and ordered a bit of hardware for it. I got a short ethernet cable to connect it to my router, so that it doesn’t have to do WiFi for basic connectivity (although WiFi and Bluetooth are built in). I also got a slightly more powerful USB power supply for it, mainly because I also got a portable USB hard drive that takes its power from the USB port, meaning that the power needs to be available to the Raspberry Pi. Finally, I got a case for it, so that I don’t just have a naked circuit board sitting on my dresser.

This time the hard drive is 1 TB rather than 40 GB.

For cloud functionality I’m following my brother’s example and running syncthing, which has the advantage of being able to handle being behind a NAT and not having a port exposed to the outside world. I’m running it on my Android phone as well and sharing my photos with a third place: my server. The server then shares them with my desktop machine, so they’re available to use. (That’s how I got the photo above: Taken with the phone and then transferred to the desktop within about a minute.)

I’m still sorting out my sharing strategy. I don’t want to share my whole Music folder with my phone, because it would use all the space there. (I’ll probably end up making a folder with an “essential subset” of my music to share with the phone.) I don’t think I want to share my whole Documents folder on my desktop machine, but I’m not sure yet. For the time being I’m sharing a folder I call “Active writing” with the files I’m currently working on, on the desktop, the server, and my laptop. That way they’ll be available wherever I want to work on them.

Other things are tougher. I’d like to have my own calendar server, but that doesn’t seem easy. I should go back to my post on the google-free option and see what else I was thinking about that I might now be able to implement.

For now, though, I’m pretty happy.

My previous server was rack mount width and maybe four or five inches tall, about the size of a stereo component. This one is maybe 3 inches by 5 inches, rather smaller than the hard drive it’s sitting on.

Zero unread RSS feeds (plus novel update)

Over a period of some months I’ve been working to clean up the set of feeds I try to follow. Today I got the unread count down to zero, perhaps for the first time since I started using a feed reader. Certainly for the first time in years.

I did it two ways. First, I did it the legit way, by unsubscribing from feeds that I didn’t actually read. Second, in just a few cases, I did it the cheating way, by just selecting a feed and clicking “mark as read.”

The first permanently reduces the burden of stuff I imagine that I ought to do.

The second just briefly hides the fact that there are some feeds I imagine I want to follow, but that I don’t actually keep up with. Still, I figure this is a test of sorts. Some of those feeds were pretty quiet. Maybe, if they’re not mixed in with all the stuff I’m not keeping up with, they’ll be easy to follow. And, if they’re not, I can always unsubscribe later.

This flurry of feed-pruning activity brought to you by procrastinating on the novel.

I’m in the midst of some tough slogging as I push through the final third. Even after my previous pass through this bit, it is still written a lot like a short story. The scenes are highly compressed, with lots of bits merely referred to. As I reach those scenes, it takes me a while to uncompress them—to see the two or three or four scenes represented by the existing text, and then to compose those scenes, placing them in the right sequence in the story.

I’m actually really enjoying that work, once I get into it, but each new scene is hard to start on—largely because I’m quite proud of the old, compressed versions. The uncompression work feels like taking a finely crafted miniature that I spent days painting, cutting it up into pieces, sticking each piece in the middle of a big canvas, and then trying to paint a new picture that incorporates that bit of the miniature. (It would probably be better to just do the necessary new scene “inspired” by the old scene, and I’ve done some of that, but that turns out to have problems as well.)

In any event, progress continues. It’s just hard.

As I go to click the “publish” button on this post, my unread feed count stands at zero.

Using tt-rss

I’ve experimented with various alternatives to Google Reader for quite a while now. I used The Old Reader for a while, and then Hive Reader for a while. Both had limitations. (Hive is still in beta, and isn’t quite ready for prime time. TOR is closer, but had various issues, probably the biggest being that it doesn’t get feeds updated promptly enough.)

I had earlier tried using tt-rss, which also isn’t quite there yet, but has a different set of issues.

It requires a server. Steve had tried to cobble together an instance that ran on the server where we host our websites. It had just almost worked, but kept bumping up into the limits of running as a cron job, rather than a daemon. It eventually had several bad days in a row (which we later traced to an unrelated heavy load on the server), and we gave up.

Now Steve has installed an actual server machine in his house, and is running a tt-rss instance there, and has made me an account on it.

Running on an (essentially) dedicated server with a (reasonably) high-speed connection to the internet, it’s now doing a fine job of keeping all my feeds up to date. I’m having some minor user interface issues, but nothing that would keep me from using it as my rss reader for the foreseeable future.

So, I have officially switched over. You can follow the interesting stuff I share via a feed from that site, and have updated the “interesting stuff” item in my sidebar to draw from that feed.