#dev 2025-09-06

2025-09-06 UTC
grufwub, barnaby, gotra, [morganm], angelo, ben_, rossabaker, DJ_[dj_je][d], _123nick[d], oodani, sandra, failxontour, box4649, vidak, sarna, [Al_Abut]1, geoffo_, gRegorLove_, doesnm_, Kaja_, _Sigmundur_morko, vriska, oodani_, [schmarty]1, [marksuth]1, ben, __Sigmundur_mork, catra, duanin2 and [asuh] joined the channel
#
[tantek]
A few of us were chatting in #indieweb-random about AP C2S vs ATproto API vs Mastodon client APi and there was a question of why not standardize Mastodon API since it has so many implementations client and server?
Xander joined the channel
#
trwnh
my answer was: i have had the same thought but mastodon itself does not want its api to become a standard. it also has the disadvantage that it uses hardcoded paths under /api so will conflict with anything else a site owner might want to set up there. it could probably be pushed forward regardless but there are a lot of barriers (not least of which is that the mastodon api is still evolving even though there is a rough subset many implement for
#
trwnh
basic compat)
#
trwnh
a standardized masto api means a standard for every masto entity as well. it starts to question why go this far when we ostensibly already have AS2 entities as the standard (or h-entry on the mf2 side)
#
trwnh
being used as input into a standard would be a different thing though
#
trwnh
re: AP API the missing bit has always been a lack of standard authorization mechanism when you POST to outbox or GET the inbox
#
trwnh
in other words there are ap c2s implementations but none of them are compatible with each other bc of the auth
#
trwnh
and arguably the competitor to ap c2s isn't mastodon or micropub... it's any generic way to write files to a web server directory
#
trwnh
ftp, rsync, ssh, webdav, solid and so on can all "replace" ap c2s if your client/agent performs the ldn deliveries on its own instead of expecting the outbox to do it
#
doesnm
activitypub can be represented in filesystem?
#
[tantek]
trwnh++ good explanation!
#
Loqi
trwnh has 3 karma in this channel over the last year (4 in all channels)
#
trwnh
yes, on most basic level treat an actor as having a base iri, then serve https resources from that
#
trwnh
the only dynamic parts are the outbox endpoint and the inbox endpoint, plus possibly dynamic collection paging (although you can do static collection paging too)
#
doesnm
also webfinger? (it can be static but no content type and no multi user)
#
trwnh
if i served /activities as my outbox, i could write an activity /activities/1 to that directory, then POST its content as the body content of a POST to all the inboxes i desire
#
trwnh
webfinger can be completely static too
#
trwnh
i have (had?) a static webfinger where i just redirect using nginx -- take the query param for the resource, append a file extension, serve that file with Add-Header Content-Type "application/jrd+json"
#
[KevinMarks]
For a single user you can serve just the one file
#
doesnm
iirc in nginx you can make custom directory index page. Maybe outbox can be implemented via this
Killeik, ttybitnik, proofreed, barnaby, gRegorLove__, sa1, gRegorLove_ and [social] joined the channel
#
capjamesg
What is the best way to provide full-text search for ~200 GB of text data?
#
doesnm
elastic/meili?
#
capjamesg
I have it all in SQLite3 with FTS and a single MATCH query is taking way too long, and that's before joins and filters and orders.
#
.pi.r2.
elasticsearch isn't bad if you want a distributed setup, might be able to do a lot with xapian which might be a better fit in a sqlite3 setup. 200GB of text, really? that's bigger than wikipedia en?
#
capjamesg
_pi_r2_[d] I guess a lot of that is the index? I have 1.6m documents, most HTML.
#
capjamesg
I'm also storing both plain text and the HTML for each document, so you could cut the size in half.
#
capjamesg
I was hoping there was an intermediate step between where I am now and Elasticsearch given all the burden to host it.
#
.pi.r2.
Yes, xapian πŸ™‚
#
capjamesg
Oh sorry I read that as "explain" and skimmed over.
gotra joined the channel
#
capjamesg
xapian looks suitable.
[manton] joined the channel
#
[social]
The half size of the text is slightly larger than what I have in DevonThink which runs locally on my MBP with over 100k objects I’m searching. I have 48GB RAM which helps, but having it all local is nice.
gotra joined the channel
#
capjamesg
I think my server is using a HDD.
#
capjamesg
Omg haha my Mac read times are up to 10x faster.
rrix, webdev007 and webdev007_ joined the channel
#
[tantek]
anyone have experience with Mermaidjs? https://mermaid.js.org/intro/
#
[tantek]
lol someone came up with a markdown extension for Gantt charts πŸ˜‚ https://github.com/mark-when/markwhen
#
Loqi
[preview] [mark-when] markwhen: Make a cascading timeline from markdown-like text. Supports simple American/European date styles, ISO8601, images, links, locations, and more.
#
[tantek]
and there is broader demand / questions for markdown support for timelines: https://stackoverflow.com/questions/34900076/how-to-use-markdown-to-display-timeline
#
capjamesg
[tantek] You may like https://markwhen.com/
#
[social]
I used Mermaid quite a bit three or four years ago for diagrams in Markdown. It is quite good and relatively easy to use (from a guy who isn’t a fan of JS).
#
[social]
GitHub markdown supports Mermaid, since it is normally rendered in the browser.
#
[tantek]
capjamesg is that the same markwhen as the markwhen repo I linked above?
#
[social]
I stopped using Mermaid when I took over a product that the engineers were using PlantUML to diagram sequence diagrams and more.
#
[tantek]
shudders at UML
#
[tantek]
capjamesg one thing I've noticed from a lot of these markdown efforts is that they're really more "YAML" efforts pretending to be markdown. markdown is supposed to at least somewhat *look* like the intended meaning, not just be a property:value (line-break) syntax.
#
[social]
I hear you! PlantUML needs Graphviz to create the diagrams, but it is completely text generated, so less obtuse.
#
[tantek]
the styling here is cool, and also reminds me of subway route diagrams (like you see on the insides of subways for their lines) https://codepen.io/cjl750/pen/mXbMyo
#
[social]
Is it just a timeline you are looking for?
#
capjamesg
Oh sorry I didn't realise you had linked to it already. Yes, same one!
#
[tantek]
[social] yeah see use-case context / background in #indieweb-random
#
[tantek]
ooh good find [artlung]++
#
Loqi
[artlung] has 20 karma in this channel over the last year (133 in all channels)
#
[tantek]
uhhh, "pure CSS" is a stretch, it's SASS
#
[tantek]
I was looking at it and saw "@each" and was like WTF is that πŸ˜‚
#
aaronpk
just click "compiled css"
CrimeWave joined the channel
#
[tantek]
someone added for loops to CSS I can't even 🫠 "@each $desc in $descriptions"
#
[artlung]
that's SASS
#
[tantek]
yeah that is A LOT of compiled CSS
#
[tantek]
also the queries looking for the hardcoded years is a bit cringey
#
[tantek]
would rather it was li:nth-child(anumber) type stuff
#
aaronpk
why did they do that? it just sets display: block for each https://media.aaronpk.com/2025/09/06142818-6286.png
#
[tantek]
🀷
#
[artlung]
to show and hide things, I suspect
#
aaronpk
but the loop sets the same value for each year
#
[artlung]
display none I suspect is the default
#
[artlung]
you were looking for pretty, not efficient. the code works
#
[tantek]
I know, so picky πŸ™ƒ
#
[artlung]
I'm in the rabbit hole seeing if I can make it terser.
#
[artlung]
I also think with native `calc()` some of what it does could be done without the compilation
#
[artlung]
(if not all)
#
aaronpk
it works just as well if you take that whole each block out
#
[tantek]
sounds good [artlung]. I'll work on optimizing the "plain text" and semantic markup equivalents
#
[tantek]
might need to consult my Tufte references to double-check good/simple (evolution) timeline presentations
webdev007__ joined the channel
#
[artlung]
yeah, I don't like the markup or the usage of data-attributes for display enough to rework the whole thing, but I admit it's very nice. It makes choices about using transform: that have me pondering if I'd make the same choice. I'm more likely to use rotate: Xdeg than transform: rotateZ(Xdeg) for example but that's gut.
#
.pi.r2.
for ASCII art, I wonder if the right answer might be to use a figure where you hide the figcaption in CSS and aria-hidden="true" the pre?
#
.pi.r2.
9
#
[tantek]
I agree with your observations [artlung]
#
[tantek]
.pi.r2. I think "accessible ASCII art" has got to be a thing out there
#
[tantek]
I am disappointed in the Financial Times (found via Harry's article, which links to the original link which is dead) https://web.archive.org/web/20170428192830/http://aboutus.ft.com/corporate-information/history/. That's not a timeline, that's a time grid. except the columns are presentational not semantic (have no meaning AFAIK), and the colors are chartJunk
#
.pi.r2.
tried it, not working in chrome accessibility tree. https://found.as/ascii
#
.pi.r2.
can play with the html @ https://be.found.as/ascii, password indieweb
#
.pi.r2.
ah, fixed it with a negative margin
#
[artlung]
In terms of ascii art accessibility I believe treating them as if they were images would be correct. using `aria-hidden="true"` and then maybe in a grouping with a description maybe.
#
[tantek]
apparently I have been down the timeline design/presentation rabbithole before and left some notes for my future self here: https://indieweb.org/timeline#Similar_Resource (also in the See Also that need to be gardened)
#
[tantek]
and just to further connect the topics, a plain text timeline "diagram" is a form of ASCII art that may need a more accessible (screen-reader friendlier) equivalent
rozodru joined the channel