Long overdue
Whooooooo, boy.
I know, I know. When I said irregular, this is not what I had in mind.
Almost a year since the last entry, and it's a fool's errand to summarize everything in a single thought. So much has happened, I won't even try.
How did this happen, though? I thought the idea of this thoughts section was to write my thoughts more often, albeit somewhat irregularly.
Well, I remember working on adding yet another section to this website to showcase my music collection. I spent a few hours every other weekend or so, but the idea kept getting bigger and bigger that it took months to finish.
I wanted to put my Spotify data somewhere here. Sure, just embed the playlists and be done with it, right? Nah, my playlists don't fully represent the music I listen to. I don't always make playlists.
OK, just use Spotify's API and render the data nicely then? Well that means on every page load, we need to make a request to Spotify's API to get the latest data. Not very nice. Well maybe we can just prerender the pages, but of course we'll need to rebuild the site every once in a while.
While we're at it, why not back up the data as well? Put it in a git repo so we'll have a history of our music taste. Let's write a script that does that, and run it every day on GitHub Actions. And so I did.
That took a while.
Yeah yeah so now we have the data. Let's make some pages to show them. A list of albums, artists, and maybe my playlists as well.
Some of my playlists have hundreds of songs in them. How do we show them? We could render all of them at once, but that'd be a lot of elements in the DOM. I don't have time for pagination. Besides, wouldn't it be cool if we mimic Spotify's UI? Let's make a virtualized list.
Ah, virtualization. Tables. I had to learn about them. At the time, TanStack's react-table and react-virtual libraries were about to release the next major versions. I like the bleeding edge, so I wanted to make sure I can use the new versions once they come out. Unfortunately the docs were sparse at that point, so there were lots of trial and error involved.
Cool. Table done. Virtualization done. Search and sorting, sure.
Did I say about mimicking Spotify's UI?
Oh wait, Spotify also gives you links to 30-second previews of the songs in the API response. Wouldn't it be cool to be able to play them on the page? Nice. Added.
Anyway. Enough about it. It's been live for quite a while now.
It's by no means complete. Mobile view is meh. But it's there.
Thing is, I didn't write a new entry because... every time I wanted to write, I'd spin up the site and there it was, the new section. I'd work on it instead.
Yeah I guess I could've written a few entries here and there, but I don't know. I didn't want to force myself.
Aaaaaaalright. Now I'm here.
I'm not gonna do a recap right now, but I've also updated the about page to include some recent life updates.
The timeline has been updated to the new year (yay!!!)
And I also added a map of places I've visited. Yep, I've been to lots of places in the past year. More than I've ever been to my entire life up until 2022.
So yep. Now that we've got all this out of the way, maybe I can write more often.
Famous last words.