Today's task was fleshing out the History section of my website.
Having been online for most of my life, I sometimes notice the funny little ways the web has regressed since 2010. I spent several hours last night and today considering how to restore a midi player to my first page. My first attempt was a neat little library that can play midis in the browser almost like an <audio> element, with an included nifty visualizer. Unfortunately, I could not get it to work with my midi file, and I later realized that I wouldn't really like to include a whole node package for my very web 1.0 site, nor did I feel comfortable including a remotely loaded script.
Attempt number two was converting the midi file to mp3. The number of words in the phrase 'convert the file to mp3' would naturally make you assume that this was a quick and easy task...
Six total hours and a full intervening day later, I had used two different programs to generate the audio data to pipe into ffmpeg, and compared the result of each with different configured soundfonts before settling on my creation: mattdum.mp3. Somewhere around the halfway point I gave up on understanding how Timidity or Fluidsynth's commandline arguments worked and just chucked some copy-pasted snippets from Stack Overflow at my commandline. I feel like a real programmer :).
The rest of my troubleshooting time today was spent figuring out why my embedded Youtube links wouldn't work. Mysteriously, after converting all my old-style flash-player embeds to the modern <iframe> ones, some of my videos were working great while other ones were failing, with the console error telling me that it was blocking "actively loaded mixed content." Upon looking at the code for the embeds for both videos, I was completely baffled; they were exactly the same! Only after copy-pasting both into a text document side-by-side and visually comparing the length of both lines (you know that trick with monospaced fonts where you can binary search a line to find where the difference is) that my scan slowly but surely placed my squinted eyes on a part that they didn't actually SEE until they were staring directly at them; 'https://' in the working one vs 'http://' in the broken one. Aha!
Honestly, I should have learned my lesson on what a pain https and browser security can be from setting up my Jellyfin instance with recommended security headings a few months ago. Which reminds me, perhaps this website's launch means it's time for another visit to WebPageTest...
I really should be using git to record the progress of this site, for some reason I always stall setting it up until I'm two days into a project. Probably becuase I still haven't memorized all the commands to set it up. First I think you initialize the repo, then set your email?... Then there's connecting it up with Github, and I'm completely lost again. In any case, there's two nice and easy projects for me to do tomorrow, I am getting pretty sleepy.
P.S. Maybe I could also write a tutorial on how to set up midi on Ubuntu, or perhaps make a guide on setting up a Jellyfin server, or I could even look up how to do url manipulation in Caddy... Or maybe this is how I get myself into so much mess with 300 unfinished projects and a jank sleep schedule.
Signing out at 7:43 AM