New
The latest blog posts to take off on Hacker News. 4,615 posts.
The web's original sin
What do a recent A List Apart article , the ad blocker discussion of a few months back, and my browser testing plans have in common?
A technical guide to SEO
Complete technical SEO checklist covering HTTPS, meta tags, sitemaps, robots.txt, page speed, duplicate content, and Google Webmaster Tools setup.
Trackers
A couple of weeks ago I went to the local shopping centre looking for a thermometer. After entering one store upon leaving without buying anything a tracker was assigned to me. I didn’t think much of it at first, but he followed me dutifully around the shopping centre, took careful note of how I walked. Whenever I…
Frameworks Don't Make Much Sense
Frameworks are one of the hugest anti-patterns in software development. They're hard to learn. They limit your creativity. They increase your project's complexity and dependencies. They go out of business and get abandoned. You have to maintain and upgrade your code to match the latest framework versions for no good...
Pencil: A Microframework Inspired by Flask for Rust
Just create the static folder under your application root path, it just works. Now you can visit http://localhost:5000/static/example.png and get your file. You can customize the static folder and static url path.
How I could have hacked any Facebook account
Note: This is being published with the permission of Facebook under the responsible disclosure policy. The vulnerability is now fixed. ...
How Changing WebFonts Made Rubygems.org 10x Faster
WebFonts are awesome and here to stay. However, if used improperly, they can also impose a huge performance penalty. In this post, I explain how Rubygems.org painted 10x faster just by making a few...
The Sad State of the Backbone Ecosystem
For the past 2 years, ~90% of my coding time has been spent working on a large scale Backbone.js app. In February 2014, the Backbone community was in a fairly good place. The core library had reached 1.0 the previous year and had a strong team around it. Marionette had emerged as a de-facto standard for web…
Widespread XSS Vulnerabilities in Ad Network Code
For most of us, the title of this post may not be very surprising. Any time we allow 3rd party scripts to run on our sites, we effectively relinquish control of the code that executes on the client. This is particularly important when integrating ad network scripts since they are inherently more dynamic than most…
A love letter to jQuery
A very tongue-in-cheek article about why jQuery is good for the web.
Upgrading from React 0.11.2 to 0.14.7 in 347 easy steps
Today I set out to the task of upgrading a set of views crafted with the React library. The upgrade was necessary because one part of a view using React stopped working in Chrome Version 48.0.2564.116 (64-bit). I don’t know why this happened, I didn’t find anything related to it and as it stands this was probably the…
Twitter's missing manual
I mentioned recently, buried in a post about UI changes, that Twitter’s latest earnings report included this bombshell: We are going to fix the broken windows and confusing parts, like the .@name syntax and @reply rules, that we know inhibit usag
The New Web Typography
How should we go about making typographic laws, rules and guidelines for the web?
301 redirects: a dangerous one way street (2012)
Best practice has it that when you move content around for whatever good reasons you have that you should do it using a 301 redirect.
Nginx: a caching, thumbnailing, reverse proxying image server
A month or two ago, I decided to remove Varnish from my site and replace it with Nginx's built-in caching system . I was already using Nginx to proxy to my Python sites, so getting rid of Varnish meant one less thing to fiddle with. I spent a few days reading up on how to configure Nginx's cache and overhauling the…
Why I stopped using StartSSL (Hint: it involves a Chinese company)
StartSSL uses https://auth.startssl.com/ for the front-end to access to their PKIs (login to the PKI, create, revoke certificates...). It's the Core of their service and the critical part of their infrastructure.
Learn Raw React – No JSX, No Flux, No ES6, No Webpack
Learn React from the ground up, without worrying about JSX, Flux, ES6, Webpack, etc.
We Have Always Been at War with UI
A familiar story: company makes product, product becomes wildly popular, company royally fucks product up. The most recent example of this is TimelineGate, but it’s something I’ve had on my mind for a while. Thus I present to you a list of complaints about personally-inconvenient UI changes, carefully disguised as a…
Towards an Open Banking API Standard
Disclaimer: I am a member of the Open Banking Working Group (OBWG) and was involved in drafting the OBWG report. However, the thoughts and opinions presented here are strictly my own. The OBWG̵…