Justin Fagnani
@justinfagnani.com
1.7K followers 430 following 1.3K posts
Building something new... Previously at Google. Web maximalist. Web components. Creator of Lit. Oakland.
Posts Media Videos Starter Packs
Reposted by Justin Fagnani
liberalcurrents.com
"MAGA aren't worried about what the old rules of politics say. They have heard the footsteps of the Lord of Hosts marching through history, and they understand that rules can be changed. They are exercising every lever of power available to them to do so: legal, institutional, cultural, financial."
Democrats Must Embrace War Mindset
We have exited a long period of peace and entered into a struggle not unlike war, in which all the old certainties have gone malleable and the future of the republic is at stake.
www.liberalcurrents.com
justinfagnani.com
Never had the need. Web Dev Server and Web Test Runner work great.

It also seems like Vite didn't handle CSS imports well. I keep hearing about people needing to use non-standard workarounds to load it.
justinfagnani.com
localStorage in Node 25+ is bound to lead to security issues as components written to run in single-user environments are SSR'ed in Node environments with the same APIs, but serving multiple users.

We really need better ways to run code in isolation on Node.
Reposted by Justin Fagnani
gordon.bsky.social
I like Lit because it passes the Do Simple Things test.
justinfagnani.com
moveBefore() is important is because it completely removes the need for more complicated list-diffing algorithms that detect if an item has focus or selection and moves everything else *around* that item.

It could be easier for frameworks to use though: github.com/whatwg/dom/i...
Reposted by Justin Fagnani
beijingpalmer.bsky.social
while 'young republicans are literal nazis' is well known to folks here, the extent of it is surprisingly not that commonly known even in media and analyst circles, let alone normal people.
jamellebouie.net
a real water is wet scenario here
carlquintanilla.bsky.social
POLITICO: “.. They referred to Black people as monkeys and ‘the watermelon people’ and mused about putting their political opponents in gas chambers. They talked about raping their enemies .. and lauded Republicans who they believed support slavery.

@politico.com
www.politico.com/news/2025/10...
justinfagnani.com
As someone recently said to me about the vibe coding platforms: They're selling dollars for 90¢

Except that maybe it's for 5¢
edzitron.com
Jesus christ. AI coding platform Augment code had to jack up prices because 22.5% of their users were spending 20x of what they paid, and even after raising the prices, they're still running at a loss.
reddit.com/r/AugmentCod...
A handful of users abused the system so all are getting punished.

This isn't about a few high-usage users. The reality is that approximately 22.5% of our users are consuming 20x what they're currently paying us. This isn't sustainable for us to continue delivering the quality service you expect. We have built some very powerful tools and we don’t want to impose artificial limits on what’s possible, but we do need to be able to charge in proportion to the use customers are getting from our platform. Developers are always going to push their tools to their limits, and we encourage that — and we need to be able to charge for it appropriately, too.

You only care about professional developers.

Our core focus is on building the best AI coding agent for professional software engineers and their teams. If people outside of that group are finding value with Augment, they are very welcome to use the product, but we’re not prioritizing features or solutions that non-developers might need, and frankly, there are plenty of vibe coding/low code/no code solutions available on the market that will better serve those customers.

You are just squeezing money out of us at 20x margin.

20x margin sounds great, but isn’t the reality for AI tools: the vast majority are running at a loss, including us, while we work to build sustainable, long-term businesses.
justinfagnani.com
How is Cursor's different from VS Code's?
justinfagnani.com
I wish npmjs.com supported them. They look like ass as plain text.
Reposted by Justin Fagnani
kevinmkruse.bsky.social
They are terrified of the No Kings rallies and doing everything they can to discredit them.

If you're on the fence about going, just think of how much it'll piss off these assholes.
atrupar.com
Emmer: "We call it the 'Hate America' rally because you'll see the hate for America all over this thing when they show up. The rumor is that they can't end this shutdown because this small but very violent and vocal group is the only one that's happy about this."
Reposted by Justin Fagnani
kleinman.bsky.social
If you're going to a No Kings march instead of a witty sign that might elicit a chuckle maybe you could just carry an American flag
justinfagnani.com
I hate how VS Code's release notes are like 90% AI features now. 😢
justinfagnani.com
I hope that collective models, like Igalia, can thrive next. Consultancies that have expertise in certain projects, are funded by companies that rely on them, and get paid for special efforts on specific work. It should be simpler than a company trying to maintain an OSS project on its own.
justinfagnani.com
Having been in it, a lot of it was good citizenship - we use these projects, we maintain these others, contribute to some more, and it all works. Some freeloaders, some outsized contributors.

When money flows less easily, there's just more pressure to be a freeloader and not a contributor...
justinfagnani.com
The later is something I currently do with two properties:

/* definition */
:host {
--default-primary-color: blue;
}

/* use - at every use site! */
:host {
background-color: var(--primary-color, var(--default-primary-color));
}

And I can't wait to get rid of this pattern!
justinfagnani.com
inherit() is going to be absolutely huge for working with CSS custom properties. Two big things it'll enable:

Nested indentation:

--indent: calc(inherit(--indent, 0) + 1);

Overridable design token defaults:

--primary-color: inherit(--primary-color, blue);
Reposted by Justin Fagnani
lit.dev
Lit @lit.dev · 1d
Lit is joining @openjsf.org! 🎉

Today at JSConf, The OpenJS Foundation announced Lit is officially joining as an Impact Project!

We're beyond excited for this move and look forward to continuing our work to build the open web with OpenJS!

Read more on our blog: lit.dev/blog/2025-10...
Lit is Joining the OpenJS Foundation!
Lit is officially joining the OpenJS Foundation as an Impact Project!
lit.dev
justinfagnani.com
It lets tools understand custom elements that are written in any format or language, and without having to parse source code.
justinfagnani.com
To be clean, those JSDoc tags are not part of the manifest at all. They are conventions supported by some manifest generators.

The manifest does inside those. Framework-specific concepts would need their own place in the schema.
justinfagnani.com
For JS-based frameworks, you could easily layer on "framework components" which are also extensions of classes or functions. And for non-JS ones you could add a new module type.
justinfagnani.com
CEM is really just a "document the platform" format.

It starts with describing packages and modules, then gets into variables, functions and classes, and then layers on element definitions which are just an extension of classes.
Reposted by Justin Fagnani
radleybalko.bsky.social
- It is legal to organize and fund protest.
- That someone organizes and funds promotion of a protest does not mean most, some, or any protesters are paid.
- Even if all protesters are paid, that is also legal
- It is good to oppose kings and fascism
- That's not what what "begs the question" means
atrupar.com
Sean Duffy: "The No Kings protest, Maria, really frustrating. This is part of antifa, paid protesters. It begs the question who's funding it."