#dev 2020-07-12
2020-07-12 UTC
geoffo, [jgmac1106] and [chrisaldrich] joined the channel
# sknebel people using the github readme thing to automatically add updates: https://simonwillison.net/2020/Jul/10/self-updating-profile-readme/
[jgmac1106]1 joined the channel
geoffo, sp1ff`, nickodd and vika_nezrimaya joined the channel
# vika_nezrimaya I think I finally understood something. My backend for the Micropub endpoint (the database connector, I'd like to call it from now) was bloated not because it was full of crappy code that I wrote several years ago and never refactored
# vika_nezrimaya It was simply doing too much
# vika_nezrimaya The database connector was for some unknown reason responsible for maintaining the feeds, which I don't think it should actually do?
# vika_nezrimaya With the ?q=source paradigm that I use, the feeds can be the same MF2-JSON pages that h-entries are, only marked up with h-feed
# vika_nezrimaya and this means that I can use another microservice for maintaining these feeds after the Micropub endpoint accepts the post
# vika_nezrimaya Thus the micropub endpoint's code becomes a lot more simple >.<
# vika_nezrimaya I'm kinda not sure what the performance of completely regenerating the feed every time I post something would be... But I don't think it will take more than several seconds?
# vika_nezrimaya I'm kinda imagining it like this: each time I post or update something, the Micropub endpoint sends out a call to the feed manager. It loads up its own feeds, rebuilds them and then updates them using the Micropub protocol back to the endpoint
# vika_nezrimaya I'll just need a lot of locking to ensure consistency :3
# vika_nezrimaya Or I could go with another approach. The feed is stored as a list of URLs, and the Micropub endpoint loads these URLs on-demand when the feed is requested (so paging is on the Micropub endpoint)
# vika_nezrimaya kinda like this: ?q=source&url=https://fireburn.ru/feeds/main -> sees h-feed in the data, returns Object.assign(obj,
{ children: obj.children[skip:count].map(child => source_for(child)) }
) except in Python not in JavaScript# vika_nezrimaya default for skip will be 0, default for count will be 10 but it could be customizable
# vika_nezrimaya It feels like a good idea!
# vika_nezrimaya That will lessen up the load on the Micropub endpoint when posting and almost eliminate the need for locking
# vika_nezrimaya The feed operation will probably need to be atomic, so there could only be one feed coordinator instance
# vika_nezrimaya and probably only one Micropub endpoint
# vika_nezrimaya but this is solved by the fact that the frontend could have a caching layer in front of it, so I can scale it with no limits
# vika_nezrimaya and it could also cache MF2-JSON for the Micropub endpoint
# vika_nezrimaya The only problem is: that kinda does not solve the problem with feed ordering, it's hard to order feeds
# vika_nezrimaya one solution could be leaving the "published" field in the feed stub so the feed manager could insert the post in the right spot every time
# vika_nezrimaya yeah, that seems like a nice thing
# vika_nezrimaya But the worst thing is: I now have to decide on another name for the feed management service~
# vika_nezrimaya Kittybox is the endpoint, blogblaze is my working title for the frontend (because it's supposed to be blazing fast, which I can't guarantee it'll be)
# vika_nezrimaya I think I need something cat-related
# vika_nezrimaya or maybe dog related? like "Watchdog for Kittybox"?
# vika_nezrimaya Ok so sorting my whole list of around 850 posts is around 1ms in Python, assuming all the posts are loaded into memory
# vika_nezrimaya which feels like fast enough
# vika_nezrimaya yeah, I could make it work!
# vika_nezrimaya jacky: define "stateless" in context of Micropub endpoints
# vika_nezrimaya Kittybox has a database, but I don't think it has an internal state
# vika_nezrimaya if I were to restart the Micropub endpoint in-between transactions, literally nothing would happen
# vika_nezrimaya Unrelated: Do we have something like ?q=food for foodstuff? I want to have an app with a recipe book that uses my website as storage
# vika_nezrimaya so I could publish recipes and then quickly recall them when I wanna eat something
# vika_nezrimaya like right now
# vika_nezrimaya except I mostly want a drink and I don't even have a bottle of Coca-Cola >.<
moppy, lahacker and [grantcodes] joined the channel
# [grantcodes] What is recipe?
# Loqi recipe is special kind of post, that typically has a name, like articles do, a list of ingredients, and a list of instructions for making something, usually food or drink https://indieweb.org/recipe
# [grantcodes] I would probably do something like `?post-type=recipe` for the query as that's already defined somewhere
# vika_nezrimaya yeah, that's also an option
# vika_nezrimaya but considering we already have ?q=contacts, why not ?q=food? :3
leg, [jgmac1106] and [KevinMarks] joined the channel
# [KevinMarks] Aaron has food posts
# [KevinMarks] Another approach that might be worth a look is Tantek's, where he keeps a lot of posts in a single file, on the assumption that reading the file is the biggest overhead (as opposed to in memory reorganising the posts)
# [KevinMarks] You could put your mf2 posts in json lines format perhaps.
KartikPrabhu, Rixon and vika_nezrimaya joined the channel
# tinfoil-hat Hi, I am following the guide for making my page indieweb compatible, however I'm following the guide to h-entry here: http://microformats.org/wiki/h-entry and a question comes in mind: Do I have to put the hentry just into a single document or also info the posts I am pointing to?
# tinfoil-hat Maybe my english is to bad to understand it completly, could you please tell me in simpler language?
# tinfoil-hat I'm not a webdev, I am a hobbyist, that has build his own page. I am kinda lost in the whole h-entry topic
vika_nezrimaya joined the channel
# tinfoil-hat I begin to undertand how it's working, but I'm not sure if I understand it completly
[jgmac1106] joined the channel
# [jgmac1106] tinfoil-hat we also tried to write a version on MDN https://developer.mozilla.org/en-US/docs/Web/HTML/microformats
# [jgmac1106] If you have a single post someone can take a look at your h-entry mark up
# [jgmac1106] an h-entry is a post, an h-feed is a usually chronological order of h-entries
[KevinMarks] joined the channel
# [KevinMarks] you may find indiewebify.me helpful too as it checks your page for you
vika_nezrimaya joined the channel
nickodd joined the channel
# jamietanna[m] Jacky https://v2.jacky.wtf/post/e83ec653-f18d-4352-b296-7527f1552729 doesn't seem to have syndicated (yet) to GitHub btw
[snarfed] joined the channel
# [snarfed] GWG: shurcooL, eg https://dev.dmitri.shuralyov.com/app/changes/...$issues
[chrisaldrich] joined the channel
[dshanske] joined the channel
# tinfoil-hat Thanks for the answers! jgmac1106 and GWG!
[Murray] joined the channel
geoffo, [fluffy], [manton], KartikPrabhu, [chrisaldrich] and [tantek] joined the channel; nickodd left the channel
leg and [michael_lewis] joined the channel
# [michael_lewis] Hello. My first post here.
# [michael_lewis] I'm working on a side project where I think IndieAuth will work really well, and I've a version on localhost using via indielogin.com.
# [michael_lewis] However, I've just tested on my prod server and it seems my side project's domain needs to be registered as a client_id for it to work.
# [michael_lewis] What's the best approach for this? Log an issue at https://github.com/aaronpk/indielogin.com/issues? Or is there a different tool I should use?
# [michael_lewis] Yes, I was expecting I may have to set up my own version in time, just not so soon:-)
# [michael_lewis] Does indieauth.com have the same need for the client_id to be registered?
jamietanna joined the channel
# [michael_lewis] Great, I'll try indieauth.com as a super short term thing.
# [michael_lewis] The IndieAuth is great BTW. The other way I've implemented for people to prove they own their domain is the usual putting a validation code in your TXT record or meta tag or whatever, and then they have to login with a password they've set, and the IndieAuth is a breeze for users in comparison (assuming they've set it up on their site already of course).
# [michael_lewis] Would be great if you could. What would you need?
[schmarty] joined the channel
# [schmarty] return new Promise((fulfill, reject) =>
{ /* your entire life is lived here */}
);soloninja, jmac and [manton] joined the channel
# [michael_lewis] Or a login counter - you get x logins and then you have to set up your own.
# [schmarty] aaronpk: some ideas on how to structure auth endpoint testing on indieauth.rocks https://indieweb.org/User:Martymcgui.re/IndieAuth-Endpoint-Testing#Authorization_Endpoint_Testing
geoffo, [tw2113] and [snarfed] joined the channel
# [snarfed] lol [tantek], acknowledged. https://github.com/snarfed/bridgy/issues/955 . pull requests welcome! :troll:
gRegorLove and KartikPrabhu joined the channel