Posts by Valentino Gagliardi
I’m excited to announce the 1̶s̶t̶ 7th release candidate of Elena today! 🫶
Elena is a simple, tiny library for building Progressive Web Components. Unlike most web component libraries, Elena doesn’t force JavaScript for everything.
Crafted with love and care using HTML, CSS & plain JS: elenajs.com
“Progressive Web Components” title, author’s photo, three component type diagrams (Composite, Primitive, Declarative), and a terminal showing Elena CLI.
Progressive web components. Ariel Salminen introduces Elena, a 2.6 kB library for building web components that prioritize HTML and CSS, then hydrate with JavaScript. #webcomponents #js
arielsalminen.com/20...
Good luck 🇪🇺🇭🇺
MDN search for “Under the hood of MDN’s new frontend” with results for HTML, CSS, JavaScript performance optimization, Web APIs, and SVG over HTML source code. MDN logo in the corner.
Under the hood of MDN’s new frontend. @leo.mca.is explains how MDN replaced React with web components and Lit, using server components for static content and lazy-loading interactive islands. #mdn #webcomponents
developer.mozilla.or...
“What Is CSS Containment and How Can I Use It?” title, author’s photo, and OpenTable mobile site with DevTools showing contain: strict.
What is CSS containment and how can I use it? Harry Roberts covers each contain value, the content and strict shorthands, and content-visibility. Includes a real OpenTable case where containment cut layout time sixfold. #css #performance
csswizardry.com/2026...
Automated Accessible Text With “contrast-color()”, by @una@front-end.social:
https://una.im/contrast-color
#css #functions #colors #contrast #accessibility
Anthropic using regex instead of their actual *language model* to detect negative sentiment in prompts.
🚨 Active supply chain attack on axios@1.14.1. The latest version pulls in plain-crypto-js@4.2.1 -- a brand-new package that didn't exist before today.
We're still investigating. If you use axios, pin your version and audit your lockfile. socket.dev/blog/axios-n...
Detail: Small Interface Details That Make Big Difference - https://detail.design (Curated collection of tiny design decisions from real products. Good inspiration resource.)
Today I published the second update of this month to the Practical Accessibility course content.
I have at least two or three more updates coming this April.
As I promised, I want to keep the course as up-to-date and as relevant to your work as possible.
Get access @ practical-accessibility.today
Wikipedia now has higher standards than all universities
If you give an LLM full access over your primary computer, I'd love to study your brain.
apple.news/Ay19QSmUuRTO...
I can't stress this enough, do not host client work on Vercel.
bsky.app/profile/konn...
Free newsletter: Why're we still doing this? Despite $1tr+ in investment, every AI company is unprofitable, LLMs have yet to provide tangible productivity benefits, and private credit-backed data center debt may be the next great financial crisis.
www.wheresyoured.at/why-are-we-still-doing-this/
Code example showing the usage of Temporal.ZoneddateTime ```js // London DST starts: 2026-03-29 01:00 -> 02:00 const zdt = Temporal.ZonedDateTime.from( "2026-03-29T00:30:00+00:00[Europe/London]", ); console.log(zdt.toString()); // → "2026-03-29T00:30:00+00:00[Europe/London]" const plus1h = zdt.add({ hours: 1 }); console.log(plus1h.toString()); // "2026-03-29T02:30:00+01:00[Europe/London]" (01:30 doesn't exist) ```
Temporal is now Stage 4 at TC39 🎂🎂🎂
Thanks to all the other champions of JavaScript's new date-time API. It has been a wild ride over many years!
I wrote a blog post explaining how we got here 📜
bloomberg.github.io/js-blog/post...
JavaScript code snippet lists an inventory of items with names, types, and quantities, demonstrating `Object.groupBy()` functionality.
Stop writing reduce() just to group an array ✋
`Object.groupBy()` works on all major browsers, helping you group array elements by any key in one line.
Clean, readable, no dependencies.
Learn more 👇
developer.mozilla.org/en-US/docs/...
Gonna share this with my buddies 🙂
I started a new chapter of my Agentic Engineering Patternw guide about anti-patterns - things NOT to do
So far I only have one: Inflicting unreviewed code on collaborators, aka dumping a thousand line PR without even making sure it works first simonwillison.net/guides/agent...
How to use UUIDv7 in Python, #Django and PostgreSQL
www.paulox.net/2025/11/14/h...
JavaScript's date object has been tricky for years, but that is changing.
The NEW Temporal API brings,
🌍 Easily handle time zones
📆 Precise date math
🕒 Parse ISO strings without errors
⌛ Durations, date ranges, and more.
Start experimenting 👇
developer.mozilla.org/en-US/docs/...
CSS shape() landed in Firefox 148. It's similar to path(), but allows the full expressiveness of CSS…
Goodbye innerHTML, Hello setHTML: Stronger XSS Protection in Firefox 148
hacks.mozilla.org/2026/02/good...
I've been seeing more mania surrounding Claude and OpenClaw these past 2-3 weeks, and it just reminds me that all useful technological advancements since the beginnings of mathematics are based on predictable behaviours and repeatability.
I'll take a look again when it has those two attributes.
Django Packages is a directory of reusable apps, sites, tools, and more for your Django projects
djangopackages.org
#django
Visualize Django URL routing inside the Django Admin, including patterns, views, namespaces, and conflicts
github.com/yassi/dj-url...
#django