#jackyto help with versioning and API translations
#jackylike if we have a breaking change (like renaming `action` to `act` or introducing PATCH for particular operations), this has a notion of a translation layer (Stripe's approach is probably the most ideal) so requests can be 'upgraded' or 'downgraded' to the version understood by a server
#jackythis is meant for local-first software but I can see how this benefits non-local-first
#jackytl;dr: it's schema migrations for API contracts
gRegorLove_, jacky, trig[d], johnnrs[d], Asaf_Agranat[d], laker[d], cygnoir[d], dovedozen[d], sayanarijit[d], hepphepp[d], samhenrigold[d], YimingWu[d], aspenmayer[d], Silicon[d], Jeremiah[d], tracydurnell[d], indieweb-irc-bri, corenominal[d], Nan[d], capjamesg[d], hoenir, shaunix[d], wackycity[d], balupton[d] and mro joined the channel
#capjamesg[d]jacky I was thinking about the societal impacts of large-scale, easy to access / crawl social graphs.
#capjamesg[d]With h-cards, governments could maintain a database of changes to your profile over time without having to circumvent any social media businesses' crawling limits.
#capjamesg[d]I am unsure whether this is a legitimate concern but it feels like one.
#capjamesg[d]What if everyone had a h-card on their site in the UK? Would people start mapping friends to create massive datasets for advertising purposes?
MarkJR84[d] joined the channel
#doosbooxcapjamesg[d]: it definitely is a valid concern. That said they wouldn't really have a way of mapping "friends" in a reliable manner, nor know which forums you are frequenting or what kind of information you usually search for.
#doosbooxcapjamesg[d]: btw, I think I've asked this before but what do you use for the indexing and search for your search engine?
#capjamesg[d]That is valid. I think I left XFN creep in there a bit without being explicit. I concur with what you said about mapping friends.
#capjamesg[d]8GB server holds the 400k or so documents.
#capjamesg[d]As for the actual querying, I have a Python Flask server that wraps around Elasticsearch and turns human queries ("what is X...") into the right schema.
#capjamesg[d]The schema can vary depending on if a query is a "discover" query (find people whose h-cards mention something) or if the query needs to be ordered in some way.
#doosbooxcapjamesg[d]: how much of this have you built yourself and how much is off the shelf components?
#capjamesg[d]Elasticsearch is off the shelf. The crawler and search result representation (query cleaning, featured snippet extraction, etc.) is mine.
gRegor joined the channel
#capjamesg[d]Then things like post type discovery are part of indieweb-utils.
#doosbooxhow do you parse and translate human queries?
#capjamesg[d]If a question contains a "what is" at the beginning, for example, the engine looks for a <dfn>, a direct answer in HTML documents that is likely to match based on a few semantic rules, and a couple of other things.
#capjamesg[d]Or if a question starts with "who is", the engine will look to retrieve a h-card for the person whose name is mentioned if one is available.
#capjamesg[d]To keep this efficient, this search only runs on the top few results.
#capjamesg[d]The assumption is that if the engine has information on, say, my h-card, it would show up highly for a search "who is jamesg.blog" (with "who is" filtered out because it is not useful information to query in the index).
#capjamesg[d]At scale, these sorts of naive rules might fall apart as an index grows a bit in favour of more complex logic. But I'm not building a really big search engine like Google 🙂
#capjamesg[d]I also remove some punctuation and transform the final, cleaned query, into Elasticsearch syntax (i.e. if a user has provided a keyword that requires a certain filter is used). I can't think of any of these syntax examples off the top of my head but I remember building at least one.
petermolnar, hoenir, capjamesg[d], shaunix[d], corenominal[d], wackycity[d], MarkJR84[d], edburns[d], indieweb-irc-bri, Crypto[d], Nezteb[d], edgeduchess[d], grantcodes[d], mro, niklasfyi[d], Murray[d], YimingWu[d], laker[d] and omz13 joined the channel
#jamietannajacky +1 on versioning, but I'd say there are quite a few industry-used means for doing it we could follow? That does look interesting as an approach
[James_Van_Dyne] joined the channel
#petermolnarif anyone wants the avatars from /chat-names , I made a quick hack at petermolnar.net/indiewebavatars.php?name=[username] but it's far from perfect
#Loqipetermolnar has 8 karma in this channel over the last year (40 in all channels)
tetov-irc and Murray[d] joined the channel
#Caesar[m]<petermolnar> "if anyone wants the avatars from..." <- Maybe an idealistic dream, but from an indieweb viewpoint it would be great if avatars were picked up from our websites instead of having to manually update them at /chat-names, wiki sparklines, etc
balupton[d], kimberlyhirsh[d] and aspenmayer[d] joined the channel
#jackyactually I think I answered my own potential question (how do I work with services that don't support callbacks?) - by mainly avoiding them or falling back to a poll of webmentions
#sknebelnot sure what "mainly avoiding them" means in this case, since you cant choose if the site you send a WM to supports it or not
mro joined the channel
#jackyah I should have mentioned that my site doesn't do a lot of the work for webmention processing
#jackylike Lighthouse does the actual work of sending and receiving and it could probably do some work to just invoke the callback after an hour or so as sent if nothing happened
#sknebelok, yeah, for integration between bits of your site you can of course do that
#sknebel(I would've considered Lighthouse part of it)
#jackyokay I think I have a decent flow now that's all push-based
#Loqirel-subscribe is an experimental rel value for linking from your home page to your subscription endpoint, and is currently prototyped by Aaron Parecki on aaronparecki.com; try the Follow button at https://aaronparecki.com/follow or any permalink https://indieweb.org/rel-subscribe
#jackytbh the simplest form of this would be people being able to use their site to follow one another (which is good in itself) - the field could be autopopulated with the URL
#jackyI do think [schmarty] wrote something about autocomplete and URLs tho
#Loqi[Marty McGuire] Thanks, Ryan! I see the same behavior on Firefox, but probably wasn’t clear explaining it (“start typing from somewhere in the middle”). I do use this when I’m on my full computer, and it helps!
Where I get really frustrated is on my iOS dev...