#dev 2024-08-30

2024-08-30 UTC
CRISPR joined the channel
#
epoch
what would be a good way for people to discover that a post on a website can have activity pub actions done with it?
#
epoch
like, I checked by doing a curl with the right accept header
#
epoch
I guess a <link rel="alternate" type="application/activity+json" is good enough from the publishing side?
#
epoch
so maybe I want something that'll uh, get all of those alternates and present them to me so I don't have to view-source
bterry, gRegorLove_, ramsey, [tw2113] and to2ds joined the channel
#
to2ds
@epoch I think the correct accept header is all you need with curl.
#
to2ds
Right now, I'm trying to retroactively instrument my non-AP posts to be recognized by AP.
#
[snarfed]
to2ds ideally you want to discover the AP alternate _without_ re-fetching every single page with conneg headers
#
[snarfed]
rel=alternate type=application/activity+json definitely works, eg https://fed.brid.gy/docs#searchable
CRISPR joined the channel
#
to2ds
[snarfed] - Thank you for the tip!
#
epoch
so, I have bookmarklets that will let me like, announce, reply to the currently opened URL, but to know whether those bookmarklets will actually work, I'd want some indication from the publishing side, or something client-side that can let me know the invisible <link>s exist
#
[tantek]
That's a good use-case
#
epoch
the direction I'm currently thinking is to make a user-script
#
[tantek]
another thing those bookmarklets could detect is the presence of web actions, which could allow direct navigation to the action URLs in their respective `<indie-action>` element’s "with" URL
#
to2ds
[snarfed] - That seems so much cleaner the relying on the conneg headers alone.
#
to2ds
My current AP prototype relies on the conneg headers but it seems fragile to me.
#
epoch
I'll have to read more about indie-actions
#
[snarfed]
epoch++ I made the same set of userscripts for my own use: https://github.com/snarfed/misc/tree/main/indie-respond
#
Loqi
epoch has 1 karma over the last year
#
[snarfed]
not easily packaged for other people's use, you have to edit the source to point to your micropub endpoint and token, then publish to the browser extension store(s), etc, but it's doable
#
Loqi
aaronpk has 47 karma in this channel over the last year (138 in all channels)
#
[schmarty]
aaronpk++ lolol that song
#
to2ds
[snarfed] - I was actually experimenting with BF last month but couldn't get my replies working. Everything else worked great though.
#
to2ds
I suspect there was a problem with my microformats.
#
[snarfed]
to2ds lmk if I can help!
#
[tantek]
to2ds did you try checking them with indiewebify?
CRISPR joined the channel
#
to2ds
Yes. Indiewebify validated the structure okay.
#
to2ds
But there could have been something going on further down since I've been making a lot of changes to the backend code.
#
to2ds
[snarfed] - Thank you. I temporarily turned everything off with #nobridge, but I don't know if that's a reversible action.
#
[snarfed]
yeah it should be
CRISPR and [morganm] joined the channel
#
[morganm]
Do any of these particularly interest people:
#
[morganm]
a) Photoshop for the web
#
[morganm]
All are using web components, I gave a talk today at work about it, I want to make a talk with one of those as an example for my local coding group. I want to think of ways to make it engaging
#
[morganm]
c) MSFT Edge UI 2.0
#
[morganm]
b) Apple Pay button
#
[morganm]
my goals are basically just to explain what custom elements are, tell them that HTML templates exist, and the shadow dom works with web components, and the briefest explanation of what the shadow dom is, mainly focus on the example and how it uses it in practice
#
[tantek]
morganm, do you use any of those on your personal site yourself?
#
[tantek]
Example personal site uses of all those would be great to see and document!
#
[morganm]
bit of a stup post
#
[morganm]
stub*
#
[morganm]
Its someone elses work, with credit, but I should make my own and add a section πŸ˜„
CRISPR joined the channel
#
Loqi
Sorry, I couldn't find a page named "Webcomponents" or similar
#
[tantek]
Web components << << IndieWeb Example: https://morganwebdev.com/blog/web-components/
geoffo joined the channel
CRISPR and [aciccarello] joined the channel
#
[aciccarello]
I really need to find some time to work on omnibear
#
aaronpk
I still want to make a no-css frontend to my site, essentially treating my website as a microformats api and rendering a fully functional alternate version of it with no css on a separate domain
#
[aciccarello]
My site isn't awful with css only
bret joined the channel
#
[snarfed]
aaronpk View => Page Style => No Style?
#
[snarfed]
(in Firefox at least)
#
aaronpk
I mean for everyone else, and also the formatting needs to look good without css, which I suspect mine does not right now
#
[snarfed]
πŸ‘
oodani and thegreekgeek joined the channel
#
parnikkapore_x
I finally found someone doing sidenotes the way I wanted! https://clagnut.com/blog/2395
#
parnikkapore_x
1) no JS (mainly because I'm too lazy to do or import that), 2) allows the top of the sidenote in desktop mode to be different from where the sidenote appears in mobile mode (which is important for proper reading flow), 3) not obnoxious to write
#
parnikkapore_x
unf as suspected I need to wrap the sidenote and the paragraphs it anchors to in another element
#
parnikkapore_x
probably something like <with-aside><p>(text goes here)</p><notebox aside>(more text goes here)</notebox></with-aside> in the pre-ssg syntax
thegreekgeek and lazcorp joined the channel
#
parnikkapore_x
what do you mean xml doesn't have boolean or unquoted attributes
#
sebbu
<a href=https://www.duckduckgo.com/>search engine</a> is valid html (4? transitional ?)
#
sebbu
and it DOES have boolean, you can specify it in XSD
#
ptramo[d]
modern html, sure
#
ptramo[d]
but neither `<example demo/>` nor `<example of=unquoted/>` pass https://www.xmlvalidation.com/
#
ptramo[d]
[edit] but neither `<example demo/>` nor `<example of=unquoted/>` pass https://www.xmlvalidation.com/
#
ptramo[d]
XHTML is a stricter with syntax than non-XML HTMLs
#
ptramo[d]
[edit] but neither `<example demo/>` nor `<example of=unquoted/>` pass https://www.xmlvalidation.com/
#
ptramo[d]
sure you can specify something as a boolean in XSD, but that's limiting the values it can take to `true` `false` `1` `0` (canonical `true` `false`), those need to be between quotes if it's an attribute value. I think "boolean attributes" meant attribute name without value
#
sebbu
yes, and i'm not sure that no xml variant (svg, mathml, rdf/atom/rss, etc...) supports unquoted
#
sebbu
proofing inexistance is hard
#
ptramo[d]
well, they're not variants of XML they're dialects
#
ptramo[d]
so just refer to the XML spec.
#
ptramo[d]
| "'" ([^<&'] | Reference)* "'"
#
ptramo[d]
```
#
ptramo[d]
```
#
ptramo[d]
[10] AttValue ::= '"' ([^<&"] | Reference)* '"'
#
ptramo[d]
(in passing, I can't stand XML schema, long live Schema-NG)
#
ptramo[d]
(RELAX-NG sorry. it's been a while)
#
sebbu
ptramo[d], just be happy I use XSD instead of DTD
#
sebbu
and i'm perfectly happy with XSD :D
parnikkapore joined the channel
#
Guest3269
I currently have to use xml proper because that's what my ssg takes in πŸ˜•
#
Guest3269
(parnikkapore_x but from a different device here)
#
Guest3269
it's a self-inflicted xslt-based thing in case you're wondering
#
Guest3269
eventually I'll redo it as html-like + Haunt and then it'd be a lot saner
#
Guest3269
hopefully lol
#
sebbu
oh, i remember when the ovh website was full xml+xslt, with html5 output
ttybitnik joined the channel
#
[tantek]
Clagnut++ that's a great post and I'd expect that from Richard
#
Loqi
Clagnut has 1 karma over the last year
#
[tantek]
What is a side note
#
Loqi
It looks like we don't have a page for "side note" yet. Would you like to create it? (Or just say "side note is ____", a sentence describing the term)
#
[tantek]
Footnote << related: [[sidenote]] example: https://clagnut.com/blog/2395
AramZS joined the channel
#
aaronpk
hmm, fun bug with indienews
#
aaronpk
if your site has a rel=alternate link to an activitypub+json URL, then XRay will go and fetch that instead of using the microformats on the page. since there's no "syndication" property defined in activitystreams, it then fails to find the syndication link to indienews
#
aaronpk
the two fastest fixes are:
#
aaronpk
1) add an option to XRay to ignore all activitystreams stuff, so indienews can tell it to only ever use the HTML
#
aaronpk
2) make indienews do a two-step process, first fetching the site and using a regular microformats parser to look for the syndication link, then running the HTML through XRay to parse the content
#
GWG
Isn't 1 easier?
#
aaronpk
possibly, but it does involve writing a test case, adding a new parameter, making sure that parameter bubbles up to all the layers of xray, releasing a new version, updating indienews to use the new version
#
GWG
aaronpk: I'm just thinking compared to a two step
#
[tantek]
This seems like a problem other XRay clients would also have (AS only having a subset of the information in the mf2)
#
aaronpk
yes, it's kind of a toss up
#
[tantek]
Footnote << related: sidenote whys, designs, and implementations: https://gwern.net/sidenote
#
Loqi
ok, I added "related: sidenote whys, designs, and implementations: https://gwern.net/sidenote" to the "See Also" section of /footnote https://indieweb.org/wiki/index.php?diff=96709&oldid=96708
#
aaronpk
on one hand, many websites (mostly wordpress) have worse microformats than the data in an mf2 or as2 json file
#
[tantek]
I was going to ask yeah
#
aaronpk
on the other hand, mf2 has a larger vocabulary than as2, and well-crafted mf2 html has much more information
#
[tantek]
Is there some way you can look for the mf2 first, and then only if it is of "low quality" fallback to looking for AS2/JSON?
#
aaronpk
yes, but the challenge is determining the threshold for "low quality"
#
[tantek]
Because from what you said the current implementation does, this makes me NOT want to add rel alternate to AS2 for my posts
#
[snarfed]
aaronpk hmm that's surprising. my posts have had rel=alternate type=application/activity+json for years now, and I've still always been able to post to indienews
#
[tantek]
I would never want consuming code to prefer the AS2 if it can o both
#
[tantek]
can parse* both
#
aaronpk
[snarfed]: i don't see that rel in your latest indienews post
#
GWG
There is option 3... parse both and merge the results
#
[tantek]
For determining "low quality", perhaps you can check for the more common WordPress mf errors (I’m surprised you're seeing problems with mf2 in Wordpress because that's newer and requires custom setup in a blog)
#
[tantek]
GWG that's much much harder
#
GWG
I do that in my equivalent. I always look for mf2 and if the fidelity doesn't include things, I fall back
#
[tantek]
Then you have to do quality tests per property
#
aaronpk
merging could work, but there's a ton more edge cases to handle
#
GWG
[tantek]: I actually do it by presence of elements necessary for a link preview
#
[tantek]
Separately, aaronpk, we really need documentation of the examples of bad Wordpress microformats that made you have to make a coding decision
#
GWG
So if the first thing I look for...mf2, doesn't have a combination of properties... I look elsewhere
#
[snarfed]
aaronpk hmm ok. which post is that? I went to check https://news.indieweb.org/en/ but it's down?
#
[tantek]
Especially mf2
#
aaronpk
there's no trailing slash
#
[snarfed]
ah thx sorry
#
[tantek]
Should redirect lol
#
parnikkapore_x
aaronpk: thanks for merging my PR!
#
[snarfed]
ah yes you're right, https://snarfed.org/indieweb-meetup-at-xoxo-social-2024 doesn't have it, that was a bit of a special case, but the previous one https://snarfed.org/2024-07-17_53382 did, and most before that
#
[snarfed]
btw minor nit, you mean activity+json, not activitypub+json, right?
#
aaronpk
oops yea
[jeremycherfas] joined the channel
#
aaronpk
[snarfed]: ok this is kind of hilarious
#
aaronpk
the rel=activity+json URL is https://fed.brid.gy/r/https://snarfed.org/2024-07-17_53382 which is a redirect back to the original
#
aaronpk
unless the accept header is application/activity+json
#
Loqi
[preview] [Ryan Barrett] Hi all! Time for another regular (ish) Bridgy Fed status update, with big news: we’re bridging web sites to Bluesky! We’ve supported this on the fediverse for a while, and we’re now doing it for Bluesky too. You can use Bridgy Fed to automati...
#
aaronpk
there's something about the request xray is making that's triggering the redirect. it should be sending `Accept: application/activity+json,application/json` but maybe some other header it's adding is getting it confused?
#
[snarfed]
aha right ok
#
Loqi
conneg has -14 karma in this channel over the last year (-17 in all channels)
#
[snarfed]
conneg-- if you do that without eg q=, does the order determine the priority?
#
[snarfed]
conneg-- how many times can I conneg-- in rapid succession
#
[snarfed]
conneg-- guess we're all going to find out
#
[snarfed]
conneg-- parnikkapore_x I assume you mean conneg-- lol
#
parnikkapore_x
but also conneg-- because there's literally a documented sourceforge endpoint that would give the wrong result if you don't give a useragent
#
parnikkapore_x
but works properly if you pretend to be curl or wet
#
parnikkapore_x
conneg-- loqi are you ok
#
Loqi
conneg has -15 karma in this channel over the last year (-18 in all channels)
#
parnikkapore_x
Loqi: resuscitation attempt cancelled
#
aaronpk
loqi is pretty strict on karma rate limits :)
#
aaronpk
ok since indienews has no business parsing as2, i've added an option to xray so that a client can ask it to ignore as2
#
aaronpk
and done
#
[schmarty]
speaking of webmentions, i just noticed this error from my recent post trying to mention http://indieweb.org/discuss: `"error":"not_found","error_description":"account indiewebcamp not found"`
#
[schmarty]
looks like the wiki has a http://webmention.io endpoint defined but not going anywhere.
#
aaronpk
how did that happen
#
aaronpk
mine too
#
aaronpk
no wonder my webmention feed has been quiet lately
#
aaronpk
this is only a problem for the first 12 accounts in webmention.io, before i made the account name match the domain name of the user
lazcorp joined the channel
#
[tantek]
Heh. Early account problems
#
aaronpk
fun fact tantek.com is the first account with a domain name
#
[tantek]
πŸŽ‰
#
aaronpk
well oops my webmention receiving has been broken for 3 months
#
aaronpk
ok should be fixed now, also for the wiki
#
aaronpk
[schmarty]++
#
Loqi
[schmarty] has 9 karma in this channel over the last year (24 in all channels)
#
Loqi
IndieWebCamps has 1 karma over the last year
#
[tantek]
IndieWebCamps++ for shaking out "recent" bug πŸ˜‚
#
[schmarty]
aaronpk++ for the fixes, whew! this is definitely convincing me i need to "surface" more of what my website building stuff does in the background.
#
Loqi
aaronpk has 48 karma in this channel over the last year (139 in all channels)
#
aaronpk
this also explains why all my swarm checkins have been missing the coins and comments from swarm recently
lazcorp, to2ds, [KevinMarks], [KevinMarks]1, [mattl]1, rjomara5856, [marksuth], thegreekgeek and bret joined the channel
#
capjamesg[d]
[tantek] This is what I was working on:
#
capjamesg[d]
I'm not fully happy with the design right now, but I have wanted something like this for a while.
#
[snarfed]
trends comparison! fun!
#
capjamesg[d]
Yeah. This is me hacking around in dev tools to figure out a design I like.
#
[tantek]
so cool capjamesg[d]!
#
[tantek]
is that showing term mention frequency over time in your blog posts?!?
#
GWG
Anyone have a basic stats collection recommendation?
#
capjamesg[d]
The numbers are linearly scaled so they show trends rather than actual numbers (i.e. the top value is the peak of IndieWeb in that month).
#
GWG
Website stats, excuse me
#
capjamesg[d]
Google Trends applies similar normalization.
#
capjamesg[d]
Getting the colour scheme right is hard.
#
[tantek]
capjamesg[d] I recommend looking into Tufte for chart design
#
[tantek]
including use of colors (or not)
#
capjamesg[d]
I am comparing two values so I think I need colours?
#
capjamesg[d]
Do you have a link to where he talks about colours if he has something on his website?
#
ben
https://edwardtufte.github.io/tufte-css/ if you want some css to starte with
#
Loqi
ben has 1 karma in this channel over the last year (2 in all channels)
#
capjamesg[d]
Thank you!
#
gRegor
could use different line styles to differentiate, too
#
ben
hm now i want to use tufte-css for my site
#
[tantek]
gRegor++
#
Loqi
gRegor has 28 karma in this channel over the last year (127 in all channels)
#
[tantek]
capjamesg[d], nope, there's never a "need" for colors for conveying "information" like that, and in many cases, the use of color is a distraction from the information itself. see also: chartJunk
#
ben
is there an overview of where the indieweb channels are bridged?
#
[tantek]
what is discuss
#
Loqi
πŸ’¬ Join #indieweb discussions via Discord, Slack, web chat, or IRC, (they are all bridged!) with focused channels for developers, WordPress, and meta topics! https://indieweb.org/Discuss
#
[tantek]
ben, also a good topic for #indieweb-meta (discussion about indieweb community infrastructure etc.)
#
ben
ok cool discord + slack
#
ben
ok general question about webdev. what are the feelings on webfonts? ship them or send a list of ones they might already have installed
#
ben
on the one hand I like to keep the size of the site small where I can
#
capjamesg[d]
It's all a matter of taste.
#
capjamesg[d]
You should certainly set a fallback web font.
#
capjamesg[d]
I used to use Arial (web safe) as my main font IIRC.
#
capjamesg[d]
I now use one I load in, Standard, because I think it looks good on my site.
#
Loqi
I agree
#
capjamesg[d]
(Loqi is a bot :D)
thegreekgeek_, gRegorLove_ and gRegorLove__ joined the channel