Blogging again. A lot has happened in four years.
One recent slice of it: I got laid off from Shopify in May 2023. It was an emotional gut-punch beyond what I could have imagined. If you've been through it, you know.
One of the best things I did to pick myself up (in parallel with a few weeks of crying a lot, hiding at home with my girlfriend, and then going on a road trip with her to Myrtle Beach) was when I thought "Hey, maybe now that I have time and severance pay, I could finally go to Recurse!
Nervously, I applied, I was accepted to the Summer 2 23 batch, and here I am.
I'm doing a 6-week batch and as of this writing am already in week 5. It's going far too fast! (UPDATE: I extended to a full 12-week batch! Part two is here)
This is the best thing I have done as a programmer in years. I have met so many interesting people doing so many cool things. Things I am doing so far:
- Trying to finally wrap my head around functional programming
- So far, this largely meant working through The Little Schemer, which I have never finished, despite it being one of my favorite programming books. Blog post about this here
- Side quest: Fixing this blog!
- Attacking my fear of writing user interfaces by writing a game (or actually, something more like an audio toy / chaotic "instrument").
- Deciding not to do "impressive" things that don't actually spark much innate excitement, as per the Recurse directive about Building your Volitional Muscles:
[G]rowing your ability to make decisions about your work and learning based on your own curiosity and joy, rather than external pressures and fears
I'm still not sure I'm going to pull off this game-thing. It feels like a good example of working at the edge of my abilities. It's been very slow going and I'm scared to try to hit my goals, which is a good sign.
Side quest: fix the blog
As for fixing this blog ... The blog toolchain was built some years ago on pelican, which worked fine for me at the time, but my installation was using ancient Python 2 and old versions of everything. I couldn't even get that running on my current personal laptop. Trying to install it on Python 3 led to a laundry list of errors and warnings and it wouldn't get as far as generating actual content.
I didn't want to throw away Pelican and start over, because that would probably
have meant a lot of hand-munging the content files to port them to something
new and maybe breaking my nav structure too. And I didn't want it to be a time
sink. I liked the low friction of the workflow... write markdown, preview by
running make devserver
, push live by running make rsync_upload
, that's it.
To make a long story short:
- I installed Pelican 4.8.0, using Python 3.
- I removed as much of my config file as possible, eg turning off the theme and all plugins.
- I threw away some problematic junk content that probably nobody but me ever knew was there, and was drowning me in warnings.
- I tried versions of the packages I needed until I found a set that ran
without error, and then froze those versions with
pip
. - I found out that the Bootstrap 3 theme I'd been using was broken and unmaintained on recent Pelican versions, so I ditched it and tried a bunch until I landed on the new one (called Gum).
- Then I started gradually re-adding bits of my config.
It's not perfect, but it's good enough to push live and start writing again! Lots of old redirects are currently not working because my hand-made pelican-redirect plugin still isn't working with this setup, and I haven't had time to explore why.
Followup: Second half!
After deciding to extend to 12 weeks, here's what I did!