Most cited
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 1,175 posts.
Requiring secure contexts for all new features
Since Let’s Encrypt launched, secure contexts have become much more mature. We have witnessed the successful restriction of existing, as well as new features to secure contexts. The W3C TAG ...
Dark corners of Unicode
I’m assuming, if you are on the Internet and reading kind of a nerdy blog, that you know what Unicode is. At the very least, you have a very general understanding of it — maybe “it’s what gives us emoji”. That’s about as far as most people’s understanding extends, in my experience, even among programmers. And that’s a…
X Window System Basics (2014)
Since this article contains a lot of interactive demos relying on fairly modern browser technology, let's make sure that everything is OK before continuing.
Rails and Merb Merge
Today is a fairly momentous day in the history of Ruby web frameworks. You will probably find the news I’m about to share with you fairly shocking, but I will attempt to explain the situation. Before talking tech, and even going into the details of the announcement, I want
OAuth for the Open Web
OAuth has become the de facto standard for authorization and authentication on the web. Nearly every company with an API used by third party developers has implemented OAuth to enable people to build apps on top of it.
Bluesky's AT Protocol - Federation Architecture Overview
Soon, we’re launching a sandbox environment for federation. In advance, we want to share some technical details about our design decisions.
AVIF has landed (2020)
AVIF is the first browser image format we've had in 10 years. Let's see how it performs…
Amber.js (formerly SproutCore 2.0) is now Ember.js (and released)
After we announced Amber.js last week, a number of people brought Amber Smalltalk, a Smalltalk implementation written in JavaScript, to our attention. After some communication with the folks behind Amber Smalltalk, we started a discussion on Hacker News [http://news.ycombinator.com/item?id=3335916] about what we should
Making MathBox: Presentation-Quality Math with Three.js and WebGL
Presentation-quality math with Three.js and WebGL.
OOCSS + Sass = The best way to CSS
Object-oriented CSS is awesome. But littering your markup with non-semantic classes is not awesome. Those classes sprinkled all over your HTML are going to change, and that’s not gonna be fun. But if you combine OOCSS and Sass you get the best of both worlds: modular CSS without bloated, hard-to-maintain HTML.
The Offline Cookbook: caching and serving offline-first
Update: Together with Udacity I created a free offline-first interactive course . It involves taking an online-only site to full offline-first glory. Many of the patterns in this article are used.
Java call stack – from HTTP upto JDBC as a picture (2006)
Created this by pasting together a few screenshots from a NetBeans profiler session – of a Spring + Hibernate web-app running within JBoss. Quite interesting to see how the business logic is …
The browser bugs and edge cases of HTTP/2 push
There are lots of edge cases I hadn't considered, and it's very inconsistent between browsers. Here's what I found…
Please Stop “Fixing” Font Smoothing (2012)
I wrote two posts on the topic of WebKit font smoothing before, but unfortunately the situation has grown worse since then. In allowing the designer to pick their own font smoothing mode with the -webkit-font-smoothing CSS property, WebKit developers have opened up an opportunity for typographic abuse, namely, the…
Google HTML/CSS style guide suggests omitting head and body tags
Style guides for Google-originated open-source projects
Airbnb’s Server-Driven UI System
How Airbnb ships features faster across web, iOS, and Android using a server-driven UI system named Ghost Platform 👻.
Various ways to include comments on a static site (2018)
Overview of different techniques to implement comments using a static site generator.
The State of HTML5 Audio
When I started to work on my JavaScript Game Engine back in October 2009, the biggest problems I encountered were with the new HTML5 Audio Element. The Canvas Element already worked nicely in all browsers that supported it at the time, albeit some were a little slow.
Rails 8.0 Released
Deploying modern web apps – with all the provisions needed to be fast and secure while easily updateable – has become so hard that many developers don’t dare do it without a PaaS (platform-as-a-service). But that’s ridiculous. Nobody should have to pay orders of magnitude more for basic computing just to make…
Intelligent Tracking Prevention 2.1
Note: Read about past updates to this technology in other blog posts about Intelligent Tracking Prevention, and the Storage Access API.
Why did infinite scroll fail at Etsy?
My point is not that infinite scroll is stupid. It may be great on your website. But we should have done a better job of understanding the people using our website” – Dan McKinley, Principal Engineer at Etsy A few weeks ago, Etsy engineer Dan McKinley gave a talk on “Design for Continuous Experimentation.” It’s …
The Web Developer's SEO Cheat Sheet
You’re an SEO. You’ve mastered Moz’s starter guide to Search Engine Optimization . You deal with botched site migrations, messy title tags across thousands of pages, earth-shaking Google algorithm changes, and more on the daily. Who would have thought that one of the toughest parts of your job would be getting your…
ArXiv now offers papers in HTML format
arXiv’s goal is equitable access to scientific research for all – and to achieve this, we have been working to make research papers more accessible for arXiv…
Firefox Now Available with Enhanced Tracking Protection by Default
It’s been several weeks since I was promoted to Senior Vice President of Firefox, responsible for overall Firefox product and web platform development. A
Old CSS, New CSS
I first got into web design/development in the late 90s, and only as I type this sentence do I realize how long ago that was. And boy, it was horrendous. I mean, being able to make stuff and put it online where other people could see it was pretty slick, but we did not have very much to work with. I’ve been taking for…