Mathias Bynens

About me

Hi there! I’m Mathias, a web standards enthusiast from Belgium. HTML, CSS, JavaScript, Unicode, performance, and security get me excited. You can follow me on Twitter and GitHub.

Latest notes

ES6 const is not about immutability

· tagged with JavaScript

This seems to be a very common misconception that just won’t die. I keep running into it in blog posts, Twitter discussions, and even books.

Continue reading “ES6 const is not about immutability”…

Valid JavaScript variable names in ECMAScript 6

· tagged with JavaScript, Unicode

ES6 updates the grammar for identifiers. This affects a number of things, but most importantly, identifiers can be used as variable names, and identifier names are valid unquoted property names. This post describes the observable changes compared to the old ES5 behavior.

Continue reading “Valid JavaScript variable names in ECMAScript 6”…

Unicode-aware regular expressions in ECMAScript 6

· tagged with HTML, JavaScript, Unicode

This article explains the effects of the new u flag for regular expressions in ES6.

Continue reading “Unicode-aware regular expressions in ECMAScript 6”…

Dear Google, please fix plain text emails in Gmail

· tagged with Email

By default, composing a new email in Gmail results in an HTML email under the hood. It’s possible to opt-out of that and use plain text email instead, but that leads to some problems.

Continue reading “Dear Google, please fix plain text emails in Gmail”…

PBKDF2+HMAC hash collisions explained

· tagged with Bash, cryptography, JavaScript, Python

It’s trivial to find colliding passwords when hashing with PBKDF2-HMAC-anything. This post explains why that is.

Continue reading “PBKDF2+HMAC hash collisions explained”…

Older notes

Browse the archive.