#dev 2023-05-14
2023-05-14 UTC
geoffo, [tw2113_Slack_], eitilt and [aciccarello] joined the channel
# [aciccarello] Anyone have suggestions for how to parse mastodon content for reply context
# [aciccarello] Is opengraph enough
# [aciccarello] Strange... attachments are included in the description meta `<meta content="Attached: 1 image Sometimes Slack is fun." property="og:description" />`
geoffo joined the channel
# [aciccarello] I'll see how far I can get with that. I'll have to see if there's a node package already handling metaformats
jose_ joined the channel
# IWDiscordRelay <capjamesg#4492> aaronpk use mf2.link 🙂
Loqi__ joined the channel
# [KevinMarks] I'll have a look later on, I need to understand the templates better, and likely the structure of the bluesky too - links working and pictures in threads are the obvious flaws
# IWDiscordRelay <capjamesg#4492> I guess I’m unsure what structure is best for what I want to do.
# IWDiscordRelay <capjamesg#4492> I want to, given a social graph of a subset of BlueSky, recommend people I may want to follow.
# [schmarty] what is you may also like?
# [schmarty] ok loqi
# rubenwardy gosh those are some old screenshots
# [schmarty] capjamesg: there have been a ton of approaches to this problem! a common one to start with is similar to the original netflix recommender algorithm. treat the who-follows-whom data as a giant 2D matrix - each user gets a row and each column indicates whether the row user follows that particular column user. similarity measures can find "users like you" and then differences between your vector and theirs can find new people to
# [schmarty] follow.
# [schmarty] since you have the graph, there's of course friends-of-friends recommendations, and you can score and sort based on how many people you follow also follow some account that you don't yet follow.
# [schmarty] then there's content-driven stuff.
# [schmarty] anyway all that is to say there is no "correct" answer.
# rubenwardy I think it's cool flash to the past
# Gorro_Rojo[theyi <GWG> "Too many things to do, never..." <- the software dev motto
# IWDiscordRelay <capjamesg#4492> [schmarty] so maybe no graphs? That feels like the way to go.
# IWDiscordRelay <capjamesg#4492> I am using that same system for content recommendations.
# IWDiscordRelay <capjamesg#4492> I didn’t think about that.
# [schmarty] capjamesg: any method is going to have tradeoffs, situations where its recommendations are "better" or "worse", etc.
# IWDiscordRelay <capjamesg#4492> I’m surprised there isn’t a big graph model architecture with a good developer experience to use.
# IWDiscordRelay <capjamesg#4492> That gets added to my list of problems for which I would have thought there should be more options.
# IWDiscordRelay <capjamesg#4492> OCR is at the top of the list. I have a lead with TrOCR but I haven’t tried it yet.
sebbu and holiday_1 joined the channel
# [KevinMarks] Maybe we need a screen shot of the Bluesky who to follow page?
# [KevinMarks] Here's mine at the moment, anyone got a better one (I have already followed the less blokey suggestions)
# IWDiscordRelay <capjamesg#4492> https://cdn.discordapp.com/attachments/866577430886350869/1107344925600784454/C542C61B-1077-4464-B0C1-07B96098BEE2.png
# IWDiscordRelay <capjamesg#4492>
# [KevinMarks] That is better than mine, do you want to add it to the page.
# IWDiscordRelay <capjamesg#4492> I shall!
bterry1, geoffo, driftwood[m], IWSlackGateway, Guest6 and [KevinMarks] joined the channel
# bkil In my social client, I have a followship recommendation page where I just list those who your friends follow ordered by how many of your friends follow or recently interacted with them (counted by mentions, replies and reactji). Each row in the table includes their name, bio description, the histogram of tags they have posted about recently, which friends relate to them and a separate field to show which one of your friends they follow or interact with (i.e.,
# bkil the other direction). I have a strict no-wasteful images policy, but this is also a place where their avatar could be listed. I could rank the results differently based on the tags in common with the list in your profile bio or that you have recently posted about, though that is not implemented yet.
# bkil capjamesg[schmarty] In general, I am against an architecture that build upon a "global bird's eye view", because that necessarily implies that some (paid) moderators will constantly have to sweep through the graph to combat spam & abuse. This problem doesn't exist if you only work through a limited radius within your social circles and weigh by web of trust and enforce accountability.
# bkil It also introduces a "big data" problem that are hard to solve efficiently where a "small data" alternative would be superior from a community and sustainability point of view in exchange for _seemingly_ offering potentially improved results from a _mathematical_ standpoint.
# [KevinMarks] [capjamesg] I'm not sure about the way you're processing embeds by rewriting the `embed` structure of the `post` and nulling it out if you don't understand it. That seems a bit fragile.
# [KevinMarks] aha, found the bug. Also a good reason to use iterators rather than loop variables.
# [KevinMarks] OK, PR for that sent
# [KevinMarks] So, to me it seems like a way to improve this would be to make a post template and include that in the places where you're also embedding posts - as replies or as feed entries or as parents. That way the embeds could be more consistent.
# [KevinMarks] but I'm not quite sure how to do that in ejs - it's the kind of thing I'd do with a macro. in nunjucks
# [KevinMarks] You can include a file, but then you can define macros for laying out things that recur - I apply my usual rule of three - if I have copy/pasted layout 3 times it should likely be a macro. Especially if it has conditionals in it.
# [KevinMarks] LGTM
KMF joined the channel
# [KevinMarks] So, if you want I can do a refactor that uses nunjucks instead, but that is quite a big change.
[chrisbergr], geoffo and eitilt joined the channel