#dev 2022-10-30

2022-10-30 UTC
Ruxton_ and geoffo joined the channel
#
@jalexcooney
Using this new Mastadon account to get my POSSE workflow ducks in a row... hopefully! Apologies in advance for any duplicate posts. <a href="https://brid.gy/publish/mastodon"></a> (https://www.alexcooney.com/latest/2022/10/30/using-this-new-mastadon-account-to-get)
(twitter.com/_/status/1586543198708662273)
[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
#
GWG
This code is completely out of order. I'll have to be mad at my past self for writing it this way
#
GWG
I 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.
#
GWG
OwnYourSwarm 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.
#
GWG
Then the Location code, which is separate, is triggered by the completion of the Micropub request.
#
GWG
It 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.
#
GWG
That'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
#
GWG
check-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.
#
GWG
I'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
#
GWG
It's 2AM, I'll contemplate venue information syncing in the morning
aaronpk joined the channel
#
@dr_sensor
↩️ I wish webmention is a things
(twitter.com/_/status/1586610050227138560)
[fluffy], oxtyped, wyrdsystems and mro joined the channel
#
@oliverandrich
↩️ Daher finde ich den Ansatz mit der Single-User-Instanz im Sinne von Webmentions oder eine Blogosspähre halt spannender.
(twitter.com/_/status/1586657788436029440)
mro, [jgmac1106], barnaby and [Sam_Butler] joined the channel
#
@BarnabyWalters
↩️ http://fed.brid.gy + ATOM feed + mf2 markup + webmention sending is a little clunky to set up at the moment, but would allow your existing blog to function as a followable activitypub identity with minimal modifications
(twitter.com/_/status/1586741211724906496)
#
@BarnabyWalters
↩️ http://fed.brid.gy + ATOM feed + mf2 markup + webmention sending is a little clunky to set up at the moment, but would allow your existing blog to function as a followable activitypub identity with minimal modifications
(twitter.com/_/status/1586741211724906496)
#
barnaby
a tweet so nice Loqi embedded it twice, apparently
mro, jeremycherfas and [Sam_Butler]1 joined the channel
#
IWDiscordGateway
<capjamesg> 😄
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
#
barnaby
simon 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
#
aaronpk
at least both of those also provide other benefits outside of activitypub
#
barnaby
aaronpk: yeah that’s one of the reasons why I mentioned them ;) also, please tell me the deets re local datetimes, storage and URL design!
#
aaronpk
my 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
#
barnaby
maybe there’s something worth adding to https://indieweb.org/URL_design#Aaron_Parecki
#
aaronpk
it gets indexed in the database, and the database stores the UTC date and timezone offset in separate columns
#
aaronpk
the URL is based on the local date, not UTC date
#
aaronpk
to 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)) = ?`
#
aaronpk
i 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
#
[tantek]
to the* URL
#
GWG
BIM?
#
[tantek]
GWG I know you have heard the term many times before :)
#
GWG
[tantek]: I'm sure. But I'm blanking
#
GWG
I can't remember everything
#
barnaby
aaronpk: I’m leaning toward having separate columns for local datetime (without timezone, used for URLs) and ISO8601 timezone for sorting
#
barnaby
(ISO8601 with timezone, that is)
#
barnaby
so 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
#
barnaby
I’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)
#
aaronpk
i 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.
#
aaronpk
like if you import an archive of old posts, you might not have second-level precision
#
aaronpk
so if you use HHMM00 then you have to check if that's available when creating a new post
#
barnaby
aaronpk: I’m fine with faking seconds for imported posts if necessary
#
aaronpk
right but you can't guarantee any particular second value is available
#
aaronpk
so 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"
#
barnaby
yeah, 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
#
aaronpk
but you have to do that for every post
#
[schmarty]
i've made different choices during imports, too. like goodreads data has only dates, no time component, so i used slugs for those.
#
aaronpk
yeah exactly
#
barnaby
hmm 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]
^^ yes that is what i actually have 😅
#
[schmarty]
i also like posts accessible at timestamp URLs because it makes shortlinks easy
#
barnaby
hmm 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)
#
barnaby
nice [schmarty]! feel like adding that to https://indieweb.org/URL_design or /permalink?
#
barnaby
yeah that’s exactly what the six character IDs in my existing URLs do e.g. https://waterpigs.co.uk/notes/5LeFHn/
#
Loqi
[Barnaby Walters] |🔵|-|🔵| |-|☕|-| |🐧|-|-| (the main game)
#
barnaby
lol that’s a cryptic example
#
[schmarty]
i'm surprised i haven't already documented it. i guess i made that decision back before i participated in wiki editing.
#
[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!
#
[tantek]
fakeseconds--
#
Loqi
fakeseconds has -1 karma over the last year
#
[tantek]
GWG, remember you can also ask what is
#
GWG
What is a bim?
#
Loqi
bim 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
#
barnaby
from 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
#
barnaby
I 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
#
barnaby
and I’m struggling to think up reasons why that shouldn’t just be the default approach
#
barnaby
and 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
#
barnaby
so 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”
#
aaronpk
that sounds reasonable
#
aaronpk
i 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
#
aaronpk
i don't think i have strong feelings about that though
#
barnaby
it seems like this would vastly simplify my URL and database design while not compromising on long-lived URLs or good URL design
#
barnaby
I 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
#
[tantek]
which is used by Atom, unfortunately
#
[tantek]
for this reason all my Atom entries have :00 seconds which is basically noise
#
[tantek]
but it's required for a "valid" feed
#
[tantek]
seconds is definitely a bad idea for URL design
#
[tantek]
this is also a problem with ICS
mro joined the channel
#
[tantek]
"a multimedia creative tool inspired by _HyperCard" (!!!)_
#
[tantek]
this is way too tempting of a rabbithole :smiling_face_with_tear:
#
[tantek]
capjamesg this https://beyondloom.com/decker/tour.html is giving me such flashbacks to OG HyperCard
#
capjamesg
The UI is very reminiscent of Macintosh :D
#
[tantek]
design << Inspiration: HyperCard / classic B&W Mac System UI and transitions: https://beyondloom.com/decker/tour.html
#
Loqi
ok, I added "Inspiration: HyperCard / classic B&W Mac System UI and transitions: https://beyondloom.com/decker/tour.html" to the "See Also" section of /design https://indieweb.org/wiki/index.php?diff=84080&oldid=83843
geoffo joined the channel
#
superkuh
Blank black page.
#
[tantek]
yeah the cards could use fragments and History API to be more weblike
#
[tantek]
There's a bunch more to unpack in that [Simon_Willison] (simonw) thread: https://twitter.com/simonw/status/1586460696417431552
#
@simonw
@DaanDebie I'm eyeing it up - haven't set up there yet. I'm nervous about picking a host there which I can be confident will be around for the long run. I'm following @jacobian and @andrewgodwin's efforts there with interest https://twitter.com/andrewgodwin/status/1585685746861559808
(twitter.com/_/status/1586460696417431552)
#
@joindiaspora
↩️ An even smaller group of people is interconnecting their personal websites and blogs using a bunch of protocols like Webmention (see https://indieweb.org/Webmention). They aren't "compatible" with either diaspora* or Mastodon, and they're still all really cool projects.
(twitter.com/_/status/1586863067161587712)
#
@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)
#
barnaby
anyone know what the “bad UX-edge-cases in ActivityPub-land” are?
#
barnaby
they 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
#
barnaby
heya [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 :/