#dev 2026-01-23

2026-01-23 UTC
#
[Al_Abut]
[KevinMarks] thanks for the extra reading. Those were a bit beyond me and so if you don’t mind, I’ll keep using you as a proxy for gauging momentum.
#
[Al_Abut]
I realize now that I don’t remember the original article you shared that linked to this developer but I really liked his long form yet approachable writing style:
#
[tantek]
that is a super ugly user unfriendly file system. no thanks
#
[tantek]
like this is true: "You write a document, hit save, and the file is on your computer. It’s yours. You can inspect it, you can send it to a friend, and you can open it with other apps." except completely omits the fact that you NAME the file after hitting save, and usually something user-friendly (at least to yourself!). then they leap to a bunch of JSON gibberish and filenames like "34qye3wows2c5" because they went down a nerd rathole of
#
[tantek]
obscurity like:
#
[tantek]
"timestamps with some per-clock randomness" lol no. no one who hits save thinks hey lemme mix in some per-clock randomness!
#
[tantek]
nor does anyone hitting save think "let’s encode them more compactly" and produce gibberish like "34qye3wows2c5"
#
[tantek]
this is a great recipe ^ for making something cryptic and impossible to understand when you come back to it after a year of doing something else.
#
aks
I lost interest in that article when it mentioned atproto, heh
#
[tantek]
deceptive article name / slug too. when I think "social filesystem" I think social in contrast to personal. like a file system you share with others, like imagine a peer to peer dropbox
cotsuka joined the channel
#
[KevinMarks]
well, that's why the discovery is a bit opaque - you can get a list of files for a user of a certain type, but they need to store the name inside them.
#
[KevinMarks]
which is what reminded me of OpenSocial - you can find the user's stuff (of a type) and their friends stuff (of a type) and do the matching between them
#
[KevinMarks]
they're GUIDs, like a feed can have. When you lookup a feed you don't need to know the name of each entry in it to access it
#
MD87
That article is an amazing explainer for atproto, but it is amusingly coy about saying that's what it is
ax562 joined the channel
#
ax562
what is a good resource to figure out how to create a dynamic image slideshow using html/css/javascript?
#
[tantek]
that's bassackwards [KevinMarks]. GUIDs belong inside of files, and usable names belong on the outside of a file. This article suggests the opposite.
#
ax562
Basically, I have a sql database table 'cars'(using python flask sqlalchemy) . I query that table to create objects 'usercars'(that holds usercars.images, usercars.location etc). The user can have a list of up to 5 images per object. I have created a working html template to display these images over one another with all other applicable column information usercars.location etc. The user can have multiple instances of 'usercars' (rows) in database
#
ax562
table 'cars'. All usercars.COLUMNS information are isolated on the page. What I want to do is create a slideshow for each instance of usercars. and display a slideshow of usercars.images of each instance on the same page. What would be the best way to accomplish this using html/css/javascript?
#
[tantek]
what is a carousel
#
Loqi
A multi-photo (also called a carousel on Instagram) is a photo post with multiple adjacent photos, either in a series, or tiled / arranged in some layout https://indieweb.org/carousel
#
ax562
I have a working html/css/javascript slideshow of static images but this would need to be dynamic. I have a python route to GET all image files from the list usercars.images. Unfortunately, I haven't been able to find anything useful online.
#
[KevinMarks]
what are you using to make html from python?
#
ax562
flask
#
[KevinMarks]
My default tool in that scenario would be jinja2, which will take a template file and replace bits of it with the contents of a python object (which can have nested lists in)
#
ax562
that is what I'm using.
#
ax562
but I cannot figure out the html/javascript syntax to get it working dynamically.
#
ax562
logic
quaff joined the channel
#
[KevinMarks]
do you have a link to the code?
#
quaff
On my mastodon instance, I'm trying to refresh a bsky bridged profile, but I'm seeing 400 errors from https://<region>.host.bsky.network/xrpc/com.atproto.sync.getBlob?did=<DID>. Is this normal?
#
quaff
I started poking around because I follow a bunch of bridged accounts from bsky on my mastodon account.. and noticed one bsky account's posts aren't syncing to my instance even tho their https://fed.brid.gy/bsky/<bsky_username> page shows the latest posts
#
ax562
[KevinMarks] I do. let me prepare a post.
gRegor, [KevinMarks], [morgan] and cotsuka joined the channel
#
ulhar4409
random thought, it's kind of funny that my setup doesn't *quite* give a convenient means for attaching comments to a post, until you consider the same details i'm going to use for micropub edits
#
ulhar4409
right now my helper daemon just sort of puts html files wherever i want, and only really "organizes it" when micropub is involved
grufwub joined the channel
#
trwnh
re: "a social filesystem" i don't want to be mean but while dan abramov has an approachable writing style, the actual content of the articles has several omissions, inaccuracies, or misrepresentative arguments in at least the 3 instances i've seen so far
#
trwnh
stuff like hashes are good for consistency or disambiguation but should not be presented directly to people as names
sebbu joined the channel
#
trwnh
one of the cool things about HTTP is that it lets you map names to things so an HTTP resource isn't required to be a file, the HTTP server can go find a file but it can technically pull from anywhere
#
trwnh
this means you can hide your internal mess behind a facade of human-friendly names
#
trwnh
which is a thing that bothers me about atproto, it's that you could do basically the same thing but with "raw" http plus some conventions instead of hard protocols
#
trwnh
an earlier article from the same author/site pitched at:// uris as somehow innovative when they could in many cases be mapped directly to https:// uris
#
trwnh
"you are the root of authority, not some service" well DNS names don't have to identify services! they can already identify people!
#
trwnh
instead of /xrpc/com.atproto.sync.getRecord?did=did:plc:whatever&collection=app.bsky.feed.posts&rkey=3lykuedx4tk2h it is so much easier to just say trwnh.com/post/3lykuedx4tk2h
#
trwnh
and i can also use an even friendlier name like /awareness-of-history
cotsuka and sp1ff` joined the channel
#
ulhar4409
writemonkey seems good, though i do wonder about potentially workshopping it into a micropub client
#
ulhar4409
allegedly there is a plugin interface that can be used but the forum is google groups
#
ulhar4409
(i.e. i don't want to use it because i like using a Google account)
#
ulhar4409
don't like*
#
ulhar4409
maybe tomorrow I'll look at it, because i could see myself using this for writing stuff and it would be nice to be able to conveniently post from it
cotsuka, DanQ, gRegor, claudinec and doesnm_ joined the channel
#
[Al_Abut]
@trenh that's good context and yeah, I definitely didn't buy his salesmanship of atproto specifically or of “open social” in general, even without the technical context you just eloquently described. I just appreciated the historical parallels and analogies.
#
[Al_Abut]
There's a common cognitive bias that good writers and presenters tap into, which is we assume expertise at being able to solve a problem when we hear them describe the problem well.
#
[Al_Abut]
It's like the basis of all startup pitch decks
#
[jeremycherfas]
[Rose] Late to the backup party but I use Arq to backup to storage objects and manual rsync to backup online resources locally as a safety for online snapshots.
#
[rose]
Ah, thanks. I've not looked into Arq!
#
[jeremycherfas]
I recommend it if you don’t want to tinker with scripts, cron etc.
ax562 joined the channel
#
[snarfed]
for complex problems, understanding them well is a big chunk of the work needed to solve them, and if you can describe something well, that's a good sign that you understand it well
blacklight joined the channel
#
[Al_Abut]
[snarfed] totally agreed. It's just not a guarantee and can be taken advantage of by good storytellers.
thegreekgeek joined the channel
#
[tantek]
This is why I have the opposite impression of such folksy "oh golly" writing style. It gives me that impression that they're going to dive into marketing some bullshit
#
[tantek]
^ and these days LLMs are quite good at churning out that "style"
#
[tantek]
So no, I personally wouldn't call that style "good writing"
Psychotic1 joined the channel
#
[snarfed]
anyone remember the quirky little hashtag server protocol we've looked at a couple times here?
#
[artlung]
Would you be thinking of octothorpes?
#
[aciccarello]
I had some communications with the maintainer on github. I've been meaning to write up a followup blog post
#
[snarfed]
[artlung] yes thanks!
#
Loqi
[preview] [aciccarello] #145 Support indexing via webmention
barnaby joined the channel
#
[tantek]
Need a proof of concept hashmentions hashtag aggregator that *only* works vis webmentions to demonstrate how much easier / less intrusive that is
#
aaronpk
that's what indienews is supposed to be
#
aaronpk
tho it'd be interesting to stretch the definition of webmention to aggregate plain text tags on a site like indienews
#
aaronpk
like if you include p-category `indieweb` and send a webmention to the indienews webmention endpoint, instead of looking for a link to news.indieweb.org, it looks for a p-category of `indieweb` to accept the webmention
thegreekgeek_, gRegor and bagelsoverbread joined the channel
#
[tantek]
aaronpk that is super not obvious from the home page summary of "IndieNews is a community-curated list of articles relevant to the Indie Web." which makes it seem like (1) it is only one top level list, (2) that list is only about articles relevant to the Indie Web (which I agree with given the current use of IndieNews in the newsletter)
#
[tantek]
what is IndieNews
#
Loqi
IndieNews is an indieweb-specific news aggregator which only accepts submissions via webmention, and is for syndicating posts relevant to the indieweb https://indieweb.org/IndieNews
#
[tantek]
^ same problem
#
gRegor
what is hashmention
#
Loqi
It looks like we don't have a page for "hashmention" yet. Would you like to create it? (Or just say "hashmention is ____", a sentence describing the term)
#
[tantek]
oh and (3) there is zero visibility anywhere in the IndieNews website of lists of articles for a specific tag
#
gRegor
heh, yeah it's an aggregator of one tag basically. Or one syndication URL, I guess.
#
[tantek]
like nothing on home page, language specific page, no indication on the list of articles of what hashtags that IndieNews found (whether p-category marked up or not), and no links work to where presumably tag specific lists would be like https://news.indieweb.org/en/indieweb or https://news.indieweb.org/en/tag/indieweb or https://news.indieweb.org/en/tags/indieweb
#
[tantek]
gRegor I made up "hashmention"
#
gRegor
what was indieweb.xyz
#
Loqi
Indieweb.xyz (archived) was a syndication service organized into subs until ~2023-02-26 at least, similar to Reddit, created by Kicks Condor https://indieweb.org/Indieweb.xyz
#
aaronpk
no i mean indienews *is* the tag
#
[tantek]
so not going to define it (yet) until I have a clear(er) dfn in mind
#
aaronpk
it is an aggregator of a single tag
#
gRegor
I think that's more what you're suggesting, since it grouped posts by the published tags
#
gRegor
So the proof of concept existed. past tense, alas.
#
[tantek]
aaronpk, wait if that were true then how do so many non-indieweb articles get through to IndieNews and we have to block domains from spamming it? like not all indienews spamming has "indieweb" hashtag in any way in their posts
#
[tantek]
seemed like it IndieNews was merely aggregating ALL posts that link to IndieNews and send a webmention. zero tagging needed / checked
#
gRegor
`news.indieweb.org` syndication link is the tag. it doesn't currently check for `category` in microformats
cotsuka joined the channel
#
[tantek]
re: indiewebxyz, no, indiewebxyz was NOT hashtag related AT ALL to be very clear
#
[tantek]
yes it did have different pages of lists, but those were 100% based on webmentioning specific centralized URLs at indiewebxyz, not based on arbitrary use of hashtags without linking to a specific site
#
[tantek]
so it was a proof of concept of a multi-lists aggregator, but NOT a proof of concept of a hashtag (or plain categories in any form) aggregator. only an aggregator of site-specific URL path mentions.
#
[tantek]
what is a taggregator
#
Loqi
It looks like we don't have a page for "taggregator" yet. Would you like to create it? (Or just say "taggregator is ____", a sentence describing the term)
#
[tantek]
lol maybe too jargony
#
[tantek]
the only prior art I know of of an actual cross-site tagged post aggregation service was Technorati Tags, which was based on rel-tag linking to category URLs but on *any* domain, you did NOT have to link to the Technorati tag pages (the way indiewebxyz required you to link to indiewebxyz "subs" in order to be aggregated into them)
#
[tantek]
and Technorati Tags predated hashtags so didn't index those either, or p-category (AFAIK [KevinMarks] may remember more details). it was 100% dependent on rel-tag for indexing tagged posts. it also displayed custom feeds of tags from Flickr and Delicious but those were basically silo tag feed embeds
#
[tantek]
there was no explicit "submission" step in Technorati Tags either, so posts showed up whether people wanted them or not, and that resulted in both spam and also the "why is my post showing up on this other site" issues at times
#
gRegor
Ah yeah, misremembered you were linking to a specific url for indiewebxyz
#
[KevinMarks]
We indexed tahs in RSS and atom Feeds too
#
[tantek]
right, CATEGORY element right?
#
[tantek]
there's probably an Internet Archive URL for the Technorati Tags "how to get your posts included" docs
#
[tantek]
slight dev rant / accessibility annoyance (so maybe there's a positive suggestion in this) - that article [manton] linked to (via #indieweb-stream) about Bluesky / 🧊 verification has gray text on white and somehow the gray of the text is just light enough to feel "annoying" when trying to read it. So it's not "technically" an accessibility issue (like I can still read it) but it sorta is in that if the design of something (rather than its
#
[tantek]
content) incurs frustration on the part of (a small subset of) users, then it feels like an accessibility issue.
#
[tantek]
FYI in Inspect Element I am seeing color: #7A7A7A; on a background-color: #FFFFFF
ax562 joined the channel
#
[snarfed]
lol. is bad design bad accessibility? discuss 😁
#
ulhar4409
hmmm, i'd guess "usually", although i can't think of any cases where bad design is good access, or where good design is bad access
#
ulhar4409
(actually i could see "good design is bad accessibility" being true for security, but that's not the topic)
cotsuka joined the channel
#
[tantek]
[snarfed] yes, *some* bad design is bad for accessibility
#
[tantek]
and you can also make a highly accessible site that is ugly. they have overlap but are not the same nor orthogonal
blacklight and Psychotic1 joined the channel
#
jadedblueeyes
[tantek]: Well, I would disagree with that
#
[tantek]
Which "that"?
#
jadedblueeyes
that you can make a highly accessible site that's ugly
#
jadedblueeyes
A lot of the things that make a sight accessible to those with SpLDs are rules of good visual design as well
#
jadedblueeyes
Good spacing, appropriate contrast (not too high or too low), using multiple methods to clearly visually distinguish things
#
jadedblueeyes
visual consistency too
#
jadedblueeyes
you can make something that looks quite different but it won't be 'ugly'
#
[tantek]
none of that refutes what I said
#
[tantek]
"can" doesn't mean "must"
#
[tantek]
yes there is lots of overlap between good design for all and accessible design
#
[tantek]
however, accessible design alone does not ensure a non-ugly site
#
[tantek]
trivial example: you can make a very accessible site with extremely garish colors
CrimeWave joined the channel
#
[tantek]
to put it another way. it's a 2x2 grid (or 2 dimensional gamut) with more/less accessible on one axis and more/less pretty/ugly on another
#
[tantek]
lol that site is ugly as shit without JS wow
#
[tantek]
Like ugly and inaccessible / unreadable
#
[tantek]
FrESH << suggested topic: fix http://contrast-ratio.org so it works without JS
#
Loqi
ok, I added "suggested topic: fix http://contrast-ratio.org so it works without JS" to the "See Also" section of /Front_End_Study_Hall https://indieweb.org/wiki/index.php?diff=107970&oldid=107803
#
[tantek]
FrESH << ^ note, it's on GitHub so any fixes could be contributed back: https://github.com/MoritzGlantz/contrast-ratio
#
Loqi
ok, I added "^ note, it's on GitHub so any fixes could be contributed back: https://github.com/MoritzGlantz/contrast-ratio" to the "See Also" section of /Front_End_Study_Hall https://indieweb.org/wiki/index.php?diff=107971&oldid=107970
Maker, bterry1, DanQ, [rose] and [snarfed] joined the channel
#
[Al_Abut]
I'd love to see that (and only that, for MVP reasons) reincarnated as webmentions. Sorting through the indieweb by popularity would snowball the evergreen posts, not just drowning in the recency stream.
#
[Al_Abut]
[tantek] oh I remember technorati tags! That brought back a whoosh of flashback memories.
#
[Al_Abut]
Although maybe I just described Kagi? Dunno, don't really use it.
blacklight joined the channel