Sign in

Mathias Bynens

@mths.be
3.4K followers 815 following 377 posts

♥ JavaScript, HTML, CSS, HTTP, performance, security, Bash, Unicode, i18n, macOS. mths.be

PostsRepliesMedia
Reposted by Mathias Bynens
Web Standards @web-standards.dev · 22/09/2026
Responsive iframes in Chrome 154. Sebastian Benz and Bramus introduce frame-sizing, a CSS property that sizes an <iframe> to its content, with a <meta> element opt-in and window.requestResize() for later updates. #html #css developer.chrome.com...
Chrome logo, an illustration of a scrollable embedded page, an HTML snippet with a responsive-embedded-sizing <meta> element, a frame-sizing CSS snippet, and title “Responsive iframes in Chrome 154”.
3328
Reposted by Mathias Bynens
Gianni Rosato @giannirosato.com · 14/09/2026
Might be one of my more controversial posts: "The case against JPEG XL" Link: giannirosato.com/blog/post/ca... 🫡 #compression #jpegxl #av1
giannirosato.com
The case against JPEG XL | Gianni Rosato
Investigating JPEG XL's place as a Web image codec.
164
Reposted by Mathias Bynens
James Padolsey @j11y.io · 13/08/2026
Wrote a thing about how they watermark AI-generated text: declaude.org/watermarking/
declaude.org
How AI text watermarking works
A gentle visual guide to how a statistical mark hides inside generated text, and what erases it.
36218
Reposted by Mathias Bynens
Ben Schwarz @benschwarz.bsky.social · 12/08/2026
Run CI? Use Puppeteer? You may be entitled to leaner silicon 🍃 Update: Chrome for Testing arm64 builds are out! I've already updated @calibreapp.com pre-release Synthetic test agents to run arm64 — after observation, they’ll join the fleet Early numbers looking positive so far 📉
2102
Reposted by Mathias Bynens
Ben Schwarz @benschwarz.bsky.social · 05/08/2026
An enormous amount of the world’s CI and automation runs headless Chrome, all of it on x86—until last week. Chrome now ships official arm64 Linux builds. AWS says Graviton uses up to 60% less energy for the same performance. Chrome for Testing coming soon 🥳 calibreapp.com/blog/chrome-...
calibreapp.com
Chrome lands on arm64 | Calibre
Google has shipped official arm64 Linux builds of Chrome. Here’s where to get them, and why it’s good news for anyone running browser automation.
111312
Mathias Bynens @mths.be · 11/08/2026
I’m happy to announce that linux-arm64 Chrome for Testing builds are now available, starting with version 153.0.8001.0: github.com/GoogleChrome... More background: github.com/GoogleChrome...
github.com
Issue · GoogleChromeLabs/chrome-for-testing
Contribute to GoogleChromeLabs/chrome-for-testing development by creating an account on GitHub.
0286
Reposted by Mathias Bynens
Terence Eden @edent.mastodon.social.ap.brid.gy · 08/06/2026
🆕 blog! “How many consecutive hyphens can you have in a domain name?” A seemingly simple question which sent me down into the murky depths of standards. How many consecutive hyphens can you have in a domain name? It probably isn't sensible to name your online presence a----------hyphen.com - […]
mastodon.social
Original post on mastodon.social
167
Reposted by Mathias Bynens
Rick Viscomi @rviscomi.dev · 20/05/2026
We've been COOKING Modern Web Guidance is a skill pack that helps your coding agent write better, faster, more accessible and secure code Get it at goo.gle/mwg We'd love to know what you think!
goo.gle
Modern Web Guidance  |  Chrome for Developers
Guidance on how to build for the modern web.
0216
Mathias Bynens @mths.be · 13/05/2026
That’s a first: GitHub’s Advisory Database (incorrectly) flags Puppeteer as malware. github.com/github/advis... We are no longer able to publish new releases. Are there any GitHub or Microsoft folks here who can help escalate this?
github.com
False positives w.r.t. malware in Puppeteer: GHSA-grrc-v84p-qwv3 & GHSA-rvxm-vq55-8p53 · Issue #7684 · github/advisory-database
There seem to be two false positives that are affecting Puppeteer-related packages: @puppeteer/browsers is being flagged as malware in GHSA-grrc-v84p-qwv3. puppeteer-core is being flagged as malwar...
2288
Reposted by Mathias Bynens
Jason Williams @jason-williams.co.uk · 11/03/2026
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...
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)
```
2034782
Reposted by Mathias Bynens
Cabel Sasser @cabel.panic.com · 11/02/2026
over a year ago, i gave a talk at the xoxo conference about a mural, a mcdonald’s, and a man. (but it was also secretly about life, and legacy, and meaning.) finally, i’m blogging the full story, with behind-the-scenes details, and a video of the talk. enjoy. cabel.com/wes-cook-and...
cabel.com
Wes Cook and the Centralia McDonald's Mural
A personal story about discovering a mural in a McDonald's, an unknown artist named Wes Cook, saving the mural, and a conference talk about the whole thing.
34461118
Reposted by Mathias Bynens
Chrome for Developers @developer.chrome.com · 23/09/2025
Announcing our public preview of Chrome DevTools MCP! Experience the full power of DevTools in your AI coding agent→ goo.gle/4pDE6Tk With Chrome DevTools MCP, your AI agent can run performance traces, inspect the DOM, & perform real-time debugging of your web pages.
04022
Reposted by Mathias Bynens
Jake Archibald @jakearchibald.com · 17/06/2025
CSS uses a complex algorithm to decide how to animate transforms. If you get it wrong, as many folks do, you end up with an unnatural animation. Here's how it works, and how to avoid the pitfalls. jakearchibald.com/2025/animati...
jakearchibald.com
Animating zooming using CSS: transform order is important… sometimes
How to get the right transform animation.
1428454
Reposted by Mathias Bynens
Sarah Drasner @sarahedo.bsky.social · 26/01/2025
✍️ I did an explainer on the CPU and GPU and how they coordinate tasks between them. Going to a series on rendering💥
Drawing of expanded view of the GPU and CPU, with explanations for both and a brief description of how they coordinate
1233028
Reposted by Mathias Bynens
Simon Pieters @zcorpan.bsky.social · 16/01/2025
Here's the new 2025 reset.css: h1 { margin-block: 0.67em; font-size: 2em; } Thank you for adopting this on all your sites! See github.com/whatwg/html/...
github.com
Remove UA style for h1-h6 in section (et. al.) and hgroup · Issue #7867 · whatwg/html
If/when #7829 is merged, the following UA style doesn't make sense. Can it be removed? In the following CSS block, x is shorthand for the following selector: :is(article, aside, nav, section) @name...
192
Reposted by Mathias Bynens
Steven Levithan @slev.life · 11/11/2024
Uplevel your regex-fu with my deep dive into JS regex history on Smashing Magazine. www.smashingmagazine.com/2024/08/hist... Lots of new and powerful regex features you might have missed from recent versions of JavaScript!
smashingmagazine.com
Regexes Got Good: The History And Future Of Regular Expressions In JavaScript — Smashing Magazine
Although JavaScript regexes used to be underpowered compared to other modern flavors, numerous improvements in recent years mean that’s no longer true. Steven Levithan evaluates the history and presen...
1186
Mathias Bynens @mths.be · 08/02/2010
Re: Opera bug: For more coolness, play around with the size of the tab bar: imageshack.com /re @mathias /cc @vasilis @brucel
020
Mathias Bynens @mths.be · 07/02/2010
@Heilemann Blank page with 500 Internal Server Error == syntax error. Which editor are you using? Some of them have built-in syntax checking
000
Mathias Bynens @mths.be · 06/02/2010
@rem …make sure the *end user* gets the best experience possible. If bytes can be omitted without affecting performance, do it. /re @mathias
000
Mathias Bynens @mths.be · 06/02/2010
@rem Re: remove comment info — Yeah, good point. Using rem.im to shorten the URL would save some extra bytes ;) /re @mathias
000
Mathias Bynens @mths.be · 05/02/2010
Looks like @jdalton made a shorter version of @rem’s HTML5 enabling shim/shiv: gist.github.com/296128 41 characters less, yay!
000
Mathias Bynens @mths.be · 05/02/2010
Photoshoot effect using jQuery and CSS: demo.tutorialzine.com/2010/02/photo…
000
Mathias Bynens @mths.be · 05/02/2010
Oh wow — Google uses a proprietary algorithm to determine which businesses are hidden from Maps results. to./iw2 /via @netlash
100
Mathias Bynens @mths.be · 04/02/2010
How to test your JavaScript code with QUnit: code.tutsplus.com/how-to-test-your-…
000
Mathias Bynens @mths.be · 04/02/2010
@roy <div id="content"> → <section> <div id="sidebar"> → <aside> <div class="blog-post"> → <article> /re @mathias
001
Mathias Bynens @mths.be · 04/02/2010
@roy “…to use elements of the appropriate rank for the section’s nesting level.” Another good read: is.gd/7FSrC /re @mathias
000
Mathias Bynens @mths.be · 04/02/2010
@roy …no harm is done, right? /re @mathias
000
Mathias Bynens @mths.be · 03/02/2010
@jamespadolsey Do yourself a favor, and stop using the Twitter web interface. Get a Twitter client!
000
Mathias Bynens @mths.be · 03/02/2010
@roelvangils “Wij adviseren niet om bezoekers met Internet Explorer 6 te weren. […]” /cc @vasilis /re @mathias
000
Mathias Bynens @mths.be · 03/02/2010
Worst URL shortener ever: www.godaddy.com/forsale/nig.gr?utm_…
000
Mathias Bynens @mths.be · 02/02/2010
An HTML5 offline image editor and uploader application: demos.hacks.mozilla.org/openweb/ima…
000
Mathias Bynens @mths.be · 02/02/2010
‘Life Below 600px’: iampaddy.com/lifebelow600 /by @paddydonnelly
000
Mathias Bynens @mths.be · 01/02/2010
In LOTR3, when Theoden (→ interwebs) is dying, the Witch King (→ Steve) says to his steed (→ iPad), “Feast on his flesh (→ Flash)”. Om nom^3
000
Mathias Bynens @mths.be · 31/01/2010
Quickly look up jQuery method sources using the jQuery Source Viewer: j11y.io/jquery /by @jamespadolsey
000
Mathias Bynens @mths.be · 30/01/2010
View anyone’s Facebook friends list (hidden or not) based on user ID: mathiasbynens.be/demo/facebook-frie… #privacy #fail
000
Mathias Bynens @mths.be · 30/01/2010
Unless you check the ‘Public Search Results’ checkbox on Facebook, anyone could retrieve your friend list—hidden or not: www.commandlinefu.com/commands/view…
000
Mathias Bynens @mths.be · 30/01/2010
Just launched the new @toykyokids website/shop: toykyokids.be Design by @geldwolf. #html5
000
Mathias Bynens @mths.be · 30/01/2010
Google’s internal data suggests that Unicode is nearing 50% of the web: is.gd/7la7Y UTF-8 ftw, y’all.
000
Mathias Bynens @mths.be · 29/01/2010
@ara_p You can load jquery.js several times, it will just overwrite the jQuery namespace. output.jsbin.com/uhawa But why would you want to?
000
Mathias Bynens @mths.be · 29/01/2010
As of March 1st, Google drops support for IE6: is.gd/7jVIm /via @krijnhoetmer
000
Mathias Bynens @mths.be · 29/01/2010
Anyone looking for a free CeBIT 2010 ticket? I’m giving away two.
000
Mathias Bynens @mths.be · 28/01/2010
Forgot your Windows password? No problem. i.imgur.com/utaj2.gif
000
Mathias Bynens @mths.be · 27/01/2010
Dynamic dummy image generator: dummyimage.com Example: dummyimage.com/640x480 /via @krijnhoetmer
000
Mathias Bynens @mths.be · 26/01/2010
SublimeVideo, a beautiful HTML5 video player: www.jilion.com More info: is.gd/76rRN
000
Mathias Bynens @mths.be · 26/01/2010
Pure CSS coke can: www.romancortes.com/blog/pure-css-c…
000
Mathias Bynens @mths.be · 26/01/2010
WTF of the day: whois google.com i.imgur.com/XMEhZ.png
000
Mathias Bynens @mths.be · 26/01/2010
@davidhund I assumed it was, since they store the data on Google servers and all… #omfg #didijustgetphised #confused /re @mathias
000
Mathias Bynens @mths.be · 25/01/2010
YouTube is about to suck: i.imgur.com/MNaIu.jpg
000
Mathias Bynens @mths.be · 21/01/2010
WTF: “Hello Sir, Would you be interested in selling your twitter name @mathias? :) Thank you for answer. Best regards, Mathias Mikkelsen.”
000
Mathias Bynens @mths.be · 21/01/2010
YouTube launches an opt-in beta of an HTML5-based video player: is.gd/6IQwM
000