#dev 2026-02-24

2026-02-24 UTC
#
[tantek]
[snarfed] one clarification: there is no service nor open source library that converts h-card to vCard (.vcf) or h-event to iCalendar (.ics). H2VX only converts classic microformats hCard and hCalendar to vCard and iCalendar
#
[tantek]
After that yes, a minimal h-card to readonly CARDDAV endpoint could be interesting
#
[tantek]
Because address books don't have "subscribe to vCards" features the way that most calendar services/apps have a "subscribe to iCalendar" feature
#
[tantek]
And neither of these is sufficient to address the http-auth use-case that btrem is talking about
neatnik joined the channel
#
btrem
I could probably solve the http auth part. But as you said, address books don't have a subscribe feature. And while there's a drupal ical module, it is hopelessly limited. For example, it doesn't offer auth. I filed a request to add it, and submitted a patch, several weeks ago. No response. And missing auth is just one of it's limitations. It's just a nightmare to configure, doesn't handle VTODO, etc.
#
[snarfed]
[tantek] oh wow ok. that makes adding to granary more interesting if there aren't existing services
#
[snarfed]
if there's an mf2 to mf1 converter out there, I guess you could chain them
#
[tantek]
And I do not advise building on H2VX because it was built as a learning experience of XSLT (in PHP) and would not ask anyone to maintain XSLT
#
[tantek]
Like ok to use it for creating output test cases for example
#
[snarfed]
lol yes
#
[tantek]
Like there's a bunch of wisdom in the specific pains it goes to to generate cross-app compatible VCF and ICS
#
[tantek]
copy the logic, not the code
#
gRegor
what is mf2 to ical
#
Loqi
ICS (AKA iCal or iCalendar file / feed) is a format for calendar files (a form of feed file) used by many programs such as Apple Calendar and Google Calendar, and can be used to share and subscribe to calendars across different systems https://indieweb.org/mf2_to_ical
#
gRegor
yes, open source library for h-event to ICS
#
[tantek]
Oh hey at least one then!
#
[snarfed]
https://github.com/gRegorLove/mf2-to-iCalendar 👀 ...ooh and even php so a Drupal extension could use it
#
gRegor
I think btrem looked at it before
#
[tantek]
gRegor++ my apologies I had forgotten about that one!
#
Loqi
gRegor has 34 karma in this channel over the last year (130 in all channels)
#
[snarfed]
yeah we must be retreading much of that previous conversation 😆
#
gRegor
no worries! It was hard to find on the wiki until I added that redirect a bit ago
#
gRegor
I would love to see h-event -> ics in granary (I know, PRs welcome :D)
#
[tantek]
or even an issue to start gathering attention/interest!
#
gRegor
challenge accepted
#
btrem
I think it would take considerable work to add mf classes to an events page. I like microformats, but not so much that I want to put myself through that much work. Especially since I'd still need to write a module, which means figuring out what namespace means. (I know just the bare minimum of OOP.)
#
btrem
And if I'm going to write a module, I'd just skip the mf part and go directly from my events content type to ical. Again, I like microformats just fine, but only if it offers something. I'm one of the few technically adept persons in the coop for which I'd be providing the calendar.
#
gRegor
yeah unfortunately Drupal not the easiest to get started with for developing a module :/
#
btrem
No, it certainly isn't.
#
btrem
I can output the events in html. I can output them in JSON. Or XML. Fat lot of good that does me. For iCal, I need to write a module. Or try to fix the one that already exists. But those tasks are in the part of the pool where the water is over my head. :(
#
btrem
I tried to file a feature request with Thunderbird to add some easier format for calendar subscriptions, but I think my request was not submitted. Just as well, as I don't really know what to ask for.
k3can joined the channel
#
[tantek]
iCal is deceptive. If you output purely according to the formal spec, you will likely have problems with consuming implementations (calendar apps) because they all support it differently. outputting iCal is NOT the same as outputting JSON or XML, if your intent is actual end user functionality. This is part of the point of using a converter (service or library) which has already done the "hard work" of testing with various consuming
#
[tantek]
applications (like the bad old days of test all the browsers)
#
btrem
Well that just makes it less appealing. Which I didn't think was possible!
#
btrem
But I suppose not very surprising since iCal is apparently some sort of sgml-looking but not really sgml format. If I'm correct about that, then there wouldn't be any validating tools, so it wouldn't surprise me if things went awry.
#
gRegor
I used it developing that PHP library. Best I can do for now. Seems to work well for ICS with basic fields (dates, location, summary, description)
#
gRegor
I'm sure it gets more complicated if you add attendees, availability, etc.
#
[tantek]
lol why the extra .html gRegor? 😆
#
gRegor
double the HTML! :D
#
[tantek]
haha it just ignores it and lets you keep going: https://icalendar.org/validator.html.html.html.html.html.html
#
gRegor
hah, they must have some naive rewrite magic going on. Just discovered that^
#
[tantek]
and it fails if you try any other word other than "html"
#
[tantek]
that's really funny
#
gRegor
But yeah, one .html works, which is linked on /ICS. The link in the main nav of their site has the two, hahah
#
[tantek]
like I tried .html.bork.bork.bork.html and that didn't work
#
gRegor
I tried .php.html xd
#
[tantek]
swedishchef++
#
Loqi
swedishchef has 1 karma over the last year
#
gRegor
Hope they enjoy those logs
#
[tantek]
I also tried a yo.dawg.
#
gRegor
`.html.all.the.way.down.html`
#
[tantek]
sigh, no github source link to edit. oh well
#
gRegor
I might use their contact form
chenghiz_ joined the channel
#
btrem
swedishchef, my second favorite character on the Muppets Show.
#
btrem
gRegor: I meant "validator" in the technical, sgml sense. Without that, I can imagine divergences in how different cal apps would behave. To be sure, that's possible either way (cf. browser wars). But I'd think non-sgml that looks like sgml is just begging for non-interopability.
#
gRegor
Not sure where SGML is coming into this
#
[tantek]
btrem, I believe ICS (and VCF for that matter) is closer to RFC822 email header syntax than SGML
#
btrem
Well certainly ICBVW. I'll have to look up RFC822 to see what that's about. I was going by the `PRODID` line, which (typically? always?) includes `NONSGML` in its value.
#
btrem
I think I read more into that than I should have. ;-)
#
btrem
It doesn't look much like email headers to me. But now that I look at it, it looks *nothing* like SGML. Now if you'll excuse me, I'd like to tuck my tail between my legs and skulk off. :-D
#
btrem
I'm really lol at myself right now.
#
gRegor
Haha, all good. I'd not seen that "NONSGML" before but I see it in the spec examples now. Generally it's just the product ID. In my lib I use `//example.com//mf2 to iCalendar [version]//EN` which admittedly I borrowed from other examples.
#
gRegor
I like that the spec example includes "It does not imply that English is the default language", lol
#
gRegor
Cool, then why have it?!
#
gRegor
Ah, it probably is an SGML public identifier. The iCal spec has a normative reference to ISO.9070.1991
#
[tantek]
backs away slowly home-into-bushes.gif
#
gRegor
indeed
Loqi joined the channel
#
[artlung]
a withdrawn standard, if I'm reading the ISO page correctly.
#
btrem
If so, all I can say is "quelle surprise !"
#
gRegor
Correct, but referenced in the iCalendar one and used in the examples (without much explanation), so lives on in that regard, haha
blacklight, cotsuka, grufwub, Maxpm, oodani, [tantek], saccharin, pfych, ax562, ben, dcrex, barnaby, marc_in_-, [Scout], sp1ff and khlsvr joined the channel
#
khlsvr
any good directory of websites that don't use javascript and minimal css or smth? I need to redo my genealogy/family tree website. There will be many subpages though so I need to be clever. Current one has javascript dropdown menus that are good for what they do but somehow there must be a way to be clean even if there are say 50 to 100 pages
#
khlsvr
ah it's the "small web" movement I'm looking for. There's 512kb.club and 1mb.club. I look into those
[lazcorp] joined the channel
#
[tantek]
khlsvr many of us here have low or no JS sites and minimal CSS! you can find many of our sites via the http://indieweb.org/chat-names page!
#
khlsvr
ok thanks
#
[tantek]
for the dropdown menus I know there are modern CSS techniques that remove any need for JS for dropdown menus
#
khlsvr
yeah and actually! pure html: https://tilde.green/~khlsvr/drop.html
#
khlsvr
didn't realize
#
[tantek]
yeah! summary and details elements are great
#
[tantek]
another awesome resource in the community for such questions, HTML, CSS, no JS techniques are the regular Front End Study Hall meetups
#
[tantek]
when is Fresh
#
Loqi
Front End Study Hall #047 on Feb 24 at 10:00 -08:00 https://events.indieweb.org/mZAwBxiw2lR3
#
[tantek]
^ khlsvr, might even have other folks with experience making genealogy/family tree websites
cotsuka joined the channel
#
khlsvr
nice. I have never tried zoom or talked in a video chat so I think I'll pass :)
#
khlsvr
but maybe there could be ideas. Most family tree websites I have seen do not satisfy me. The one I made long ago is better than them (of course:) but it uses js and has couple other things going on that I don't like
barnaby, cotsuka, blacklight, NegateThis, [Trevor_Morris], ax562, [Schepp] and Winner_Wind joined the channel
#
winnerwind
I looked at the graph again and saw that it reports that a majority of it is DOWNLOAD, not UPLOAD, which was a pretty big red flag, but then now im asking....
#
IWDiscord
<w​innerwind>
#
winnerwind
so in short, my ISP notified me that ive used 3.8TiB in the last month, which is enough for them to start throttling me despite being on the unlimited data plan. i thought it was the server, not the first time ive been using a lot of bandwidth, but when i checked the logs, i saw that in the past month only ≈30GiB was used. The logs do go under some filtering so i checked Cloudflare too, and Cloudflare says 40GiB wa
#
winnerwind
hey indiewebbers, im on discord for a bit because (i think?) my server is under attack.... but somehow every log ive been reading disagrees
#
IWDiscord
<w​innerwind>
#
winnerwind
if not my server, then what?
#
IWDiscord
<w​innerwind>
#
winnerwind
admittedly not every network request is logged, just the stuff passing through nginx, but there's very little that doesn't pass through nginx. those being `ssh` (handled by cloudflared), `slskd` (i dont get many uploads) and `transmission` (i have speed limits of 500kbps in total)
#
IWDiscord
<w​innerwind>
#
winnerwind
so now im wondering what the hell is happening
#
winnerwind
it could also be matrix, but i have no way of checking on that front
#
winnerwind
anyone else have any guesses on what it could be? i'm completely stumped
#
winnerwind
it could also be something that isnt the server but i would be very worried if it was
cotsuka joined the channel
#
[tantek]
Lots of software updates? Apps dialing home for no reason?
#
winnerwind
i just found out that my wifi router does these monthly reports and it reports that my server used 190GiB in the month of february
#
winnerwind
to which i say what the fuck
#
winnerwind
how is it possible that cloudflare says 40GiB but the router says 190Gib
#
[tantek]
One way vs two way traffic?
#
winnerwind
what do you mean?
#
[Murray]
Wouldn't your WiFi router report everything sent over your network? Is Cloudflare set in front of your entire web connectivity, or just your server?
#
[tantek]
Cloudflare only tells you inbound traffic requests to your server
#
[tantek]
Your router presumably tells you about both inbound and outbound traffic
#
[tantek]
One way vs two way
NegateThis left the channel
#
winnerwind
[Murray]: its just my web server
#
winnerwind
[tantek]: it does, and there's a huge discrepancy
#
winnerwind
which makes sense
#
winnerwind
but what doesn't make sense is how 190GiB became 3.8TiB
#
winnerwind
not to mention that the weekly breakdown my ISP gave me shows that W2 of Feb contributed to 1.4TiB of that but my router says that only 100GiB was transferred in that week
#
winnerwind
so now im like who the fuck do i trust, my router or my ISP
#
winnerwind
wouldnt it be hilarious if it turned out to be some big conspiracy by Big ISP to throttle my very questionable internet use
#
winnerwind
foreshadowing is a literary device in whi-
#
winnerwind
oh wow december i used 600GiB that's hm that's not good
#
[tantek]
Is your ISP a cable company and are they counting the badnwidth of all the TV shows you watch?
#
winnerwind
we dont have cable
#
winnerwind
and even if we did, cable wouldn't be part of our unlimited *data* plan right
#
[Murray]
I assume you have another router for connecting devices (laptops, phones) etc. to that would also run via the same ISP (unless you have multiple connections?) Could it be that the other router would make up the difference, if you were to check its traffic?
#
winnerwind
that's a good point but we only have one router (it's a deco wifi mesh, stupid technology but i'll admit, it's convenient) and one isp
#
winnerwind
we do have a second isp on a different router that's completely isolated
#
winnerwind
i'm using that right now because my main router is literally getting pre-dialup speeds, 10KiB/s on an UNLIMITED Plan is a joke
#
winnerwind
yeah probably really bad opsec to have everything on the same subnet
#
winnerwind
i like being able to access everything from my kindle to my home server on one LAN i guess
#
[Murray]
yeah, I don't really think it should be an issue having it all on one network/router, but just that your ISP will be amalgamating all network traffic. So if you're confident that 190GB is your server's usage, the other 3.6TB may be coming from other devices on the network.
#
[Murray]
That could be legitimate, but it could also indicate that you have network devices that are compromised in some way, or processes that are running when you don't mean them to (e.g. out of control Cloud backups, or a fridge that's part of a botnet 😄)
#
winnerwind
rung up my isp and they sent me a huge spreadsheet
#
winnerwind
all i can say is SERIOUSLY?! THIS is how thye present a fucking spreadsheet?!
#
winnerwind
it's such a mess, the timings are all a god damn mess, its in ascending order of date but the start and end times of each is not consistent in any way
#
winnerwind
they expect me to read this?!
#
winnerwind
[Murray]: i wouldn't say confident, just that it's my best guess
#
[tantek]
Nah they expect you to feed it to an LLM to read it 😂
deathcomestotime, thegreekgeek, cotsuka, [Jo]1, NegateThis, gRegor, mahboubine, Psychotic1 and to2ds joined the channel
#
to2ds
Having household appliances connected to the Internet just feels creepy to me 🙂
JadedBlueEyes5 joined the channel
#
[tantek]
You saw the thing about people's beds getting hot due to an outage right?
blacklight joined the channel
nsh joined the channel
#
aaronpk
nope nope
#
to2ds
No. Wasn't familiar with that at all. Scary though!
[cleverdevil] joined the channel
#
[cleverdevil]
Finally fully live with the new site 🙂 ⛅
#
[tantek]
Goes to show people will overpay for all kinds of unreliable nonsense
#
to2ds
Next thing you know LLM trainers desperate for content may attempt crawling the items in your refrigerator and freezer! 😆
#
aaronpk
there are already fridges with cameras inside so not a huge stretch
#
aaronpk
but now we're getting into #indieweb-cafe territory
#
[tantek]
Or #indieweb-random at least
#
aaronpk
cafe for the food angle ;-)
blacklight, barnaby, topo_97[d] and btrem joined the channel
#
btrem
The 2nd one is a fork of the first, but I can't seem to find a note explaining why they forked it rather than just using it. How might I best determine which one I should use?
#
Loqi
[preview] [markuspoerschke] iCal: iCal-creator for PHP
#
gRegor
Looks like they claimed the original was no longer maintained, but I think that was just impatience since they didn't get a response in a few months. Since then, there was a new release.
#
gRegor
Not even a few months, *one* month. Heh
ax562 joined the channel
#
btrem
Yes. It looks like the upstream repo was updated in early January. I'm a bit confused.
#
btrem
Although I don't know how long I should expect someone to wait. I contributed a patch to drupal/date_ical two months ago, and have heard nothing back. If I had to guess, I'd say my patch will never get reviewed. So I'm not entirely unsympathetic.
#
btrem
I should add: there's been no other activity in the repo. So yeah it appears to be, I dunno, unmaintained?
cotsuka joined the channel
#
aaronpk
wonders how many PRs people are waiting for on his own repos
#
btrem
I don't know about your repos, but I'm pretty sure there are at least a few PRs for various indieweb and microformats repos.
#
[tantek]
I think it's reasonable to have different expectations for repo responsiveness based on the size of the "active community" on the repo. for personal repos I wouldn't be surprised if some issues/PRs took a year or more frankly
#
btrem
Yep. Which is a long time to wait if the repo in question is a dependency in your project.
#
[tantek]
evergreen xkcd
#
gRegor
August release then a January release, doesn't seem unmaintained imo
Maker joined the channel
#
gRegor
Personally I'd lean towards the first repo given its longevity https://github.com/markuspoerschke/iCal/graphs/contributors