Tried my best. Lunar eclipse.

My lifestream feed is probably best understood as an extended version of my blog, a combined feed of notes, articles, photos and videos, but without all the replies, likes and reposts that can sometimes add unwanted noise to an IndieWeb site.
My entire feed is available as well.
Tried my best. Lunar eclipse.
William Kennedy![]()
In Defence of the Single Page Application
My argument for why we need the Single Page Applications(sarcasm inside)
I don't believe I'm a person with seasonal depression or anything but I have to admit that my mood is better with the warm weather.
This is truly fascinating. https://www.youtube.com/watch?v=3O28uSZxyEw
YouTube![]()
How We Don't Talk About Bruno Works & Why It's Amazing
I reveal the secrets of Lin-Manuel Miranda's newest hit song "We Don't Talk About Bruno" from Disney's Encanto.Secrets of Dos Oruguitas: https://www.youtube....
TIL that the term "through-composed" refers to a piece of music with no repeated parts (no refrains, etc.)
It always amazes me to think that Prohibition in the U.S. was implemented via a Constitutional amendment, as was its repeal.
In my head I think of a Constitution as a country's legal axioms - the foundation of its law system. From this perspective it makes sense that the prohibition of alcohol, having no Constitutional basis, had to be passed by adding another axiom. And when people realized that this was just a bad idea, it makes sense that getting rid of it required adding yet another axiom. It's funny, when you think about it, like a big legal "oops!" that you can't erase.
Quite the shit show in the US today
These cuties showed up randomly in my yard
Webmentions are the way people have conversations on the Indieweb, but integrating them - or, indeed, any kind of dynamic content - into a static site can be a little tricky. Luckily, many people have run into this issue before and so there wasn't much for me to do but steal.
To be clear, I'm talking about receiving and displaying webmentions here, not sending them. How I ended up sending them will be a separate topic, as it is tied into how I manage POSSE and backfeeding on my site.
The previous, pelican-based incarnation of my blog used a homegrown system involving a webmention listener that handed off data to a redis server and ultimately resulted in a new webmention being committed to my site's repo, causing the whole thing to be rebuilt. It certainly worked, but it required a fair bit of maintenance. It also failed to take into account certain edge cases that I hadn't previously considered (like a commentator's avatar image going missing).
Out and about. Griffintown has changed a lot.
I'm a pretty big fan of TypeScript, probably best described as a statically typed language that transpiles to standard JavaScript. I've written about it before.
People who have worked with me in the past may be surprised at my admiration, given the rancour I occasionally direct at something like the Google Web Toolkit (GWT), a Java-to-JavaScript transpiler, which to the casual eye seems to be in a similar vein.
The similarities, however, are superficial; TypeScript and GWT are quite different beasts. Something like GWT is used in web development in order to avoid writing JavaScript. TypeScript, on the other hand, is best viewed as JavaScript extended with an optional static typing system. The optional part is key; in theory, any JavaScript program is also a valid TypeScript program. In other words, TypeScript doesn't try to hide the fact that it's merely an enhanced version of JavaScript.
As a participant in the IndieWeb, I publish my share of likes, replies, reposts, and bookmarks. These posts all have one thing in common - they refer to another, external URL and only make sense in the context of that URL.
This being the case, it's nice to give my readers (and myself) some sense of what I'm referring to when I post that content. The process of scraping metadata from URLs for display purposes is called "URL unfurling" and implementing it efficiently on an Eleventy based website is not entirely trivial, especially when you're trying to save your Netlify build minutes, so it's worth sharing what I've learned.
I'm not religious, but I occasionally think that for some people, their purpose in life is to be a cautionary tale, and that makes me sad.
Pagination in Eleventy is bit strange. Out of the box, Eleventy comes with support for something the developers call "pagination", but it might not be the sort of pagination you're used to.
As you probably already know, Eleventy is a static site generator. It generates output HTML files from input template files. In the simplest case, one HTML file is generated for each (non-layout) input template.
The feature known as pagination in Eleventy is basically a way of getting around that limitation, allowing you to generate multiple output files from one template file. If you squint, you can see how this maps to the traditional idea of pagination (i.e. we want to break down a long list of items into smaller sized pages, writing only one template for the page) and although this is, indeed, a common way to use pagination in Eleventy, it turns out that the feature is much more generic than you might think - and, paradoxically, less useful than you might think.
After some consideration I've decided to remove the articles from my "Posts" feed and rename it to "Notes". It now contains just my notes and photos (and videos if I ever start posting those). As before, my articles are available in my "Blog" feed.
Initially, my reason for mixing articles, notes and photos into one "posts" feed was that I suspected at least some of my readers would want a feed just for "original content", and the "posts" feed provided that. I still think this is true, but some other insights have led me to reconsider the approach.
Evelyn calls him "Laser Jesus"
Recent interactions on Twitter have led me to clarify the purpose of all my feeds with descriptions, so hopefully people will have a better idea of what they are in for :-)
As mentioned previously, I recently converted my website over to Eleventy. I'm an IndieWeb participant and, moreover, my website is fairly complex so I ended up writing (or, in some cases, pilfering) a fair amount of code to make it all work together in an acceptable manner. I thought I would document the process via a series of blog posts in case anyone else finds it of value.
None of this is intended to be an Eleventy tutorial and you'll get the most from these posts if you already know something about how Eleventy works.
After roughly five years, I've finally decided to switch my blog over from Pelican to Eleventy. I'd be lying if I said that I wasn't at least partially swayed by the fact that all the cool kids seemed to be doing it but, with that in mind, I do have some (hopefully) legitimate reasons for making the switch.
Pelican bills itself as a static site generator, and so it is, but one that focuses more on traditional, single user blogs. Pelican can, of course, be used as a CMS, and you can certainly use it to create arbitrary, standalone pages and websites, but the features in support of this usage seem more bolted on than organic. There are certain assumptions built into Pelican that stem from its original purpose as a blogging engine that are occasionally irritating to circumvent.
Like many Indieweb participants, I post bookmarks, likes and reposts to my website.
From a technical standpoint, there's virtually no difference between these kinds of posts; they're all permalinked h-entries which house another, usually external, URL and which often contain no other content beyond that link. They differ solely in the microformat which annotates the link, indicating the intent of the post.
And intent make all the difference here. A like is supposed to convey that the author actually enjoys or appreciates the content to which the post is linking. A repost is supposed to convey that the author wishes, for some reason, to share that content on their own feed. A bookmark is supposed to convey that the author...ugh...err...
More generally, is there any advantage to hosting your albums on an #indieweb enabled website, as opposed to a dedicated application, assuming the app was under your control (in other words you still own your data)?
So what does the #indieweb use for storing photos/albums? I run a micropub media server on a remote machine, storing the photos on disk. Any advantage to switching to the cloud (a bucket, for example)?
If you're a programmer of a certain age, you've either read or know about Design Patterns, a book on software architecture popular in the 90s and early 2000's. The book was sort of like a repository of TV tropes for the Object Oriented Programming (OOP) world in that it provided a convenient vocabulary for describing what were usually eminently recognizable software engineering techniques that nonetheless often lacked punchy, easy to remember names.
Notably, the book was more descriptive than prescriptive. It described preexisting techniques that were already in use in the "wild", so to speak.
Chicago, summer 2018. Not Greece, but I'll take it.
Taken in summer 2015. Wish I were there, in both space and time.