A few weeks ago as I was procrastinating on going to bed I decided to make a list of things I could do with my time that weren't just media consumption. I'd been watching a lot of television and playing video games rather than engaging in more creative hobbies and felt kinda down about it. I got out my journal and wrote down "What do I want to put on the Internet?"
I put three bullets under it:
- a blog
- a weird card game thing
- some kind of personal knowledge base
The card game idea probably needs a lot more thought and playtesting before I'm going to put it anywhere public. Building a knowledge base requires something to be knowledgable about (and some focus). So a blog it was!
I set a rough timeline to have something set up and an initial post by May 1st, so I'm beating my expectations at this point. It was probably made easier considering I already had hosting and a very outdated website from when I was job hunting in 2021. I ended up scrapping that entire thing (though you can find it in the commit history on GitHub). I wanted to make something a little less professional and something that didn't require quite so much hand-coding.
I've used Eleventy as a tool for building websites for a few family members' businesses, so it seemed a good place to start. I could easily switch between tempate languages as I wanted to and fall back to good old fashioned HTML if needed. It doesn't hurt that it has lots of folks writing blogs on it and writing blog posts about writing blogs on it.
First step was to scrap everything I had up already and replace it with a placeholder while I got things together. Of course, unable to just drop an "Under Construction" gif on a page and walk away I decided to re-implement the boot sequence for a silly terminal style game I tinkered with years ago.
After spending a couple hours messing with completely pointless CSS animations I set down to the serious business of finding some inspiration.
You can see a lot of those inspirations in my blogroll, but videodante and Joel Hooks served as the main ones. You can probably tell.
Most of this site is a pretty straightforward set of Nunjucks templates strung together with Eleventy. The home page, about page, and blogroll are about as simple as they can be. Not much to say about them except that it was fun to mess with CSS again after spending so much time building ETL pipelines and event processors for my day job. I miss doing something more graphical.
The place that I got completely sidetracked though was my now page. It started as something simple with just a few headings, a blurb about my job, some copy about hobbies. Then I was looking at Dante's Letterboxd embed and thinking "I want something like that."
Of course, this is a static site and it felt odd to pollute it with some JavaScript to fetch data from somewhere else. Why make someone else's browser go through all that hassle. Luckily, other people have had similar thoughts.
While I did not go quite to the length that Sam King does (though storing data to a spreadsheet is an interesting future consideration) it felt good to tinker with writing a little script that caches data from Letterboxd when my site gets built. The script itself is very simple. It uses Eleventy's Fetch plugin to get the RSS feed for my Letterboxd page and pulls out the most recent films I've logged and does a bit of CSS tomfoolery to reorganize the content.
It was fun to tinker with the CSS Grid stuff. It wasn't in use much when I stopped doing front-end development for my job and it's impressive how flexible it can be. It does seem like it can entirely break semantic and accessible web patterns though (but what doesn't?).
Sam's blog also detailed some work with Google Sheets and I've been tracking my model building in a Google Sheet for the last year or so. It was natural to adapt some of his ideas into a quick "hangar" of the models I'm currently working on. This was a bit more of a hassle because Google wants you to authenticate to access a private Sheet. I did spend a good hour comparing Sam's code to the new documentation of the libraries he'd used.
Now I'm wrapping up the last item on my initial agenda: write one blog post by May 1st.
I'm not exactly squeezing this one under the wire. I've found a lot of joy in tinkering with this little codebase over the last weeks. I'd like to make an effort to keep updating this and doing new things with it. I haven't entirely given up on the idea of putting some little games and more of my hobby stuff on here. We'll see!