132 Followers
185 Following
1.5K Posts
Bet on web technology, interested in building collaboration tools, CRDTs, browser engineering & API, system design, compilers, distributed systems.
Websitehttps://perjerz.netlify.app
Twitterhttps://twitter.com/perjerz34
Githubhttps://github.com/perjerz

"The Saga of the Closure Compiler, and Why TypeScript Won" by Dan Vanderkam https://effectivetypescript.com/2023/09/27/closure-compiler/

Really interesting bit of history. I've played around with Closure Compiler, and some of the stuff it can do is still impressive compared to more mainstream tools.

Effective TypeScript › 83 Specific Ways to Improve Your TypeScript

Effective TypeScript: 83 Specific Ways to Improve Your TypeScript

Oh neat, I guess Terser is able to mangle private class properties now. That was a big feature of Closure Compiler I recall, but now it's just based on native JavaScript syntax: https://github.com/terser/terser/pull/1060
Fix private getter/setter mangling by jridgewell · Pull Request #1060 · terser/terser

This fixes an error with private getter/setters being mangled as if they were regular public properties: export class Foo { get #aaaaaa() {} constructor() { this.#aaaaaa } } In this, get ...

GitHub

We believe #rustlang is a great choice for building web backends and now is the time for teams to pick it up 🦀❤️

@marcoow writes about why we believe that, what makes Rust a great choice for web backends and how to approach adoption on our blog: https://mainmatter.com/blog/2023/08/14/the-case-for-rust-on-the-web/

The Case for Rust on the Web - Mainmatter

TODO

Mainmatter

High Performance HTML Tables with Lit and Virtual Scrolling

https://coryrylan.com/blog/high-performance-html-tables-with-lit-and-virtual-scrolling

High Performance HTML Tables with Lit and Virtual Scrolling

Learn how to easily create HTML tables in Lit from dynamic data sources.

📢 The Origin Private File System (OPFS) is a cross-browser solution for your performance-critical, file-based storage needs on the Web! @chrisdavidmills has documented everything you need to know about the API over on MDN: https://developer.mozilla.org/en-US/docs/Web/API/File_System_API/Origin_private_file_system.

💡 This is what powers Photoshop (https://developer.chrome.com/blog/how-photoshop-solved-working-with-files-larger-than-can-fit-into-memory/) and SQLite Wasm (https://developer.chrome.com/blog/sqlite-wasm-in-the-browser-backed-by-the-origin-private-file-system/).

#️⃣ #OPFS #ProjectFugu 🐡

Origin private file system - Web APIs | MDN

The origin private file system (OPFS) is a storage endpoint provided as part of the File System API, which is private to the origin of the page and not visible to the user like the regular file system. It provides access to a special kind of file that is highly optimized for performance and offers in-place write access to its content.

MDN Web Docs

@zachleat Not really a "blog post", but the HTML Design Principles has been pretty foundational in how I think about both making websites and making web standards:
https://www.w3.org/TR/html-design-principles/

In particular, the Priority of Constituencies ("In case of conflict, consider users over authors over implementors over specifiers over theoretical purity.") is a guiding mandate in standards design.

HTML Design Principles

⚛️ Did some coding on the flight and came up with a proposal for pixel-based Panel constraints for react-resizable-panels:
https://github.com/bvaughn/react-resizable-panels/pull/176
Support pixel-based panel constraints by bvaughn · Pull Request #176 · bvaughn/react-resizable-panels

Relates to issues #46, #47, #51, #78, #114, #128, #141 This PR adds a new prop (validateLayout) to PanelGroup to enable custom layout constraints (including pixel-based constraints). function vali...

GitHub

While I'm happy that @leaverou's proposal about the ability to style the native `title` tooltip is moving forward in CSSWG (yay!), I think there was one thing that was not discussed enough — #accessibility of those tooltips (or absence of it).

I wrote a quick comment about this at the corresponding issue: https://github.com/w3c/csswg-drafts/issues/8930#issuecomment-1644631295 — but I am not an accessibility expert, far from it, so I would welcome anyone who actually knows what they're doing to comment over at this issue.

[css-ui] Standardize tooltip styling and expose as `::tooltip` · Issue #8930 · w3c/csswg-drafts

Now that popover and anchor positioning are moving forwards, I wonder if it’s time to re-examine standardizing tooltip styling and adding a ::tooltip pseudo-element so that authors can customize it...

GitHub

🤩 Exciting news from the @CSSWG F2F.

We just resolved on adding sibling-count() and sibling-index() to css-values-5 ED! 🥳

This was the #1 request we heard from authors at @CSSDayConf. Yes, we *are* listening to you.

https://github.com/w3c/csswg-drafts/issues/4559

[css-values] Proposal: add sibling-count() and sibling-index() · Issue #4559 · w3c/csswg-drafts

Problem Currently we can query a child based on it's child index position or query on children length (with some complex syntax), but we can't use the index or length as values in our styles. Feels...

GitHub