Metapost | 2020.05.31

No, I'm not nerding out about newest Persona game, I'm nerding out about site meta! (There's the thin connection that it's about people and in the video game when a character attacks they sometimes shout "persona" because it's a jrpg). Anyway, I wanted to finish the chat bubble-style html implementation of conversations that started here:

I did the screen grab after I started coding, so I had broken the link to the 'me' avatar, but you get the idea.
Conversation element

Bloodninja robe and wizard hat memes Stone Cold Steve Austin

So some things things that weren't great about the initial implementation:

With some cellspan-fu, I implemented lazy avatar placement and bubbles thats that take up 2/3 of a center area. Supporting multiple participants made the logic more complicated, but like the thumbnail/gallery view I hope to have done it and never have to change it. Also I followed the left/right paradigm where I'm on the left and others are on the right, excepting the case where I'm not in the conversation.

And here's how it looks:

I always say the absence of evidence is not the evidence of absence.
What? Connie
Simply because you don't have evidence that something does exist does not mean you have evidence of something that doesn't exist.
What country are you from?
'What' ain't no country I ever heard of! They speak English in 'What'?
English, motherfucker! Do you speak it?
Yeah. Connie
So you understand the words I'm saying to you!
Well, what I'm saying is that there are known knowns and that there are known unknowns. But there are also unknown unknowns; things we don't know that we don't know.
Say what again! Say 'what' again! I dare you! I double dare you, motherfucker! Say 'what' one more time!

Avatars Nintendo Miis

Supporting pseudos/names/avatars meant actually compiling an inital list of recurring characters in this quiet corner of life. From there, I addressed the conversation text coloring challenge by hashing people's IDs to an RGB value. So:

"chris".hashCode() = 0xbaadcafe
0xbaadcafe % 0xffffff = #adcbb8

By brightening and darkening #adcbb8 to values closer to black and white, I came up with a per-person color palette. Of course, at these limits, a lot look similar, but different enough for the purpose.
The big retrofit

And since everyone (well not everyone yet) had an avatar and a color scheme, I figured I might as well compile username mentions. Some things, like code changes, are easy. Others are sweat equity. This was the latter. Naturally, I automated finding names in historical markup files, but QA was all manual labor. Here is a list of people I now hate:
Looking forward, I'm just adding the markup 'c/' to denote a person's handle. All of this would have paid off recently when asked for neat images of certain people for an album.

Chris, it's Fonse. Wtf, man? Anonymous
Yeah, my husband has a neat, slightly-insulting persona, where's mine? Anonymous2
They're coming, I promise!

I added handles for the people most mentioned these past 20 years. I still have some ground to cover.
Oh yeah

Of course, going over old stuff, I found some things to fix - not the least of which is broken external links. I added a few images to posts where I was storage-constrained, including interpretive depictions of my technology progression:


It's my pic for CS now. "Hey!! Hey!!!! That's not funny!!!!"

I was going to say why does KO get to be a badass white mofo, while I'm a japanese anime.. but then I saw CR... enough said.

Related - internal

Some posts from this site with similar content.



Linking internally and externally using text tokens and n-grams.


On a whim I decided to update my thumbnail algorithm. In short, the previous iteration would look for areas of sharp contrast from a few preconfigured areas of the image. Intuitively, this had the twofold benefit of finding high contrast areas (someti...


Parsing RSS feeds to find peers.

Related - external

Risky click advisory: these links are produced algorithmically from a crawl of the subsurface web (and some select mainstream web). I haven't personally looked at them or checked them for quality, decency, or sanity. None of these links are promoted, sponsored, or affiliated with this site. For more information, see this post.

Writing the endraw tag in Jekyll code blocks - SLaks.Blog


NES Emulator in Rust - David Tyler's Blog

NES Emulator in Rust with no unsafe code and only compile time guarantees.

The unreasonable effectiveness of simple HTML - Terence Eden's Blog

Regular blogging by Terence Eden.

Created 2024.04 from an index of 165,831 pages.