#dev 2022-07-19

2022-07-19 UTC
moose333, klez, geoffo, nsh, [Jamie_Tanna], [KevinMarks], [Murray], [campegg], IWDiscordGateway and jacky joined the channel
geoffo, angelo and jonnybarnes joined the channel
#
IWDiscordGateway
<person> What's your favorite thing about your website/blog layout? What's your least favorite thing?
superkuh joined the channel
#
capjamesg_
person Are you asking anyone? I think it's the dashed borders on my blog for me :)
#
IWDiscordGateway
<person> Yup, just asking anyone!
#
IWDiscordGateway
<person> capjamesg_ Yup, just asking anyone!
geoffo, tetov-irc, Seirdy and jonnybarnes joined the channel
#
[Murray]
@person: lots that I like about my site (colours, layout, responsiveness) but particularly that it works for me; I tend to be able to find things quickly (search has been a big win in that regard). Least favourite? The underlying tech stack (Gatsby 😄). From a layout perspective, there's lots I dislike about my actual page content layout, and I'd like it to have more direct personality of _me_, but that requires sitting down and
#
[Murray]
actually, properly designing some things again.
geoffo, superkuh, AramZS, jonnybarnes, xyzzydev[m], jacky and petermolnar joined the channel
#
capjamesg_
What is a recommendation engine?
#
Loqi
A recommendation engine is software or a service that recommends things to people based on their behavior or people that have behaved like them in the past, like the features of sites that say things like people that bought this also bought that, or liked, or followed, etc https://indieweb.org/recommendation_engine
#
capjamesg_
How would one go about making an IndieWeb recommendation engine?
petermolnar and [schmarty] joined the channel
#
[schmarty]
First determine what exactly you would want to recommend? 😅
#
[schmarty]
New folks to follow in a reader? Posts that are getting a lot of attention or responses? Curated around some theme or topic?
#
capjamesg_
I haven't thought that far ahead.
#
capjamesg_
New people to follow in a reader seems really interesting.
#
[schmarty]
And where are folks seeing the recommendations? A stand-alone site they choose to visit? A channel or other featured section in their reader? Notifications??
#
capjamesg_
I don't know much about how recommendation engines work.
#
capjamesg_
I think seeing a channel in their reader would be interesting.
#
[schmarty]
The guts can vary a lot but the major types I am aware of tend to be about mapping "things" into some feature-spaces. A recommendation comes when you take some features and reverse-map some "things" that match or are close.
#
AramZ-S[m]
You could share OPML file. I used to have an OPML file I maintained but 'subscribe to OPML` has mostly been a dropped feature in readers
#
[schmarty]
The Pandora music service was built on the Music Genome project - a db that tagged a huge amount of songs on a huge number of categories. (Genre yes but also instruments present, themes in lyrics, moods, vocal style, ...)
#
AramZ-S[m]
A lot of recommendation systems map user lookalikes these days. Harder for starting users without some invasive tracking tho
#
[schmarty]
Netflix originally worked like a huge matrix of users-to-movies by way of ratings. They made recommendations by comparing your vector of ratings to other users with similar rankings and then suggest common ones your list doesn't have
#
[schmarty]
There's also tags/categories, keyword matching, and any other attribute you can think of. Not to mention digging into contents of photos, features of venues for checkins, ...
#
xyzzydev[m]
hi all! new here .... I have been working on and off on a personal microblog of sorts :) It occurred to me recently that websockets / webrtc can be used to implement a sorta simple p2p protocol where a central server acts as a relay to exchange data and introduce peers to each other. so in theory I don't have to store all the user data on the server but I just have to provide the central relay that exchanges data if that makes sense.
#
xyzzydev[m]
i am wondering what you guys think of this approach
jacky joined the channel
#
xyzzydev[m]
my preliminary experiments are promising and I think you can have simple desktop apps that can can sync data via websockets whenever you open them instead of storing all the data on the server.
#
xyzzydev[m]
s/can//
#
AramZ-S[m]
You should check out https://hypercore-protocol.org. I think they might be working in a similar direction and could have some useful stuff for you
#
AramZ-S[m]
Is your code open? I'd like to take a look!
gRegor joined the channel
#
xyzzydev[m]
yes hypercore seems to go even further with the p2p approach but I am using websockets for now. I am currently building a binary on windows and I hope to public the code soon
#
xyzzydev[m]
roughly speaking whenever you open the app, it sends a register event with all the public data it has to offer
#
xyzzydev[m]
if you share the address of the public data the to anyone else, you can query it
#
xyzzydev[m]
simply put all apps have an open websocket connection to the central server when the apps start
#
xyzzydev[m]
my initial thoughts were to use a self-hosted version of ngrok for doing something similar but in the end I resorted to using websockets because there setting ssl a self-hosted ngrok solutions seemed tricky
#
xyzzydev[m]
s/there//, s/a/on/
#
xyzzydev[m]
in some ways I was trying to re-create opera unite
#
AramZ-S[m]
I think it sounds like an interesting idea! Sort of like https://wormhole.app/faq also?
#
xyzzydev[m]
right its just to sync app data but the idea is sorta similar to that
#
Loqi
[schollz] croc: Easily and securely send things from one computer to another :crocodile: :package:
#
xyzzydev[m]
croc also uses a relay of sorts to setup encryption
#
AramZ-S[m]
Interesting! Well it sounds like it could be a useful concept that has some solid related precidents! Hard to know without going into the code, understanding the apps, or trying it out, but I could see some uses, especially if you can figure out the security and methods for per-user syncs.
#
xyzzydev[m]
one advantage of websockets is you get ssl for free but I am using public key stuff to ensure authenticity of users
#
[KevinMarks]
so not public data (as you might do with h-card etc) but private conversations?
#
xyzzydev[m]
basically its app to app communication so its not public data
#
jacky
capjamesg: re: recommendations, I have a sketch for this but the fastest method I was thinking was sniffing websub feeds (like what things are updated) and how often a particular domain or URL is "updated" (for 'recent things') and also sniffing Webmention traffic (aka asking people to use your endpoint in conjunction to theirs or in place of) and seeing what things are publicly shared frequently from a particular domain
#
jacky
that's a "easy" way b/c it's based on frequency
#
jacky
other things could be like category tracking (like seeing how many items with a particular category are frequently posted)
#
jacky
sure there's people here with more pointed ideas
#
jacky
I think there was something added recently in /discovery from the bear.blog universe
#
xyzzydev[m]
torrents have an interesting way of discovering recommendations btw based on what each peer has downloaded - its called swarm discovery i think
#
xyzzydev[m]
i think it basically recursively expands by grabbing all the download metadata from each connected peer
#
xyzzydev[m]
discovering more interesting stuff is one way in which platforms "hook" the users
#
AramZ-S[m]
Oh, I never heard of that. Interesting! B
#
[schmarty]
what is discovery?
#
Loqi
Discovery is a variety of methods for finding content, websites, communities, or people to follow on the web including search, directories, recommendation engines, tags, or other serendipitous methods https://indieweb.org/discovery
#
[schmarty]
^^ that's how we tend to use the term "discovery" in IndieWeb-context.
#
[schmarty]
(rather than the p2p-plumbing version of the term "discovery" as it relates to bittorrent)
jacky joined the channel
#
xyzzydev[m]
i have been meaning to ask, how do you implement web rings ?
#
[schmarty]
what is a webring?
#
Loqi
A webring is a collection of websites linked together in a circular structure https://indieweb.org/webring
#
[schmarty]
xyzzydev: several examples there. some very different from one another!
#
xyzzydev[m]
this tutorial covers a basic one with json https://css-tricks.com/how-you-might-build-a-modern-day-webring/ but I am wondering if there is a protocol for it too
#
jacky
xyzzydev[m]: not really, it's more human-centric than machine-centric tbh
#
jacky
it's kinda like how you'd walk into a store and see a wall of related magazines
#
xyzzydev[m]
after doing a bit of self-hosting I realised I twitter offers three things that make it engaging, apart from trends which I am not a fan off... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/ff85394bd54696891f96b209d657ae84417fb0ab)
#
jacky
I agree re: 2
#
jacky
but I even think that a well populated webring could even provide all 3
#
jacky
3 could be done by using a webring as "seed indexes" to start a crawl from
jonnybarnes joined the channel
#
[campegg]
Definitely agree with 2, but also think that there’s a ton of overlap in the Venn diagram of 1 & 2… interested to unpack how you see them as different in the sense of a webring?
#
[campegg]
In my head, there’s a serendipitous element to discovering both people and stuff via a webring
#
xyzzydev[m]
they are distinct in the UI sense otherwise they build different views over the same data you could say.
#
[campegg]
Ah, right. Got it
#
xyzzydev[m]
i used activitypub a few years ago but I think search is not implemented in it
#
xyzzydev[m]
if i remember correctly during early days of twitter search functionality was used heavily to discover new things
jacky, chenghiz_, nathan[m] and tetov-irc joined the channel; nathan[m] left the channel
#
IWDiscordGateway
<person> Murray (@Murray) : thanks for sharing! Balancing "I want the UI to reflect me" with "I want to spend more time writing FOR the blog than futzing with my layout OF the blog" is too real! Mind sharing your website link? Would love to see it
jacky, j12t and angelo joined the channel