Intl.PluralRules - JavaScript | MDN | The Intl.PluralRules object enables plural-sensitive formatting and plural-related language rules. | developer.mozilla.org/en-US/docs/W...
Posts by Schalk Neethling
Node.js 24.15.0 (LTS) is out now! 💚
https://nodejs.org/en/blog/release/v24.15.0
map.getOrInsertComputed is newly baseline! It's a small feature, but I've found it pretty useful. Here's how it works:
Can you steal $10,000 from a locked iPhone? www.youtube.com/watch?v=PPJ6...
Accessibility changelog | Here are the latest feature releases and fixes to support accessibility at Slack. March 2026Desktop Slackbot no longer claims to be "away" when you use a screen reader. We updated button labels... | slack.com/help/article...
The Unreleased Rollable Smartphone! www.youtube.com/watch?v=5aS-...
Introducing masonry-gridlanes-wc: A Native-First Masonry Web Component | A light-DOM custom element for CSS masonry layouts that uses display: grid-lanes when available and falls back to a spec-aligned JavaScript placement engine. | schalkneethling.com/posts/introd...
CSS contrast-color is newly baseline, but it falls short in some areas. Here's how it works, and what to look out for:
CSS Property Type Validator: Assignment-Site Validation | The validator now catches type mismatches at the point of assignment, not just at var() usage. | schalkneethling.com/posts/css-pr...
MDN | The overflow-block CSS media feature is now widely available developer.mozilla.org/en-US/docs/W...
The “State of AI 2026” survey just opened! This is run by the same folks who do the other "State of…" surveys, like JS, CSS, and React.
The goal is to understand how web developers are using AI. So, whether you use AI or not, please take a few minutes to fill it out!
font-family Doesn’t Fall Back the Way You Think #css
✍️ In case you haven’t heard of `font-variant-emoji`, neither have I.
cssence.com/2026/font-va...
#CSS #Emoji #Unicode
Pushing to GitHub and Codeberg Simultaneously with Git | Learn how to configure Git to push your code to both GitHub and Codeberg with a single command, including SSH key setup and a handy shell alias for branch specific control schalkneethling.com/posts/pushin...
Harmonic Harbour 😍 www.youtube.com/watch?v=Ij_8...
NASA's Artemis II Crew Return to Houston www.youtube.com/watch?v=DYY4...
Mesurer is a lightweight measurement and alignment overlay for React apps. - github.com/ibelick/mesu...
Poking at the CSS if() Function a Little More: Conditional Color Theming | CSS-Tricks
#css #frontend
TypeScript 6.0 and CSS Side-Effect Imports: What Changed and How to Fix It | TypeScript 6.0 enables noUncheckedSideEffectImports by default, which causes a TS2882 error for CSS side-effect imports | schalkneethling.com/posts/typesc...
Window: structuredClone() method - The structuredClone() method of the Window interface creates a deep clone of a value using the structured clone algorithm. developer.mozilla.org/en-US/docs/W...
NASA’s Artemis II Crew Comes Home (Official Broadcast)
www.youtube.com/watch?v=nfhD...
Panozoom: The Accidental Web App | What started as a question about a free macOS image viewer turned into a deep dive into pan and zoom math, pointer events, WheelEvent quirks, and a TypeScript web component. Here is everything ... | schalkneethling.com/posts/panozo...
Upload an image and pan and zoom almost infinitely in your browser. Smooth and intuitive, with full keyboard support. | panozoom.schalkneethling.com
New feature dropped on LinkStack. You can now publish your stacks to the public catalog. linkstack.schalkneethling.com
Fix broken node modules with no fuss. www.npmjs.com/package/patc...
Making Software | A reference manual for people who design and build software. | www.makingsoftware.com 🤩
ok hear me out.
If we put a unique `container-name` on the root of all of our components... that's... perfect scoping, via:
@container unique-name {
button {}
.whatever {}
}
That's platform-level CSS modules. That's the scoping we need! frontendmasters.com/blog/name-on...