Vote Charlie!

Coveting my neighbor’s citations

Posted at age 29.

Every once in a while, I write a blog post where I want to put a few footnotes. More frequently, I reference sources. My writing is far from academic, but I figure the least I can contribute is pointing readers (usually just my future self) in the right direction. When I consider the best ways to accomplish these goals, I am reminded of all the other rigor and consistency related issues I have yet to adequately address. The Buddha was right: life is suffering.

I am only a casual blogger — more of an occasional journaler with less than the usual level of desire to conceal life events. I know I am only human and would be fooling no one were I to more aggressively filter. Despite spending little time writing, I have managed to spend a significant amount of time over the last decade working on my process. I would say “refining”, but sometimes I end up further from my goal than I was before.

Briefly, I have written personal diaries in Microsoft Word, plain text and Google Docs. I have written publicly on MySpace and Facebook, and more seriously on my own website running the blogging software Nucleus, Movable Type, WordPress and now again Movable Type. Through these transitions, I often fail to fully convert the old content to a publishable format, even after years. Since this is all ostensibly for myself, I am content knowing at least I can access the content on the back end.

Then there is the matter of multimedia. An important part of my journaling is sharing photos and videos as illustration or primary content. Indeed, when I have less time to reflect than I would like, some of my entries consist solely of photos, captions if I am lucky, and usually a note stating I hope to write more later.

Hosting photos and videos is not trivial. Managing them and the method for embedding them in a consistent, streamlined and minimal way has been next to impossible. I moved from directly uploading each photo to managing albums with an external service in 2011, when I migrated to WordPress mostly to take advantage of ready made plugins for embedding photos from Picasa Web Albums. I was driven to madness by WordPress’s inferiority to Movable Type, and in 2012 I migrated back after writing my own plugin for photo embedding. The format of the previously embedded photos was not convertible, so I would have to (and mostly haven’t) go back and reselect and embed all the past photos. At least my plugin generated full HTML that didn’t need WordPress to make sense.

Well, I got a few good years out of that before Google intervened:

…the plugin I wrote to help me integrate Picasa Web Albums with Movable Type is dead. Specifically, it no longer can authenticate because Google killed AuthSub earlier this year, and I’d need to migrate to OAuth 2.0. …

So for now, I manually built the URL to the image embedded above. Fine for a one off, but certainly not how I want to handle all the travel blogs I still need to write. I’ll need to figure this out soon.

A few months later I wrote a new piece of software in this lineage. I released Embedder, a Chrome extension, to basically do the same thing but not within Movable Type.

There was the added kink that Google had decided to kill the photo service I was using, Picasa, and migrate users to Google Photos, a service which continues to be inferior years later. Miraculously, the old APIs continued to work, though I was venturing deeper into relying on undocumented functionality. Perhaps it is not surprising Google didn’t bother changing much of the back end, but I expected the worst. And perhaps I am no worse off relying on secret URLs to fake embedding features Google does not provide since I have a long history of relying on innovative Google products they end up killing due to failure to properly market or dumbing down of the product line in pursuit of the bigger slice of pie.

Anyway, I thought I might be safe for a while, but it was not meant to be. Less than a year later, in August 2016, Google announced on the Chromium Blog:

In the second half of 2017, the Chrome Web Store will no longer show Chrome apps on Windows, Mac, and Linux, but will continue to surface extensions and themes. In early 2018, users on these platforms will no longer be able to load Chrome apps. On Windows, Mac, and Linux, we encourage developers to migrate their Chrome apps to the web.

Ironically, I strongly considered writing Embedder as a web app on my server in the first place, but I thought doing a Chrome app would make it more likely others could find and benefit from my work.

Knowing my current solution needs changing but fearing choosing the wrong path has probably contributed to my continuing lack of photo blogs. Often I revert to simply uploading files directly through Movable Type, as server space is the least of my concerns these days. I do still dread having to convert everything if I ever hope to have consistency. But that in itself causes problems. All this editing of past entries also updates the edit timestamp, which drives me a bit crazy because I want that to be semantically meaningful and indicate more than a formatting change!

Back to the topic at hand, or at least closer: For years now, I have also been mulling over switching to a static site generator so all my source content could be plain text files. I already have a mostly static site thanks to Movable Type, but I do yearn for on even cleaner approach. I have moved closer to this by writing all my entries as Markdown documents for at least five years, even if they are ultimately stored in a MySQL database. When the time comes, I can write a simple template to generate those static source files, and can probably run both side by side for the transition.

I am pondering this more after reading Chris Krycho‘s entry “Academic Markdown and Citations“. (I also appreciated Chris’s struggles with cloud storage.) I was seeking a little insight into how others handle footnotes with Markdown, but was also in awe of his publishing workflow involving static site generation with great citations and footnotes. Though I have faith his site will remain online forever, here is a screenshot of a generated entry:

chriskrycho-blog.png

chriskrycho-blog.png

And some of a generated manuscript:

chriskrycho-article.png

chriskrycho-article.png

chriskrycho-citations.png

chriskrycho-citations.png

chriskrycho-footnotes.png

chriskrycho-footnotes.png

I also love the link to the Markdown source. I have wanted to generate such a thing for my blog, but haven’t had time. It would be mostly for machines to read since HTML contains a lot of cruft, and since I am mindful my site is only online so long as I continue paying Amazon for and maintaining my server, so the easier I can package it for some Internet archive, the better.

And so here I am, out of time again, but at least I can now look back at my struggles when I do have time.