Scott Hanselman’s latest post is titled Remote Debugging a .NET Core Linux app in WSL2 from Visual Studio on Windows is useful and good. The post is also yet another reminder that the cognitive load on programmers who mostly just want to write code is increasing every day.
💻 How the code for NetNewsWire is organised 🧚♀️ “I would also just observe that as World of Warcraft evolved over the years, it actually kind of became less social, because in an effort to achieve more accessibility, we removed some of the reasons why you need to play with the same group of people over and over.”
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.
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.
Yes, it’s named after the Wilco song. I read my feeds in a Future Age.
- 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.
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.
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.
The code is free software and is hosted on GitHub.
In the spirit of showing my work, here’s a peek at a game I’ve been working on: codename SPADE.
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.
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.
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.