[chrisaldrich], gerben, sivoais, moose333, [Murray], jjuran, aaronpk, oxtyped, Zegnat, IWSlackGateway, [jgarber], [tw2113_Slack_], angelo, wagle, kloenk, rockorager, ancarda, eb, alecjonathon and capjamesg joined the channel
#GWGThis code is completely out of order. I'll have to be mad at my past self for writing it this way
#GWGI need to talk this out. I'm just going to type it here, and maybe that will help...or someone will say something to put it in perspective.
#GWGOwnYourSwarm sends an h-entry object to my Micropub endpoint. The Micropub Endpoint parses geo_uris into h-geo or h-card objects to standardize things.
#GWGThen the Location code, which is separate, is triggered by the completion of the Micropub request.
#GWGIt confirms the location has coordinates. If it does, it looks up the weather, it calculates whether it is day or night at that location, it calculates the scope of the map to display.
#GWGThat's not the problem. The problem comes with the new venue code I'm adding it. I've been storing address information in the individual post. With this, I'd be storing it as part of the venue. OwnYourSwarm sends address data...street, locality, region, etc. I wanted to use that match to an existing venue on my site if it exists, if not, create one. But, I'm wondering, if I get a new
#GWGcheck-in, where I've matched to an existing venue, but now the data provided by OwnYourSwarm is different, should I update my local version or not.
#GWGI'm basically trying to figure out, other than the fact I'll store any source URL, the relationship between my local instance of a venue, and any other instances of that venue that may or may not be from OwnYourSwarm. It could be Webmention updates in future
#GWGIt's 2AM, I'll contemplate venue information syncing in the morning
geoffo, [tw2113_Slack_], mro and jjuran joined the channel
#[tantek]barnaby I think you’re underselling it. literally what I was able to do with one line added to my htaccess since ofc I already had an Atom feed etc
#[tantek]Then there’s the publishing side which requires linking to and sending a webmention to Bridgy Fed, which depends on your backend
#barnabysimon doesn’t already have mf2 markup, and I don’t think he sends webmentions automatically, both of which are required for bridgy fed to work well afaik
mro joined the channel
#aaronpkat least both of those also provide other benefits outside of activitypub
#barnabyaaronpk: yeah that’s one of the reasons why I mentioned them ;) also, please tell me the deets re local datetimes, storage and URL design!
#aaronpkmy server clock is UTC, and the date stored in the post file (on disk) is ISO8601 like 2022-10-30T12:30:00-0700, so that's the canonical data
#aaronpkit gets indexed in the database, and the database stores the UTC date and timezone offset in separate columns
#aaronpkthe URL is based on the local date, not UTC date
#aaronpkto generate the list of posts to show on my day pages, it includes this SQL: `WHERE DATE(DATE_ADD(sort_date, INTERVAL sort_date_tzoffset SECOND)) = ?`
#aaronpki suppose i could have indexed the local date too, but `sort_date` is the UTC date
#[tantek]Barnaby, because my storage files are per bim, technically I can alter policies at bim boundaries
#[tantek]Though I’d likely prefer to alter them at year boundaries, which is then tied to them URL
#barnabyso that the data for “simple Y/M/D/H/M/S that I saw on the clock when I wrote the post, used in URL design” and the data for “exact resolvable timestamp the post was published at” are separate and I don’t have to worry about one messing with the other
#barnabyI’m thinking of going with an /YYYY/MM/DD/HHMMSS URL design, I don’t anticipate ever posting more than once per second (and could add ms if I wanted to, I suppose)
#aaronpki originally thought that too, but then realized that sometimes the exact date isn't available
#[schmarty]barnaby: i use that URL design for most posts.
#aaronpklike if you import an archive of old posts, you might not have second-level precision
#aaronpkso if you use HHMM00 then you have to check if that's available when creating a new post
#barnabyaaronpk: I’m fine with faking seconds for imported posts if necessary
#aaronpkright but you can't guarantee any particular second value is available
#aaronpkso your new post logic has to be like "if no seconds available, check if 00 is available, and if not check if 01 is available, etc etc"
#barnabyyeah, that’s acceptable for importing old content. I’d rather have to only check for conflicts there rather than use an ordinal which I have to keep track of
#barnabyhmm then maybe I make the HHMMSS part an opaque slug which defaults to HHMMSS for new content, but where I can set it to arbitrary values to avoid conflicts
#[schmarty]i also like posts accessible at timestamp URLs because it makes shortlinks easy
#barnabyhmm okay so in that case, I’ll go with having an ISO8601 exact datetime for sorting, and then separate local YYYY, MM, DD and slug columns for use in URLs
#[schmarty]three characters of newbase60 for the date (days since epoch) and three for the time (seconds into the day)
#[schmarty]i've skimmed tantek's NewCalendar write-up a few times over the years but i don't think i've ever made it to the new days-of-the week. RIP thursdays!
#Loqibim is short for newcal bi-month, or 61 day period (except for the last 60 days of a non-leap-year) https://indieweb.org/bim
pharalia joined the channel
#barnabyfrom a cool-URIs-don’t-change point of view, are there arguments against just storing a “path” value for each piece of content, making sure it doesn’t conflict with an existing path on creation, and using that for lookups?
mro joined the channel
#barnabyI want to be able to import my old site’s content without changing the existing URLs, so I’m planning on letting each post optionally define a canonical path which I can use for custom URLs
#barnabyand I’m struggling to think up reasons why that shouldn’t just be the default approach
#barnabyand then have a handler in my webserver which runs if none of the hard-coded routes matched, which looks up what to dispaly based on the path
#barnabyso then date-based list pages like /2022/10/ would match a hard-coded /yyyy/mm/ route and be handled by that, but /yyyy/mm/dd/slug wouldn’t match any hard-coded routes, and would result in a DB lookup for “/yyyy/mm/dd/slug”
#aaronpki do it the other way around, where if a request doesn't match a current pattern, it gets tossed to something that looks up the old URLs
#aaronpki don't think i have strong feelings about that though
#barnabyit seems like this would vastly simplify my URL and database design while not compromising on long-lived URLs or good URL design
#barnabyI usually use /post/permalink/edit for an editing UI, so I’d have to flip that around or use ?edit or something
EncryptedGiraffe and tbbrown joined the channel
#[tantek]I think it's a bad idea to add "one more lookup" before you access the file system like that
#[tantek]I prefer a methodology like what aaronpk is saying which is that "old URLs" are handled like exceptions, rather than forcing that upon all URLs
mro_ joined the channel
#[tantek]fake seconds is also why I dislike RFC3339
#@joindiaspora@FourthWorldSys@mewe@joinmastodon Not going to happen. It's questionable if the "every piece of software needs to talk to every other piece of software" is even a good approach to take. This already results in several bad UX-edge-cases in ActivityPub-land today, and we don't want to participate in that. (twitter.com/_/status/1586856681656426496)
#barnabyanyone know what the “bad UX-edge-cases in ActivityPub-land” are?
#barnabythey mentioned long posts getting truncated and having a read more link which opens the original, but IMO that’s more of a feature than a bug
[denschub] joined the channel
#barnabyheya [denschub], I’d be curious to know what “bad UX-edge-cases in ActivityPub-land” you were referring to if you’re up for elaborating or have links to an existing explanation
#[denschub]I kinda wrote two ranty blog posts about ActivityPub, that was at least in part motivated by me working on webbrowser interoperability and AP causing me pain.
#[denschub]but I’m observing Friendica, which is a diaspora-compatible PHP-server, but they also support ActivityPub. they’ve had many bugs where they weren’t able to implement ActivityPub, but instead have had to implement “whatever Mastodon does”, because AP leaves out a lot of details, and you kinda have to reverse-engineer existing implementations to end up with something that may be compatible.
#[denschub]two very big conflict points I’ve observed are: 1) message length. mastodon limits the max length of message (as they’re trying to be a microblogging-service - makes sense to them), but other systems support much longer articles, and they just… break. mastodon just cuts them off. implementors worked around that by providing a short-enough summary, and a link to the full post, but that’s an UX nightmare: you now have to foll
#[denschub]there’s also severe edge-cases around private message. ActivityPub doesn’t quite support direct messages in the sense that diaspora does, they just have usual posts that are only shared with one person (or a group of people). this created bad instances where private messages weren’t visible as private messages in other implementations, and where open to resharing etc.
#[denschub]link to another “social network”, but to interact with that post, you have to go back to Mastodon, where you don’t see the full content.
#[denschub]there’s… a lot. there once was a blog post from feneas (“Federated Networks Association”), where they responded to my blog posts by saying “it’s not that bad, you just have to talk to each other and figure out a hack”, with some examples, but sadly that blog post is gone as that association dissolved :/