I am starting to think that the greatest taboo in software development isn’t writing GOTOs, editing code in production, or even using tabs instead of spaces. No, the most dangerous, terrifying, unspeakable idea in programming is this: the suggestion that we—and all of the code we’ve written—might be replaceable.

Avdi Grimm – The ultimate software taboo

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.