#dev 2022-04-21

2022-04-21 UTC
darkkirb, sp1ff, marksuth1, [Will_Monroe]1, jacky and boehs joined the channel
#
eb
been having trouble with deciding on architecture. I have always used static sites, lately 11ty. I feel like I'm missing out on smaller posts (microblog style) due to the slow builds (my site updates once a day automatically - the workflow for ci and then the lengthy netlify deploy) (1/?)
#
eb
on the flip side we have services like WordPress. rapid updating and highly dynamic, but at the cost of speed for end users and pricing (netlify is so fast)
#
eb
I don't really want to move away from static sites because of the reasons above, but I really wish netlify was more dynamic (instantly propagating changes instead of it's versioned approach). (3/?)
#
eb
I primarily want two features, webmention style comments and also microblogging.
mro joined the channel
#
eb
Webmentions could (unperferably) be done client side, but microblogging is harder. I could run a separate server (so the blog neltify and my own microblog server) but this feels like two silos, very unsatisfying especially when I am already rolling content types (https://boehs.org/locations), other forms of categorization (https://boehs.org/tags https://boehs.org/states), and interconnecting posts of all types using [[wikilinks]]. everything is tightly nitt
#
eb
especially because with that divorsion it's going to be hard to decide what is a microblog and what belongs on the static site. I just can't win
#
eb
I don't know why I'm sending this, I guess looking for advice? has anyone been through something similar? any ideas?
mro joined the channel
#
Murray
@eb: I think that's a common roadblock/criticism of static sites. There are a few ways that people can tackle it; you've already mentioned offloading some of the work to the client-side, but that really does only need to be _some_ of the work, you can always cache things like webmentions so that they are picked up by the build next time
#
Loqi
Murray: capjamesg[d] left you a message on 2021-09-24 at 10:39am UTC: Soon all featured snippets on IndieWeb Search will be programmatically available so you'll be able to get the raw HTML used to show who is results, etc.
#
Loqi
Murray: capjamesg[d] left you a message on 2021-09-25 at 10:45am UTC: Inspired by our discussion about phone books: https://indieweb-search.jamesg.blog/results?query=jamesg.blog&serp_as_json=direct
#
Murray
Personally, in terms of load times, I am moving towards a model where specific parts of my site are split off into their own codebases and then interlinked with subdomains. I'm very much considering this with microblogging, which is something I don't do much off but could build independently. As you mention, though, if you want deep integration then it's perhaps not ideal
#
Murray
Otherwise, Netlify have just launched Edge processes. I know people are already getting tools like Remix and Astro to run _entirely_ on the Edge, which could potentially provide very dynamic, effectively personalised builds for users or groups of users. Could be something worth looking into.
#
Murray
Eleventy already supports it, and has serverless functionality too, so there are ways to do incremental builds (though I haven't played with this myself, so not sure on limitations)
#
Murray
Also, unrelated, but I guess Loqi wasn't triggering messages on Discord :D
omz13 joined the channel
#
jamietanna1
eb I know folks who've got Netlify functions for their Micropub server, so it's still serverless and reduced effort, and that triggers a push to Git for their site to then rebuild. Out of interest, how long is a "slow" Netlify build for you?
gxt joined the channel
#
jamietanna1
I have Hugo as my static site, then have a couple of external services to do things, but it can 100% be done through Netlify
mro and tetov-irc joined the channel
#
sknebel
I'm still surprised update times for static sites seem to be so much of a problem
#
petermolnar
I've always been surprised anyone cares about that metric
#
sknebel
well, if it gets in the double-digit minutes I can see the annoyance, especially if you want to reply through bridgy etc
#
sknebel
but there is no good reason for it to take double-digit minutes for a simple "add a post" of course
#
petermolnar
> especially if you want to reply through bridgy etc
#
petermolnar
for that use case, static sites might not be the most ideal things to be honest.
#
[jamesg483]
petermolnar Static site build times is something I keep thinking about even though it doesn't matter too much to me.
#
[jamesg483]
To be honest I want to make my site a bit simpler. I realise I maybe added a bit more than I need.
#
[jamesg483]
My site takes about 4 minutes to build.
nertzy and mro joined the channel
#
sknebel
petermolnar: sure. on the other hand, adding a post should take <5s + upload time, not minutes
#
sknebel
its just not something most static gens prioritize
#
sknebel
(as a C++ programmer, "incremental compilation is very important for sanity" has probably a higher priority in my perspective than for others 🤣)
[Murray] joined the channel
#
[Murray]
sknebel: yeah, that issue is that static site builds are rarely incremental. They tend to start from scratch most times, so to add one post you have to rebuild everything (though many SSGs are getting better with this)
#
petermolnar
> static site builds are rarely incremental
#
petermolnar
you can sort of make it so, but indeed, the aggregation pages are tricky. I keep intermediate files eg. the already converted markdown to html via pandoc as cache/tmpfile so it can be picked up during generation if the content of the rest didn't change
#
petermolnar
these are usually the things ssgs overlook
[benjaminchait] joined the channel
#
[benjaminchait]
fwiw, my site (jekyll via netlify) takes ~4 min for a full build, but will incrementally update in ~1 min when i add a new post or update something
[Will_Monroe] joined the channel
#
jeremycherfas
is currently identifying with https://xkcd.com/1987/
mro, gxt and jacky joined the channel
#
[fluffy]
I use python-poetry.org to manage my environments. It helps with the spaghetti mess.
#
[fluffy]
pyenv helps too.
#
lagash
I have plenty of Python software on my system, and the ONLY time I've ever had to deal with anything like virtualenv's was with Sagemath and heavy-duty ML stuff.
#
lagash
At that point you're basically doing scientific computing and should try to make everything as reproducible as possible anyways, so..
#
petermolnar
I stopped using envs and just go for pip install --user
#
omz13
on the rare occasion that I've had to deal with python, pyenv seemed the easiest way to maintain my sanity and get something close to reproducible deployments
#
GWG
After some debate, I decided to just publish this and let people comment and I'll edit it. https://david.shanske.com/2022/04/21/indieauth-spec-updates-2022/
#
omz13
GWG for metadata discovery, I'd also mention .well-known as a way to get at the file... far far easier than parsing http headers and html head
#
GWG
omz13: But it isn't a requirement in the spec
#
sknebel
mentioning it would be misleading
#
jamietanna1
Yeah we discussed that - I've ended up doing it, but only to allow it to work automagically with OAuth2 libraries that support it
#
GWG
And I can't do it as easily because of design
#
omz13
GWG its optional but very useful
#
GWG
Correct, but I agree with sknebel about it being misleading, but I'll try to add something.
#
GWG
There, noted.
#
[KevinMarks]
That's valuing ease of parsing over ease of publishing
#
GWG
I'll keep editing as per feedback.
#
GWG
I understand the .well-known purpose, but I can't change my endpoint to point there as easily.
#
GWG
How's the explanation overall?
#
GWG
I was hoping that it might encourage more adoption
gerben joined the channel
#
jamietanna1
GWG it's a good post, thanks for writing it up!
#
jamietanna1
> and requires some form of authorization
#
jamietanna1
I'd change that to "some form of authentication", instead
#
jamietanna1
Maybe also change:
#
jamietanna1
> Some clients may have been using the verification process, and should remove this.
#
jamietanna1
to "and must remove this"? Cause it shouldn't be happening, and makes it clearer to folks who are doing it incorrectly
#
jamietanna1
GWG++
#
Loqi
GWG has 17 karma in this channel over the last year (69 in all channels)
#
GWG
jamietanna1: Made those minor tweaks
#
GWG
jamietanna1: Just wonder how many IndieAuth clients have updated
mro joined the channel
#
jamietanna1
Unlikely to be many. I believe Indigenous for Android still does it (cc marksuth) as I've seen some tokens hitting my old IndieAuth token verify endpoint
#
jamietanna1
Well, not sure about "many", as I'm not sure if we're aware of how many do it?
#
[schmarty]
wellknown--
#
Loqi
wellknown has -1 karma in this channel over the last year (-2 in all channels)
#
aaronpk
we explicitly decided to not adopt the well-known path as a discovery mechanism
#
aaronpk
if you want to host your metadata at the .well-known path you can, but clients won't be assuming that is how to discover it
#
aaronpk
gwg++ i will read this later :)
#
Loqi
gwg has 18 karma in this channel over the last year (71 in all channels)
#
GWG
aaronpk: I value your expertise
#
eb
jamietanna1: the actual build of my static site is 6ms per page on ci so currently max 11 seconds. The big problem is the additional overhead of ci (due to other issues I can't use conventional ci providers), so really it's 0.006x + 100. Anything above 15 seconds a build scares me, because I think it's possible I will reach the point of a few thousand posts a year (assuming 10k pages that's 1m). Moral: netlify needs to deploy faster and I need incremental s
neceve and [aciccarello] joined the channel
#
[aciccarello]
I know 11ty is working on an incremental build but progress has been slow
#
[aciccarello]
Right now it's basically only for reloading dev builds but the goal is to support cold start from cache
gRegor and hs0ucy joined the channel
#
eb
I'm probably going to submit a partial fix patch just to get local file support out the window
#
eb
Problem and appeal of 11ty is it's versatility, full cold start caches are impossible at this point
#
eb
knowing Zach (we are basically twins) he is going to spend months working on full cold start and then not release anything because it's literally impossible
#
[aciccarello]
Yeah, my fear is that it's so versatile that figuring out those dependency graphs is going to be impossible
#
[aciccarello]
I'd be okay with limiting features if it meant standardization and better optimization
#
eb
frankly I think a full rewrite of 11ty is due. Bad inital decisions like making collections only work for tags, no cold start, and no way to make pages build later in the cascade are all plaguing it. being said, I can't find another static site generator that has all the features I need
#
jamietanna1
eb interesting that you're already concerned about build times. My site takes ~5 minutes (~20k posts) to build on Hugo -> AWS S3
#
jamietanna1
I think building more regularly to start with is probably OK, and then see the incremental slowdown and solve it then? Instead of pre-optimise by building once a day?
gRegor joined the channel
#
eb
jamietanna1: I *know* this will be a problem! I don't want to solve it when I get there because I am getting there very fast.
mro, [jeffpaul], [jeremycherfas] and jacky joined the channel
#
jacky
eb: would it help for static builds if some of your more 'frequent' pages were put into one page?
[snarfed] joined the channel
#
jacky
like if you have all of your notes or replies on one page per day?
#
jacky
(should try this as an experiment)
#
jacky
I guess it wouldn't be an issue if incremental builds were a stable thing
jacky, amy1, nanoflite and tetov-irc joined the channel
#
@kevinmarks
↩️ This is pretty much how Activity Streams 1.0 worked, with WebSub for knowing when updates happened. The newer innovation is responses with webmention.
(twitter.com/_/status/1517279560097742848)
#
[tantek]
wellknown--
#
Loqi
wellknown has -2 karma in this channel over the last year (-3 in all channels)
#
[tantek]
yeah that tweet tree is an interesting one worth contributing to with citation on the wiki: https://twitter.com/samnewman/status/1517222858669371393
#
@samnewman
So, a silly idea, but as a tech stack for a decentralised twitter-alike, what about a federated ATOM based system? Can have disparate systems for ATOM publishing, and then pull them into a feed for your timeline. Thoughts @simonw?
(twitter.com/_/status/1517222858669371393)
#
eb
Why are we --ing wellknown?
#
[aciccarello]
I thought I remember seeing the criticism on the wiki somewhere