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

Unicode-aware regular expressions in ECMAScript 6

· tagged with 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”…

JavaScript has a Unicode problem

· tagged with JavaScript, Unicode

The way JavaScript handles Unicode is… surprising, to say the least. This write-up explains the pain points associated with Unicode in JavaScript, provides solutions for common problems, and explains how the ECMAScript 6 standard improves the situation.

Continue reading “JavaScript has a Unicode problem”…

Processing Content Security Policy violation reports

· tagged with CSP, PHP, security

Content Security Policy can be used to generate reports describing attempts to attack your site. This post briefly explains how this works, and presents a simple example script that can be used to process these reports.

Continue reading “Processing Content Security Policy violation reports”…

Older notes

Browse the archive.