Sign in with Twitter

Username:

Mathias Bynens @mathias Munich, Germany

I work on @ChromeDevTools & @v8js at Google and on ECMAScript through TC39. ♥ JavaScript, HTML, CSS, HTTP, performance, security, Bash, Unicode, i18n, macOS.

829 Following   65,533 Followers   20,955 Tweets

Joined Twitter 1/4/07


@zachleat @Netlify Congrats! @bramus Congrats y’all! 😍
1/23
2020
@tunetheweb @simevidas cc @tomasdev @hashseed @RReverser @nodejs @ChromeDevTools Yeah, per @nimODota it uses REPL mode 👍
1/20
2020
@kentcdodds @niklaskorz My answer would be: <div>∞</div>
1/19
2020
@kentcdodds filesByHash should be a map
1/18
2020
@kosamari @DasSurma @RReverser @bradleymeck @hooraybuffer @nimODota with the actual ghost emoji amirite @DasSurma @RReverser @kosamari @bradleymeck Nope, re-declaring let and class works, but re-declaring const doesn't… https://t.co/Wg1FSBzefU
1/17
2020
@_developit Something something Puppeteer? @padolsey Fantastic to see progress! 💯
1/16
2020
@konklone Congrats Eric! Can’t wait to work with you 👍 @rauschma @Jhnnns Calling it <CENSORED> is an imprecise simplification, is what I'm saying. The spec section… https://t.co/cfqtSqf6Kk @rauschma @Jhnnns I don't think the spec has changed. Read my blog post :P @Jhnnns @wSokra I'd argue the 100% correct answer (per spec) is not in your list of options :P But I've already wri… https://t.co/ot8HxfOua3 @joaosamouco @v8js See https://t.co/8mBAjix0bT.
1/15
2020
@_jayphelps array.flatMap(cb) is sugar for https://t.co/bNqhO178UP(cb).flat(). What would you expect instead? @ScribblingOn Happeli’hap Shubheksha!
1/13
2020
@dciccale @amcereijo The change is https://t.co/8mBAjix0bT, but what I said in my replies applies to all JavaScript… https://t.co/Po2imYzXGs @passy Ok, I’m even more hyped for it now. Thanks 👍 @passy Elaborate?
1/12
2020
@dciccale You want to return a-b @dciccale Your comparison function returns a boolean, and is thus inconsistent.
1/11
2020
@argyleink But to be clear, the best practice remains to optimize images, which includes stripping EXIF data. So co… https://t.co/NWdsMvppCV @FakeUnicode Could you please file a bug for the @ChromeDevTools-specific issue? https://t.co/QwA0s2lHhO We’ll take a look.
1/10
2020
@jankrems Well... not yet! +@leszekswirski
1/9
2020
@padolsey Speedy recovery, James! @LamdaCalrissian @cassidoo listen up all y’all up in the place it’s the backslash, the p, and the opening brace fol… https://t.co/d2U6DMHiCx @cassidoo 📾 C to the W steppin’ up to the game droppin’ sick-ass bars, don’t even care about fame unlike that othe… https://t.co/mrtI4BzBfd
1/8
2020
@bhathos If you’re willing to file another @ChromeDevTools feature request, there might be! @mozhacks What's the latest Firefox version scheduled to be released in 2020? https://t.co/DWXjdm0vt6 stops at Fire… https://t.co/4Q712w8iig @FakeUnicode @wesbos Note that this still wouldn't support emoji that consist of multiple code points. For that, we… https://t.co/RErVceMUvx
1/7
2020
@bmeurer @Vjeux @tverwaes @v8js @leszekswirski @mgechev Amazing shot! @dluzar @rauschma @tjcrowder Assuming screen readers pronounce some form of the Unicode character names, that seems fine to me? @rauschma @tjcrowder Wouldn’t that be an accessibility regression compared to just using “A”? How do screen readers… https://t.co/dpflaxwloj
1/1
2019
@Una Congratulations you two ❤️❤️❤️ @fhemberger Oh shit, sorry to hear that. Gute (und schnelle) Besserung! @_shu quite the pivot @hashseed I nope’d just looking at the picture. You’re a brave man!
12/31
2019
@hardkoded We’re continuing to support Puppeteer and are releasing a new version for every major Chrome release. @rauschma matchAll still does not return an array 🙂
12/30
2019
@2ality Nit: you’re not using `grammaticalNumber` here (and probably meant to do so): switch (https://t.co/KnTVdvvY7k(count))
12/29
2019
@jankrems Nit: JavaScript’s HTML comments syntax creates single-line comments, not block comments. (You might be th… https://t.co/LcK1xWYOq8All differences between JavaScript modules, classic scripts, and CommonJS. https://t.co/aE8dNCbVNL For the next ti… https://t.co/Mo8bp6fDfI
Retweeted by Mathias Bynens
12/28
2019
@kuvos The regex files should be ES5-only indeed :) @padolsey Oh no James! I wish you a speedy recovery and humbly suggest listening to some Youngblood Brass Band tune… https://t.co/21wDa2Pw6Z @fox ❤️
12/27
2019
@bnjbvr @jorendorff You could use String.prototype.normalize on both strings @aerotwist Come on Paul, you got this!
12/26
2019
Adaptive icon support in PWAs with maskable icons: https://t.co/lwOkmOZarJ. Great article by @Not_Woods on making y… https://t.co/7jByiCVZps
Retweeted by Mathias Bynens
12/24
2019
@2ality “String.prototype.matchAll() returns an Array of match objects” seems wrong @Paul_Kinlan Hope you feel better soon!
12/22
2019
@DieterCastel PHP @JoelEinbinder Reminds me of Opera's browser.js: https://t.co/NAeGulSPSl Shame the GitHub repo has been removed! @domenic 💯 and that blog post doesn’t even mention nullish coalescing and optional chaining!
12/20
2019
@lgarron LUCAS. @mattbrowndev @v8js @leszekswirski Fixed, if only to save bytes! @biteofpie @FakeUnicode @mtliendo @TeslaNick @Dayhaysoos Re: JavaScript using UTF-16 or UCS-2: it depends on how yo… https://t.co/7vLAtAKz6f
12/19
2019
@rauschma I appreciate you taking the time to use proper capitalization here. It’s never been more important!V8 hits its long-awaited v8.0, now with optional chaining, nullish coalescing, faster higher-order builtins — oh an… https://t.co/9sqROa3b86
Retweeted by Mathias Bynens#A11Y Tip: Don't set absolute font sizes! If someone has their default browser font size bumped up/down, you overri… https://t.co/k3qDP5VA5Q
Retweeted by Mathias Bynens @aerotwist I prefer to think of it as 0x26. Happy birthday! 🎉🥳 @agileSaturday @v8js @MayaLekova Where did you see this? It hasn't shipped yet!
12/18
2019
🔥 JavaScript regular expressions are getting more powerful! RegExp match objects now have an `indices` array that… https://t.co/LjKd6AKMaz
Retweeted by Mathias Bynens @danielrvt @MayaLekova Did you read the article? There’s an example that uses named capture groups! Also see https://t.co/Cwsops2EbdJavaScript is now equipped with a new regular expression enhancement! @MayaLekova shows how it can be used for fin… https://t.co/Pq3JE6t8tx
Retweeted by Mathias Bynens🔥 JavaScript regular expressions are getting more powerful! RegExp match objects now have an `indices` array that… https://t.co/LjKd6AKMaz @liquidmetalrob @hooraybuffer @ChromeDevTools They're Unicode combining diacritical marks. Fun stuff! https://t.co/Z8SwBbn8Re @hashseed @hooraybuffer @ChromeDevTools I know how to nerd-snipe my fellow Unicode connaisseurs @garethheyes @hooraybuffer @ChromeDevTools Awesome! I wrote about this a while back too: https://t.co/2ifD7yPSppHͫ̆̒̐ͣ̊̄ͯ͗͏̵̗̻̰̠̬͝ͅE̴̷̬͎̱̘͇͍̾ͦ͊͒͊̓̓̐_̫̠̱̩̭̤͈̑̎̋ͮͩ̒͑̾͋͘Ç̳͕̯̭̱̲̣̠̜͋̍O̴̦̗̯̹̼ͭ̐ͨ̊̈͘͠M̶̝̠̭̭̤̻͓͑̓̊ͣͤ̎͟͠E̢̞̮̹͍̞̳̣ͣͪ͐̈… https://t.co/afeHHdaymu
12/17
2019
@Jack_Franklin @ChromeDevTools Congrats! This is awesome 🔥🔥🔥
12/16
2019
@argyleink Is there a postcss plugin for converting old properties to the new hotness yet? (It could take rtl/ltr a… https://t.co/oj7LV1d0cR
12/13
2019
@DasSurma @_Nec annex b 4 lyf @DasSurma @_Nec I’m talking about good ol’ legacy octal literals, the ones that are invalid in strict mode @DasSurma @_Nec On mobile and slightly drunk on glühwein rn but afaik 00 is an octal literal representing the value… https://t.co/ieglWX8sQp @tomayac @ChromeDevTools @AMPhtml @jaffathecake @mark_e_davis Note that macOS is disagreeing with UTS51 here: “only… https://t.co/GVAqkyIQqM @tomayac @ChromeDevTools @AMPhtml @jaffathecake also cc @FakeUnicode @tomayac @ChromeDevTools @AMPhtml @jaffathecake Hey @mark_e_davis, remember when we talked about the macOS emoji pi… https://t.co/iAQsmcsU1R
12/12
2019
@Not_Woods Oh right, it's based on the padding. I'm assuming a common use case is to import an SVG, set a backgrou… https://t.co/prudQ8TEjx @Not_Woods Nice! I just tried to "export" an icon, and it saved a 90×90px PNG. Is there a way to export larger ico… https://t.co/sAtWrmTaVO @bhathos @FakeUnicode To answer your original question: yes, the list of escape sequences JSON.stringify produces i… https://t.co/ziX9UwFKNm
12/11
2019
@glenmaddern To be fair, anything can be made faster by adding caching 😅 Looping in proxy optimization expert… https://t.co/xRn7fiyZ27
12/9
2019
@rauschma I think that text might just be wrong… Search for SetFunctionName, and see where it gets called. cc @ljharb @bakkoting @_shu
12/5
2019
What’s new in DevTools in Chrome 80? ↳ let and class redeclarations in Console ↳ improvements to WebAssembly debug… https://t.co/g4RcHBYgai
Retweeted by Mathias Bynens
12/4
2019
@zachleat I’m so sorry, Zach. Hugs. ❤️ @stefanjudis Chromium-based Edge gets it for free because it uses @v8js. And since you used the logo for the new Ed… https://t.co/PQgf6hnx5D
12/3
2019
@BrunoGiubilei @ChromeDevTools Looks Good To Me
11/30
2019
@RReverser @ChromeDevTools It works for the hardcoded strings! 😅 @ChromeDevTools Code review: LGTM Nit: use String.raw to avoid the need to escape `\` @tomayac @eleven_ty This looks so slick! 🔥🔥🔥🎉👍 @samvdkris @mssx86 @Blizzard_Ent By itself, this does not necessarily mean they’re storing the passwords in plain t… https://t.co/X5wLN3Kb5X
11/29
2019
@justinschuh Do want! Please acquire then hand off my team kthxbai @AmeliasBrain @zachleat @tabatkins Thank you! @hashseed @rowan_m @RReverser I don’t see you posting any poetry Yang @RReverser @hashseed Might I offer a limerick? we once tried to change hypertext but gave up soon after, perplexed… https://t.co/5IAGGoOjLH @zachleat E.g. padding-left: 20px; padding-left: var(--some-undefined-variable, 40); That last declaration does… https://t.co/FEMt2G2NDA @zachleat How is calc() relevant to what you're showing? This seems similarly invalid: * { padding-left: var(--s… https://t.co/kDQBqvlznm @zachleat To clarify, the first `invalid` in your screenshot should have been `valid`, right? @devdevcharlie @Netlify Congrats Charlie! 🎉
11/28
2019

0