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:


KO
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?
What country are you from?
What?
'What' ain't no country I ever heard of! They speak English in 'What'?
What?

KO
English, motherfucker! Do you speak it?
Yeah.
Connie
So you understand the words I'm saying to you!
Yeah.
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.
What?
Say what again! Say 'what' again! I dare you! I double dare you, motherfucker! Say 'what' one more time!
Avatars

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

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

Chris
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:





Comments:
Connie

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.

KO

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