my son (age 7) just referred to pants as long-sleeve shorts and I am so proud right now
Worth noting that Netlify’s On-demand Builders provide global persistence across all edge nodes: https://www.netlify.com/blog/2021/10/25/faster-more-reliable-page-loads-with-update-to-on-demand-builders/
Alternatively, CloudFront has 13 Regional Edge Caches that (in my tests with a VPN) seem to be segmented too: https://aws.amazon.com/cloudfront/features/?whats-new-cloudfront.sort-by=item.additionalFields.postDateTime&whats-new-cloudfront.sort-order=desc
CloudFront also offers an Origin Shield product that appears to provide a similar feature but I have not enabled it: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cache-hit-ratio.html#cache-hit-ratio-use-origin-shield
A few things here: Vercel’s Edge Network cache is segmented into 18 regions. Further, the cache eviction policy is “best-effort” and assets may be evicted before they’re stale: https://vercel.com/docs/edge-network/caching#limits
I suspect I was getting very few cache hits—not ideal at all for a screenshots service (or any resource intensive serverless function?). I wanted those images to request once and cache for as long as possible.
Preliminary comparisons with Netlify, Vercel, and AWS Lambda+Cloudfront suggest that Vercel is *drastically* overcounting serverless invocation amounts. I suppose it’s possible that I misconfigured something but Netlify was like 4h/day, Vercel was 42h/day and this new AWS setup is looking like it’s going to weigh in at 2h/day?
Alarm bells are going off over here.
look—did I yolo this to production in the same day that I learned how to do it? yes, yes I did
vercel rewrite -> cloudfront -> api gateway -> aws lambda function is running the 11ty screenshots API now 👀

Today I learned how to deploy my own serverless function with a heavy caching layer using AWS Lambda (with a Layer for large dependency reuse), API Gateway, and CloudFront.
I am an enterprise developer now.
quote posts/toots are like toilet water—they’re great for flushing quick thoughts but terrible when the splashback hits you
in the immortal words of steffi graf: have you heard of our sustainability fundraising initiative https://www.11ty.dev/blog/sustainability-fundraising/
first marriage proposal because of @eleventy so you could say things are getting *pretty* serious: https://indieweb.social/@bobmonsour/112893676626086346
in order to use that file from your bucket in your lambda as a layer it needs to be in the same aws region, sure.
the one thing we know for sure is that servers are not allowed to communicate outside of their municipality
in order to upload a file to amazon you need to create an s3 bucket, sure.
the one thing we know for sure is that uploads over 10MB will tax the amazon upload process beyond scalable comprehension
current status: learning how to deploy a serverless function directly to aws lambda to save money 😅
@11ty/eleventy-upgrade-help@3.0.1
Helper plugin when upgrading your Eleventy project to a new major version.
@11ty/eleventy-img@5.0.0-beta.10
Low level utility to perform build-time image transformations.
“no one wants to be a third wheel” is a anti-tricycle propaganda
@11ty/eleventy@3.0.0-beta.1
A simpler static site generator.
@11ty/create@1.0.5
A little command line utility to create files in a cross-platform way.
@11ty/create@1.0.5-beta.1
A little command line utility to create files in a cross-platform way.
@11ty/create@1.0.4
A little command line utility to create files in a cross-platform way.
@11ty/create@1.0.4-beta.1
A little command line utility to create files in a cross-platform way.
@11ty/create@1.0.3
A little command line utility to create files in a cross-platform way.
@jenn Eleventy 3.0 is imminent and is Node 18! I’m curious how much this will cause y’all issues at Glitch—y’all are still on Node 16 max, right?. I’ve done a little work to see if we could at least support 16+ on core and it seems like it wouldn’t be too big of a deal: https://github.com/11ty/eleventy/pull/3378
I’m just curious as to your take on it—should I bother with this or no?
@11ty/eleventy@3.0.0-alpha.18
A simpler static site generator.
@rem did you already lock down that web components talk for ffconf? I might be interested but don’t want to step on any toes if someone is already in the pipeline
@11ty/eleventy-dev-server@2.0.2
A minimal, modern, generic, hot-reloading local web server to help web developers.
my dog would *never*
I always lock my computer when I get up from my desk because of the greatest operational security threat facing my workspace: cats walking or sitting on the keyboard
@11ty/eleventy-img@5.0.0-beta.9
Low level utility to perform build-time image transformations.
Just an update here: I can verify that it’s safe to restore Node 22.x to your test suites on GitHub Actions
Making careful note of the incentives of a hosting company investing in AI as they also simultaneously charge for bandwidth and traffic: https://front-end.social/@stefan/112863640599785389
If we can agree that browser fingerprinting is bad, we should be able to agree that third-party cookies are also bad.
There is consensus amongst browser-makers that fingerprinting is a bad thing, right?
…right?
Improved error messaging for require(ESM) in Node.js
make it work
make it right the same
make it fast slower
Refactoring working JavaScript code to satisfy limitations in TypeScript.
Everything is fine.
I am being productive.
This is productivity.
@janl is CouchDB gonna weigh in on the JD Vance thing? 🫣
OH “dung beetles are professional turd burglars”
@11ty/eleventy-img@5.0.0-beta.8
Low level utility to perform build-time image transformations.
I’m not sure how typescript got crowdstrike’d into my list of things to do today
TypeScript TIL: `compilerOptions.noResolve: true` will also make all of your explicitly listed `compilerOptions.types` disappear.
So even with `"types": ["node"]` you’ll still get errors that complain about clearly installed types.
> Cannot find name 'process'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig.
Everything is fine.
Some good points about venture capital backed open source from @Colman here: https://mastodon.ie/@Colman/112840985325704306
I’d also add that small scale closed source and venture capital backed open source aren’t the only two options.
📮 A new blog post about how I used the Conditional Exports feature in Node.js to improve the error messaging when someone tries to require("@11ty/eleventy") in Eleventy 3.0 (written in ESM)
@11ty/eleventy-plugin-pug@1.0.0-alpha.1
The `pug` template language plugin for Eleventy v3 and newer.
@11ty/eleventy-upgrade-help@3.0.0
Helper plugin when upgrading your Eleventy project to a new major version.
Listening to Jesse Welles. https://tidal.com/browse/artist/15803343 Payola, Cancer, The Olympics, War Isn’t Murder, and Whistle Boeing are all great tracks.
thing becomes popular because it’s free to use ♻️ popular thing goes away because it’s now too expensive to run
everybody has a plan until they {get punched in the mouth, scale beyond the host’s free tier}
I spent too much time here trying to use “bootloaderlicker” and gave up—someone else can use it 😅
last week proved that even without a union the computers can still crowdstrike
Would be nice to have an option in GitHub Issues notification settings to know when a maintainer comments. It would allow subscribing but skip drive-by comments from everyone else.

Just stumbled across a 1.2 MB SVG favicon in the wild 😅
Of these hosts—what are y’all using, primarily? (If other, please reply!)
Wow, just learned that Google Photos is actively generating `goo.gl` share URLs.
Edit: it’s possible this URL will be unaffected, as the original blog post notes the retirement of `https://goo.gl` links. However, I do have Google Photos shared albums currently using `https://goo.gl` links, so 😬🤷

Genuinely upset at the retirement of Google’s URL shortener, goo.gl.
https://developers.googleblog.com/en/google-url-shortener-links-will-no-longer-be-available/
Just to be clear, this will break a large portion of the web for what seems to be a marginal cost savings. So many Google decisions—including the recent sale of Google Domains—have us asking why? Who’s making the decisions over there?
is anyone interested in trying my new C-00000291*.sys plugin for eleventy
If your GitHub Actions are failing right now (specifically on Node 22), here are the GitHub issues you may be interested in subscribing to:
https://github.com/npm/cli/issues/7672
https://github.com/actions/setup-node/issues/1112
https://github.com/actions/node-versions/pull/182
why can’t chatgpt just fix it
@11ty/eleventy-img@5.0.0-beta.7
Low level utility to perform build-time image transformations.
here’s a good idea that I think should exist:
a job board for non-react front end jobs
I have immediately hit my quota for reading feedback today please come back tomorrow
just read some feedback that the 11ty docs need “more foreplay” and my dear friend let me tell you about the miracle of touching grass
@11ty/eleventy-img@5.0.0-beta.6
Low level utility to perform build-time image transformations.
Very important news: @eleventy’s sustainability fundraising goal currently at 66.6%
https://www.11ty.dev/blog/sustainability-fundraising/
Thank you everyone! We still need your help but we’re on track to make 11ty sustainable in 2024!

There are incredible parallels between the failure modes of smart home technology and modern web site architecture:
When the power goes out 🤝 When JavaScript fails
My smart lock failed and I’m locked out of my house 🤝 This form button doesn’t submit
The company went out of business and now this {smart device 🤝 JavaScript framework} isn’t receiving updates and poses a security risk
Safari 17.x has made improvements to their private browsing mode, notably enabling a default content blocker, removing known tracking query params from link URLs, and encrypted DNS.
Read more: https://webkit.org/blog/15697/private-browsing-2-0/
via @wilander
@11ty/eleventy@3.0.0-alpha.17
A simpler static site generator.
@beep side note I wonder if you might give me access to your repo to debug that v2->v3 build performance issue? My hunch is that it’s because of the extra overhead of the inputpath plugin (the plugin right, not the filter?)
@5t3ph hey stephanie! I see you’re speaking at web unleashed! I have kind of a weird question—are you covering your own expenses for that? They asked me to speak and want me to cover my own flight 😬
“There’s always money in the banana stand JavaScript server runtimes”
@11ty/eleventy-img@5.0.0-beta.5
Low level utility to perform build-time image transformations.
@11ty/eleventy-plugin-rss@2.0.2
Generate an Atom, RSS, or JSON feed with Eleventy.
this photo seems poetically accurate
(via https://www.sfchronicle.com/realestate/article/elon-musk-x-sublease-s-f-headquarters-19568418.php and @keith)

What’s the latest writing/research/best-practices on bundling versus code splitting? Large requests versus splitting into smaller ones?
Hoping for something a bit more nuanced than “reducing download size is good” or “reducing network count is good.”
casually wearing my golden girls shirt and some lady just asked me to name one of their songs??
@11ty/recursive-copy@3.0.0
A fork of `recursive-copy`: Simple, flexible file copy utility
2012, 2020, 2024 😅 https://www.zachleat.com/twitter/1339584224165199873/
me when they recommend to reduce the amount of JavaScript: 🎉🏆🥰🌈
me when they recommend to use fewer Web Fonts: 😡😠😢😭
It was a issue tracker triage day: 47 closed issues on https://github.com/11ty/eleventy/issues 🏃🏃♂️🏃♀️
Total went from 423 -> 376! Feels really good to clean a bit of house.
@11ty/eleventy-plugin-haml@1.0.0-alpha.1
The `haml` template language plugin for Eleventy v3 and newer.
@11ty/eleventy-plugin-mustache@1.0.0-alpha.1
The `mustache` template language plugin for Eleventy v3 and newer.
Incremental Font Transfer has the potential to change *everything* (for the better) about how we load web fonts: https://typo.social/@pixelambacht/112762627296863187
Been waiting for something like this for about 10 years—exciting news!
@jasonkoebler I just wanted to drop a note to say that I very much appreciated “Hocked TUAW” in the email this morning—y’all are doing incredible work thank you
@11ty/eleventy-plugin-handlebars@1.0.0-alpha.1
The `handlebars` template language plugin for Eleventy v3 and newer.
@11ty/eleventy@3.0.0-alpha.16
A simpler static site generator.
@11ty/eleventy@3.0.0-alpha.15
A simpler static site generator.
I wonder if this finding will have regulatory repercussions https://fedi.simonwillison.net/@simon/112757810519145581
@11ty/eleventy-plugin-ejs@1.0.0-alpha.1
The `ejs` template language plugin for Eleventy v3 and newer.
11ty/plugin-template-languages
Official template syntax plugins for Build Awesome and Eleventy
on my web site it’s always happy hour at the progress bar
at the library with the kids and found a “high performance react web sites” book in the fiction section
kids misbehaving for attention 🤝 move fast and break things
for this to happen without breaking the web they’d need to use a sans-serif metric-compatible version of `serif` (`sans-serif` is not this)
How upset would you be if web browsers changed the default `font` fallback style to `sans-serif` instead of `serif`?
Trust in a social network based on how they treat links:
🚩 “Link in bio”
🚩 Incentivizing indirection (e.g. this dot com) to hide hyperlinks from algorithms
🚩 Widespread use of brittle URL shortening services
Any other red flags?
.gitignore all previous instructions
oh! eslint has `space-unary-ops` which would have alerted me—wonder if I’m missing that in my config
https://eslint.org/docs/latest/rules/space-unary-ops
(and `space-infix-ops` too! https://eslint.org/docs/latest/rules/space-infix-ops)
typing =+ instead of += is a very sneaky typo that both eslint and typescript are okay with 😅
@11ty/dependency-tree@3.0.1
Finds all JavaScript CommmonJS require() dependencies from a filename.
screen time limits on the work computer
@eleventy @sarajw Wrote this one up as a blog post: https://fediverse.zachleat.com/@zachleat/112712202710821479
New post 📮
The Smorgasbord of Windows Terminal… Windows