Mathias BynensVerified account

@mathias

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

Munich, Germany
Joined January 2007

Tweets

You blocked @mathias

Are you sure you want to view these Tweets? Viewing Tweets won't unblock @mathias

  1. Pinned Tweet

    At , and I gave a talk on cutting-edge JavaScript features: ➡️ WeakRef ➡️ Intl.* ➡️ Promise.{allSettled,any} ➡️ numeric separators ➡️ Array#{flat,flatMap} ➡️ Object.fromEntries ➡️ String#matchAll ➡️ …and more!

    Undo
  2. Puppeteer v2.1.0 is out! 🔥 ➡️ Chromium 80 ➡️ puppeteer.launch({product: 'firefox'}) Puppeteer can now talk to a real, unpatched Firefox binary. You no longer need to install puppeteer-firefox separately!

    `puppeteer.launch` now accepts a `product` option which can be set to `'firefox'`.
    Undo
  3. Incredible overview of non-standard web platform features that debuted in Trident, the engine behind good ol’ Internet Explorer: by

    Undo
  4. Retweeted
    27 Dec 2019

    All differences between JavaScript modules, classic scripts, and CommonJS. For the next time somebody asks me "why have different file extensions?".

    Undo
  5. Retweeted
    24 Dec 2019

    Adaptive icon support in PWAs with maskable icons: . Great article by on making your icons look nice under all circumstances. 🎭 Also a new ⁦⁩ feature. 🎉

    Undo
  6. Retweeted
    18 Dec 2019

    V8 hits its long-awaited v8.0, now with optional chaining, nullish coalescing, faster higher-order builtins — oh and 40% less memory use thanks to pointer compression, no big deal. h8rs gonna h8, V8ers gonna V8 🔥🔥🔥

    Undo
  7. Retweeted
    18 Dec 2019

    Tip: Don't set absolute font sizes! If someone has their default browser font size bumped up/down, you override their choice and force them to zoom. 😔 Instead, set the font size to `100%` on the `:root {}` level and make everything a function thereof via `em` or `rem`. 🎉

    Browser preferences page showing the default font size settings section.
    Default font size set to very large, a web page uses the appropriate font size in function of this setting.
    Default font size set to very small, a web page uses the appropriate font size in function of this setting.
    Default font size set to medium regular, a web page uses the appropriate font size in function of this setting.
    Show this thread
    Undo
  8. Retweeted

    🔥 JavaScript regular expressions are getting more powerful! RegExp match objects now have an `indices` array that contains the start and end positions for each capturing group. explains:

    Undo
  9. Retweeted
    17 Dec 2019

    JavaScript is now equipped with a new regular expression enhancement! shows how it can be used for finding positions of matched groups. (This feature is available starting from V8 v7.9 behind a --harmony-regexp-match-indices flag.)

    Screenshot of the getVariablePosition example from the article.
    Undo
  10. 🔥 JavaScript regular expressions are getting more powerful! RegExp match objects now have an `indices` array that contains the start and end positions for each capturing group. explains:

    Undo
  11. Hͫ̆̒̐ͣ̊̄ͯ͗͏̵̗̻̰̠̬͝ͅE̴̷̬͎̱̘͇͍̾ͦ͊͒͊̓̓̐_̫̠̱̩̭̤͈̑̎̋ͮͩ̒͑̾͋͘Ç̳͕̯̭̱̲̣̠̜͋̍O̴̦̗̯̹̼ͭ̐ͨ̊̈͘͠M̶̝̠̭̭̤̻͓͑̓̊ͣͤ̎͟͠E̢̞̮̹͍̞̳̣ͣͪ͐̈T̡̯̳̭̜̠͕͌̈́̽̿ͤ̿̅̑Ḧ̱̱̺̰̳̹̘̰́̏ͪ̂̽͂̀͠ is a perfectly valid JavaScript identifier.

    Undo
  12. Retweeted

    What’s new in DevTools in Chrome 80? ↳ let and class redeclarations in Console ↳ improvements to WebAssembly debugging, code coverage, Audit & Network panels

    Undo
  13. Retweeted

    🚀 For large JSON-compatible objects, JSON.parse is faster than JS object literals. ➡️ True for all browser JavaScript engines! ➡️ Speed-ups from 1.2× to 2× 🎥 My lightning talk explains why:

    Undo
  14. Retweeted
    25 Nov 2019

    Here's Mathias' awesome breakdown of the JSON.parse trick for speeding up state transfers. Quick, easy optimization with sometimes dramatic gains. It's faster in all browsers. He mentions my case study, if you're curious, here's my write-up on that:

    Undo
  15. 🚀 For large JSON-compatible objects, JSON.parse is faster than JS object literals. ➡️ True for all browser JavaScript engines! ➡️ Speed-ups from 1.2× to 2× 🎥 My lightning talk explains why:

    Undo
  16. Retweeted
    22 Nov 2019

    🌒 Dark mode aficionados, my lightning talk on dark mode has been published on YouTube: . 📺 It's essentially the TL;DR of . 📚

    Undo
  17. Retweeted

    Call for feedback on new draft UTS #18: Unicode Regular Expressions, adding support for properties of strings (including emoji). Review period closes on 2020-01-06.

    Undo
  18. Retweeted
    Undo
  19. Retweeted

    Emulate `prefers-color-scheme: dark` from DevTools either from the Rendering drawer, or from the Command Menu (Ctrl/Cmd + Shift + P)

    Undo
  20. Retweeted
    20 Nov 2019

    🔥 What’s new in V8 v7.9? Faster API getters, number representation transitions and repeated on-stack replacements (OSR); more Wasm modules per process with reduced initial memory consumption.

    Undo
  21. Retweeted

    🎉 Chrome now supports SVG favicons! Pro tip: you don’t need any HTML to declare a favicon. Host your SVG file at /favicon.ico and serve it with the correct MIME type (image/svg+xml). 🤯

    Undo

Loading seems to be taking a while.

Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.

    You may also like

    ·