Today, the United States celebrates the legacy of Martin Luther King, Jr., one of the most prominent forces in the Civil Rights Movement. Unfortunately, King’s legacy has been muted by people who cherry-pick his quotes to the parts that are least-offensive to white supremacists.
If you read King’s speeches—his own words—you find that he didn’t merely “dream” of a day when we stop caring about race. He advocated for changes that would make the legacy of racism irrelevant, a country where it’s no longer reasonable to hate racism but be unable to tolerate activism, and an economy that works for the people instead of using people as a raw material. In fact, if you haven’t already done so, go read any of his letters or listen to any of his speeches now; this post will still be here when you’re done. For his efforts, the FBI wrote him demanding that he die by suicide, and he was murdered in 1968.
Oh, and if you live in a state that also celebrates today as “Robert E. Lee Day,” this would be a good time to write your governor and state and local representatives to put an end to celebrating the life of a literal traitor to his country.
Next to all that, do you know what looks completely trivial? Exactly, my updates for the week look trivial…
I did warn everyone that this Morning Dashboard project was under perpetual development, and wasn’t necessarily comfortable publishing the code, for exactly that reason…
Specifically, I only just added the existing code on Monday, then realized that some styles had changed in the meantime, formatting required some explanation, and never pushed out the ESLint configuration.
Those taken care of, I realized that I could use opacity on my sleep graph to represent the quality of that sleep—specifically, my response time when I wake up—and found that NOAA’s weather alert RSS feed sometimes fails miserably. Oh, and as we’ve been seeing cold weather, this week, I’ve noticed that the temperature bars should have a minimum height like the sleep bars do.
As many readers—hang on, do I even have “many readers”? It seems more like a quality-over-quantity kind of issue—might know, I have been “threatening” for a while to overhaul how I write these developer journal posts, so that I don’t need to find a conversational way to wedge in the name of the project, despite literally just using the name as the sub-heading.
Without the name, I have no excuse to link to the repository, for those readers that want to follow my work. But I also don’t want ugly situations where the first paragraph of the section starts with the heading. The ideal situation is where I automatically drop an HTML preview of the repository into the page, and talk about what I did to the project without needing to name it. The preview links to the repository, and so I can write like I’m not a robot filling in a template.
Generating the previews seemed daunting, but it turns out that GitHub does the hard work for us. When you pull the repository’s page, the HTML header includes code like the following.
<meta property="og:image" content="https://opengraph.githubassets.com/36c65911525fc7e087ae456e86d88e26638a837ef2e992cac5e55bd465b18044/jcolag/entropy-arbitrage-code" /> <meta property="og:title" content="GitHub - jcolag/entropy-arbitrage-code: The Jekyll blog for https://john.colagioia.net/blog" />
There are others, but these cover most of the idea for the repository that we’re talking about. The
og: prefix refers to the Open Graph protocol, suggesting metadata—which I probably should have already known about, because Jekyll automatically populates several Open Graph elements on every page of this blog—to help front-end developers render previews with consistent information. Most usefully, GitHub has already created the preview that they would like to see rendered, as their Open Graph Image, or
og:image. So, starting with this post, when I refer significantly to a GitHub repository, you’ll see that image to the right of the section, rather than watch me try to talk around it. (If it’s just for a library update, as you see below, I won’t bother.)
As a bonus, if a user has set a custom “social preview” image for their repository—like a logo, for example, which you can set under the repository’s Options page, if you haven’t yet found it—then the
og:image will point to that, instead.
The pre-generated image, by the way, is why I didn’t create an equivalent plugin for GitLab, even though I sometimes put work there: Their default image is just the GitLab logo, not relevant to any repository. I saw a request for the feature in passing, though, so it’s probably only a matter of time before they create something similar.
At the bot’s recommendation, I bumped the version on Chroma Schemer, even though I don’t really use it anymore and am not even confident that it’ll still build, with all the changes in concept and ownership with Proton Native. Miniboost got swept up in that, too.
The new plugin for GitHub repositories is nice, but it should cache the data as it rebuilds the site. As it currently stands, in a few weeks, I’ll need to wait for dozens of unnecessary network responses, and in a year, it could easily be hundreds.
Error-checking would also be nice. If I get the name wrong, my network connection is out, or Microsoft shuts GitHub down, it shouldn’t affect my ability to rebuild the rest of the blog.
Likewise, there’s a small structural problem with the previews on the page: I need to write enough that the paragraph is tall enough to stretch past the height of the image, or else the next heading gets squashed to the left. People probably won’t see it here, unless they have their fonts set to tiny sizes, but I also don’t normally have more than a hundred words to say about what I worked on, for a specific project. I’m not sure that there’s a good solution to this—HTML isn’t friendly towards people who think about layout like they would on paper—but there’s probably at least a small hack, somewhere.
In addition, it appears that various libraries have released updates, and I’d rather not have them build up to the point where I need to dedicate a full week to reviewing them to clear out the queue.
Credits: The header image is Reagan signs Martin Luther King bill by an unnamed White House photographer, in the public domain as a work of the United States government.
Tags: programming project devjournal