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:


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.


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



Tags are live-ish. I need to reupload all old posts to link to the proper page (rather than search), but the landing pages are all there and this month works.


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...


Indie SEO, Google Search Console, static websites, and Java fails/parallelization.