The cloud is a fickle place that gives and takes. Self-sovereignty is the only path to autonomy and agency.
Sometime in 2011, I decided to use Flickr to host the images on my blog. My reasons for that ill-fated decision are lost, but I suspect, based on what I was doing in 2011, that I saw using cloud-based services as a way to off-load some of the work, storage costs, etc. Part of the reason for using Flickr probably has something to do with the Movable Type set up I was using in 2011. In 2013, I switched to a custom blogging platform I wrote that uses a combination of Emacs macros and a Perl program for assembly of the content files. I stopped using Flickr for this purpose in 2016 and just hosted the images myself, but all the entries on my blog for that 6-year period still used Flickr.
Not too long ago, I noticed that all the images being served by Flickr had a black background like this:
Not exactly what I want. I suspect that some change at Flickr having to do with transparent images caused this. Admittedly, storing diagrams with transparent backgrounds for a blog is not Flickr's mainstay, so I don't blame them for this. They're just pursuing their own objectives. And that's the point I'm making:
Without a contract that gives me clear promises about what Flickr intends, I'm at their mercy. Note that this is true with any cloud service, especially those you're not paying for or using outside their main use case. They can go away at any point. They can change their business model. We've seen plenty of online services go away. We should expect it.
So, I decided I needed to fix my blog by hosting all the images myself. Fortunately, I can program, so I wrote a Perl program to do the following:
- Open the blog file and run through it looking for images hosted at Flickr, keeping a list
- Download all the original images from Flickr (which involves parsing the Flickr page to find the right URL for the original image file)
- Process the blog file, replacing all images referenced in the anchor and image tags with the names of the local files.
Of course, that simple algorithm ignores all the little problems that always come up. But writing the program was fun and now, I'm running it (slowly to not look like a DDoS attack to Flickr). Soon, my cloud problem will be in the past and my blog will be self-sovereign. Of course, I still rely on hosting (AWS) and DNS (Google) but those are much more basic services that are likely to not go away anytime soon. And if they do, there are clear substitutes.