#dev 2021-01-14

2021-01-14 UTC
#
lahacker
k updated
#
lahacker
there's probably a bunch of improvements to be made; aaronpk let me know if it doesn't just slot in as a standalone file
[KevinMarks], [chrisaldrich] and [schmarty] joined the channel
#
[snarfed]
lahacker++ thanks!
[Raphael_Luckom], jeremycherfas, ShadowKyogre, KartikPrabhu, [tantek], [antonio], [schmarty], [KevinMarks], [tw2113_Slack_], [chrisaldrich], strugee, swentel and [Rose] joined the channel; ShadowKyogre left the channel
#
Loqi
Ok, I'll tell them that when I see them next
#
[tantek]
also new page (changed from a redirect) https://indieweb.org/bookmarks
#
[tantek]
if you display "bookmarks" as part of your post footer, e.g. number of people or lists of people that have bookmarked your post, please add yourself to https://indieweb.org/bookmarks#IndieWeb_Examples (adactio is the only one I could remember off the top of my head, and I presume GWG does though via Post Kinds though I'm not sure and hope he has a permalink handy that shows it's been bookmarked by others)
[KevinMarks], hoschi, jeremych_ and ShadowKyogre joined the channel
#
@nicklewis
I am starting to make this blog the central hub of my online presence using the #POSSE approach. I’ve also been exploring how #webmentions work and discovering interesting new ideas along the way #IndieWeb https://indieweb.org/POSSE https://nicklewis.blog/notes/2021-01-14-posse/
(twitter.com/_/status/1349703693877338112)
schmudde, ShadowKyogre, jeremycherfas, hoschi, [Raphael_Luckom] and KartikPrabhu joined the channel; ShadowKyogre left the channel
#
@pablolarah
Mentioned app _ Track your website mentions in real-time #webmentions #mentions #marketing #PR https://mentioned.app/
(twitter.com/_/status/1349754137131573251)
hoschi and jeremycherfas joined the channel
#
@hiro_y
自分のサイトにWebmention表示させてみたの、面白いもので表示させると気になっちゃうな。反応とか気にしないで書ける場所として、だったりもするので似合わないかも。ちょっと悩みつつ、はずすかも。
(twitter.com/_/status/1349769179881095170)
ShadowKyogre joined the channel
#
jacky
I'm starting to see the appeal of a purely flat-file approach for a site (specificially IndieWeb ones)
#
jacky
I'm thinking that I might port my setup to be one that's more content-addressable-friendly (like making it not know the difference if it's stored on disk or in something like dat)
ShadowKyogre joined the channel; ShadowKyogre left the channel
#
@nicklewis
I have recently implemented #webmentions on this site and they seem to be working rather well but what are they exactly? The splendid @alistapart explains a little bit more. https://nicklewis.blog/notes/2021-01-14-webmentions/
(twitter.com/_/status/1349775466014629889)
ShadowKyogre, [schmarty] and [Raphael_Luckom] joined the channel; ShadowKyogre left the channel
#
[Raphael_Luckom]
I'm convincing myself that the next post in my series on setting up your own cloud infrastructure will be how to set up a serverless static site generator--a generator where you put markdown in an S3 bucket and functions do the rest. Basically the core of my existing site.
#
[Raphael_Luckom]
I keep saying that once you can run terraform you have access to ridiculously cheap+performant designs, and I've run out of excuses not to publish a real one.
[Keith_Axline], hoschi, [antonio], [snarfed], swentel, ShadowKyogre, [KevinMarks], shoesNsocks1, [Rose], [chrisaldrich], gxt and [tw2113_Slack_] joined the channel; ShadowKyogre left the channel
#
@phaneritic
I didn’t feel this M3.8 in Concord a several minutes ago, but my @raspishake did! Did you feel it? Help the @USGS_Quakes submitting your report here: https://earthquake.usgs.gov/earthquakes/eventpage/nc73510910/tellus https://pbs.twimg.com/media/Ert4t_8VcAA-ZgB.jpg
(twitter.com/_/status/1349805364611465217)
ShadowKyogre, hoschi and [jeremycherfas] joined the channel; ShadowKyogre left the channel
#
GWG
[KevinMarks]: A step too far maybe
#
aaronpk
i want one. we don't get enough earthquakes here for it to be interesting though
#
Loqi
aaronpk: [tantek] left you a message 11 hours, 58 minutes ago: here's a start: https://indieweb.org/responses#Displaying_responses_to_a_post
#
aaronpk
that is indeed a start :) would be more helpful to link to the fragment within each page
petermolnar left the channel
#
sknebel
might be petty, but the raspishake billed as citizen science/educational etc and then a pile of closed software with "DO NOT REVERSE ENGINEER" pretty much killed my interest in one
jamietanna joined the channel
#
jamietanna
[Raphael_Luckom] that sounds interesting - why not pre-compile with a "real" static site, instead of dynamically? (super interested, not trying to sound argumentative / "whatabout"ist
ShadowKyogre, petermolnar, mayakate[m], nekr0z, fredcy_, enpo and Salt[m] joined the channel; ShadowKyogre left the channel
#
GWG
aaronpk: That's my reasoning
[Raphael_Luckom] joined the channel
#
[Raphael_Luckom]
jamietanna: It's one of those things where I have a few reasons but I haven't put them all in one place, so I'm just going to try here and hope it turns out coherent 😄 ; so you may need to ask a followup or two before I'm able to make good sense:
#
[Raphael_Luckom]
1. My goal is to build a system where the AWS cloud (as a specific example to stand in for "any public cloud with a small set of standard features") behaves for me like an operating system--it maintains windows into a "filesystem" composed of bucket(s) and runs "apps" (cloud functions triggered by events). Under that logic, the function that turns a .md into a .html is conceptually the same as a function that took an openscad file and
#
[Raphael_Luckom]
rendered an stl. Since I want to preserve that openness to arbitrary extensibility, I don't want a purpose-built SSG introducing its own idioms for "rendering a file, when it is a type of authoring format that is traditionally associated with a web site"
#
[Raphael_Luckom]
re-reading and re-writing the whole site all the time. This particular tradeoff has a number of dimensions, so I wouldn't claim any specific "optimalness" for it, but I'm finding that it works well so far.
#
[Raphael_Luckom]
2. As a kind of secondary goal, I've found that I don't actually need to re-render my whole site when there's a new post--I just need to know enough to render the post, and trigger re-renders of lists in which it appears and adjacent posts in those lists. Since the S3 layout means that I need an extra network call for each file I want to get, there's kinda a benefit to rendering the minimal set of files for a given event, rather than
schmudde joined the channel
#
[Raphael_Luckom]
One aspect of point #1 that I find attractive is that, since AWS lets you trigger functions off of bucket events, and buckets have very sharply-defined CRUD semantics and permissions, when I get around to needing to write a client for this thing (a phone app or maintenance website or whatever) I can use S3 as the system's interface--actions can be initiated by putting objects in buckets, and output can be placed in those buckets for
#
[Raphael_Luckom]
consumption. This interface can use basic AWS permissions (api key / secret key). I see a lot of options for making almost any permission within the system (i.e. the ability to post on a section of a site) equivalent to a granular s3 permission.
#
[Raphael_Luckom]
e.g not i.e
#
[Raphael_Luckom]
plus I can make it all cheap af. That's point 3, but since you can get a static site for free I don't really think it helps me in comparison.
[tantek] and [schmarty] joined the channel
#
[schmarty]
[Raphael_Luckom] i've been getting really interested in site build processes that are incremental or "just enough". i have a theory that indieweb building blocks could be used for this, and i find that interesting in particular.
#
[Raphael_Luckom]
I'm finding it very promising so far, highly recommend
#
[schmarty]
for example when i make a new post i really want that post to go up at its permalink quickly, and get it into my main feed quickly, but then a bunch of stuff can happen after the fact, like adding that post to archives and tag pages.
#
[Raphael_Luckom]
I've had some opportunities to move toward goals like that. So far I have been de-prioritizing speed in general though, in favor of code / configuration "simplicity" and extreme inexpensive-ness.
#
[Raphael_Luckom]
I have also been de-prioritizing documentation, but I'm starting to feel that some of these things are final-ish, so if there's interest I'd be happy to write some of it up. I've already gotten two people to beta test my blog instructions for "how to do a thing with terraform on aws" https://raphaelluckom.com/posts/practitioner_journey.html
[KevinMarks] joined the channel
#
jamietanna[m]
Sounds like a good idea. I'm finding my site is being super slow to build currently (7min Hugo on Netlify) and am thinking about what my next steps are. Schmarty's idea sounds good too 🤔
#
@nicklewis
Whilst doing more research on webmentions to learn more, I found this great post. https://nicklewis.blog/notes/2021-01-14-jmac/ https://jmac.org/webmention/
(twitter.com/_/status/1349847809881755650)
#
[Raphael_Luckom]
7min surprises me. I have a pretty small site, but usually I see a post go up about 20s after I drop md in the bucket. Some of my rendering stuff is very inefficient right now (storing post-content in dynamo as a cache). I'm pretty sure it can be fixed though
#
[Raphael_Luckom]
7min surprises me because I moved this site from hugo and it was faster than that on my local machine
#
[Raphael_Luckom]
which is to say, I don't have extensive experience with ssgs, so I may not have solved whatever leads to a long hugo build time. but I'd be interested to hear about it
#
[tantek]
it feels like SSGs in general are not (even) making use of well established update algorithms like those used by spreadsheets (when you change one cell, spreadsheets are very smart about only updating/redrawing etc. the dependent cells, rather than updating every single cell)
#
[tantek]
like spreadsheets know how to do this kind of update in under a second, even for very complex spreadsheets. and a structure of "bunch of posts", "bunch of archive pages", "bunch of tag pages" is not complex at all
#
[tantek]
so what am I missing? this is just sloppy coding right?
#
[schmarty]
tantek: as far as i can tell it was a deliberate design choice that multiple static site generator tools all followed.
#
[Raphael_Luckom]
I don't know if it's sloppy. It's conceptually much simpler to always do everything. Maybe you want e.g. template writers to not have to guess about what's going to get rendered when
#
[tantek]
what "design"? regen everything? that's not design
#
[schmarty]
skipping the complexity of maintaining dependency trees by choosing to regen everything every time.
#
[tantek]
lol yes it's conceptually simpler to do a bubblesort too but no one does that for any non-trivial data sets (>10 items?)
#
[schmarty]
literally trading CPU cycles for conceptual simplicity 😄
#
[Raphael_Luckom]
I don't find bubblesort that simple
#
[tantek]
what I'm saying here is this seems to be lack of knowledge of well established (literally decades old) algorithms.
#
[Raphael_Luckom]
why do you think lack of knowledge rather than lack of preference?
#
[tantek]
because why would you put up with *minutes* of update times that are the number one reasons to dump SSGs when less than a second is possible?
#
aaronpk
implementing that kind of algorithm in a static site generator is exactly why you'd use a static site generator library instead of rolling your own
#
aaronpk
like i totally get the "well it's easier to regenerate everything" if you're writing your own SSG from scratch
#
[schmarty]
i definitely believe it was a conscious choice to skip incremental builds. some have started adding them with different layers of success.
#
aaronpk
but jekyll and hugo and other big-name SSGs have no excuse to do it better at this point
#
[tantek]
aaronpk, I'm curious why no SSG library seems to do that. since no one is hyping any particular SSG that has update times in seconds or less than a second
#
aaronpk
hugo has some of that i thought? can't quite remember to what extent
#
[schmarty]
hugo definitely touted its speed but all that speed comes from being a compiled binary
#
[tantek]
I'm blaming a combination of NIH and lack of depth of understanding of algorithms (yes, having actual CS training / background or being exceptionally well taught with lots of reading like Knuth books)
#
[Raphael_Luckom]
I would guess that most ssgs are initially made by people who know that they, specifically, will have small mostly-text sites and want to build something quickly that works
#
[schmarty]
and when you start pushing features like data sets, custom queries, etc., you can slow hugo down plenty 😂
#
[Raphael_Luckom]
those early decisions can be really hard to unwind
#
aaronpk
"Static pre-rendering ... has in fact remained the first choice of a small but vital community ... who appreciate the simplicity of the architecture"
#
[Raphael_Luckom]
like when I imagine "preference for pushing to git to deploy a blog post" I have a pretty specific idea of who that is, what they're writing, and how much thought they're going to want to put into it. just my bias though
#
aaronpk
"Gatsby’s data engine automatically tracks dependencies between pages and data, and—when data changes—schedules the minimum amount of work needed to update the site"
#
[tantek]
the reason I compared to bubblesort is that it's exactly the same kind of methodology ("just write a bunch of of for loops!") in both cases
#
aaronpk
so gatsby gets it
#
aaronpk
tho it's strangely tied to their cloud offering
#
[Raphael_Luckom]
sounds like they're using an object store & have discovered bandwidth pricing
#
[schmarty]
tantek: i have felt like SSGs are all kind of weirdly toys because of the "literally throw it all away and rebuild every time" mentality.
#
[schmarty]
and yet things get done with them 😂
#
[Raphael_Luckom]
I don't have formal CS training, fwiw
#
aaronpk
nor should you have to to use a SSG
#
[Raphael_Luckom]
a lot of the decisions I make--the ones I'm defensive about, and the ones that I think will look weird to people with CS backgrounds--are based on how I think I would've wanted this field to be accessible to enthusiastic amateurs back when that's what I was.
#
[Raphael_Luckom]
actually, now that no one's paying me, maybe I am that again
#
[tantek]
to *create* a new SSG, CS background would help with this
#
[Raphael_Luckom]
to be a doctor or lawyer, rich parents would help with this
#
ciccarellome[m]
11ty has a pinned issue looking into incremental builds. For something like a new .md file it should be easily do-able but it gets more complicated with data files and remote assets. https://github.com/11ty/eleventy/issues/108
#
ciccarellome[m]
And 11ty doesn't force a strict structure so there's lots of places where you can pass a function which may or may not be functionally pure.
#
[KevinMarks]
well gatsby needs it as it has huge overheads in other ways. Hugo does rebuild in real time locally, but i suppose that is on an ssd with lots of RAM rather than on whetever timeslice you get on default hosting
#
jacky
what are anchors
#
Loqi
It looks like we don't have a page for "anchors" yet. Would you like to create it? (Or just say "anchors is ____", a sentence describing the term)
jjuran joined the channel