Future Age, my new feed reader

Screenshot of a starred item in Future Age

When Google Reader was killed I started using a fork of Adam Mathes’s Neko, hosted on Heroku. It served me well for seven years. The keyboard shortcuts and the very minimal feature list were perfect for what I wanted a feed reader to do: show me stuff to read.

I had to do a bit of maintenance three of four time in the seven years. Purging read articles to alleviate errors, upgrading the “stack” it ran on. Neko was written in python & javascript and I don’t know the either that well but I was able to muddle through.

Last year Heroku announced that the stack needed to be upgraded again and I had a year to do it. I put it off as long as I could. Before Christmas I tried to upgrade the stack and no amount of muddling helped. I checked Adam’s GitHub and found he’d rebuilt Neko from scratch years ago.

In February Robin Sloan published a wonderful essay, An App Can Be A Home-Cooked Meal, about a mobile messaging app he’d made for himself and his immediate family. I’ll spoil the ending for you:

When you free programming from the requirement to be general and professional and SCALABLE, it becomes a different activity altogether, just as cooking at home is really nothing like cooking in a commercial kitchen. I can report to you: not only is this different activity rewarding in almost exactly the same way that cooking for someone you love is rewarding, there’s another feeling, one that persists as you use the app together. I have struggled with words for this, but/and I think it might be the crux of the whole thing:
This messaging app I built for, and with, my family, it won’t change unless we want it to change. There will be no sudden redesign, no flood of ads, no pivot to chase a userbase inscrutable to us. It might go away at some point, but that will be our decision, too. What is this feeling? Independence? Security? Sovereignty?
Is it simply… the feeling of being home?

That was enough to get me off my chuff and cook up my own feed reader.

My first commit was on March 8, a basic new Ruby On Rails website. It was in production four days later, collecting feeds but no real UI. That came 13 days ago. I spent way longer than I’d like working out how Javascript and Rails are supposed to work together and got a bit annoyed with things. But this week I cracked it and started dogfooding. A couple days ago I turned off my copy of Neko and started using Future Age full time.

Yes, it’s named after the Wilco song. I read my feeds in a Future Age.

Some observations:

  • Programming is super fun when you’re just doing it for yourself. Robin Sloan is right.
  • It’s really easy to get stuff running on Heroku. It’s the perfect hosting platform for this kind of project.
  • You get a lot of stuff in the default installation of Ruby on Rails and it’s hard to know what to exclude. I’d appreciate the ability to specify an option like –simple-website or –just-an-api-damnit or –pretend-its-2008
  • The Asset Pipeline is just as confusing and annoying as it was when I last seriously worked on Rails seven years or so ago

I’ve taken a lot of satisfaction out of this project. It’s not finished, but it’s “good enough” to show off. There’s still decent sized TODO list of things to fix up or get working better. And there are some useful features I could add.

If you’d like to use Future Age, can I recommend you try The Old Reader or NetNewsWire instead? Or write your own. It’s fun.

March Tracks, 2020

The The - This Is The Day (HD) - YouTube

I use an IFTTT applet that adds tracks that I’ve saved on Spotify to a monthly playlist. In March I tapped the heart icon 24 times.

What a month March, 2020 turned out to be. Like much of the planet I spent the second half of the month isolated at home, checking the news a lot, trying to work, and listening to a lot of comfort music.

Once the PM announced a real, proper lockdown I kindof relaxed a bit. Put on new stuff. Chucked on the more obscure radio streams. Some good stuff was found.

My eight year old daughter picked up on The The’s This Is The Day so let’s put that down as the favourite track. You can listen to all the songs on Spotify or in the embedded player below. I guess a Spotify sub is required.

An aside about The The. In the early 2000s I was “the technical guy” at a small company that ended up running an online music store. We used an open source project to manage the catalog and commerce. I had to modify it a bit suit the music content and display different store fronts but it was a pretty great tool.

The search functionality relied on the database’s full text search functionality. Out of the box the full text search wouldn’t index stop words (things like a, the, and, or) or words shorter than four characters. This meant customers searching for “U2” or “the the” didn’t find any results.

It was relatively easy to come up with a way to make “U2” searchable. “The The” required more work, including installing a custom build of the database. It was more effort than it was probably worth but I figured it out! I was quietly proud when you could find “The The” in our search box but not on quite a few other, more popular, e-commerce stores.

I would be very surprised if we sold more than one The The disc.

Subscribe to the workout of the day archive in your feed reader

Update, July 2020. The feed isn’t up any more.

Since we’re all stuck at home I’ve been looking at how I can do some kind of CrossFit style workout on my own. I’m currently sans-box, so I figured mainsite (as we call it) would be a good place to start. Being a nerd of a certain vintage I wanted to subscribe to the workouts in my feed reader but no such feed exists.

So I made my own.

The code is free software and is hosted on GitHub.

Progress on a new video game

In the spirit of showing my work, here’s a peek at a game I’ve been working on:  codename SPADE. 

A character moving through levels

SPADE started out as a cut down clone of Shamus, an annoyingly hard yet oddly addicting game I played for hours and hours on my family XT clone in the late 80s. Despite all those hours I never got close to clocking the game. I want SPADE to be a game I can actually beat.

I’ve been making the game in pico-8, the same tool I used to make yet another version of robotfindskitten last year. 

I started out building the maps manually using pico-8’s sprite and map editor. It looked kinda like this. Pretty fussy and complicated to write code around.

Pixel art is not my forte

For some reason I decided it would be easier and more fun to do procedural generation of the maps. Darius Kazemi’s articles on how Spelunky’s levels are generated provided the recipe. I expected it would take me a few hours to implement. 

It took a lot longer. Like ages. Like a “how the fuck did I ever consider myself a programmer” amount of time. I got really good at logging and debugging.

DebugView.exe is an app for looking at print statements

I’m now at the point where I have any number of levels and a character that can move through them.

I have a TODO list and whenever the mood takes me and I have some quiet time I try and knock something off the list. Adding robots is next.

I’m not sure when the game will be playable. Working on it is a relaxation thing more than anything else. It’s been quite satisfying to do little bits at a time. I’m collecting screenshots of the game, photos of notes, that kind of thing. That archive has already brought me joy.

 I know I won’t be putting SPADE on itch.io like I did for robotfindskitten. I think it’ll just be for me. I hope I can beat it.