8 min

Alt text is writing

Every image on the site had an alt attribute, the checker reported zero errors, and not one of those attributes told anybody anything because filling in a field and writing a sentence turn out to be different jobs.

Accessibility
6 min

Worth doing badly

Chesterton's line about doing things badly is the most useful thing I know about actually finishing anything, and it goes well past side projects.

Culture
6 min

Nobody prints anything

Except invoices, tickets, recipes, directions, order confirmations, and every page a client's accountant touches, and the stylesheet for all of that is about 40 lines nobody thinks to write.

CSS Freelancing
7 min

content: "\00a0"

Why the most-used string in my stylesheets is an invisible one, how CSS escapes will silently eat the character after them, and the parts of the content property that aren't strings at all.

HTML CSS
6 min

BEM and the long class name

A naming convention is a bet that the next person reads class names before they read CSS, and the ugly double underscores are paying for something real, which is not having to know the whole stylesheet just to change one thing.

CSS
6 min

var, let, and the one I still use

ES6 is arriving all at once through a transpiler, which means that adopting it is a series of individual choices rather than one and some of those features have earned it more than others.

JavaScript
5 min

Gulp, because Grunt

Spending all week on a tool just to save 11 seconds a run. Nobody does that math beforehand.

Tooling
7 min

The 400 KB hero

Every conversation about page weight goes straight to minification. Meanwhile there is a 2 MB image on the page that nobody has opened since Photoshop.

HTML Images Performance