Top all-time · #340
Steve Souders
Personal blog · stevesouders.comprogrammingweb
Steve Souders writes High Performance Web Sites, a personal blog at stevesouders.com about programming and web. Since 2008, 157 different Hacker News readers have linked it 232 times, most often “HTTP Archive: jQuery”. The last post was in 2017, but the archive is still widely read.
Sometimes recommended · 8 of 40 sampled comments recommend it?
Why HN links it
HN readers link Steve Souders' posts on front-end performance, caching, CDNs and CSS selectors, and cite his HTTP Archive data on jQuery caching.
- Recommended for · 8 comments
- Called 'the best post I've seen', 'pretty informative', 'good' and 'old but still relevant'; one commenter calls a talk 'great'.
Summarised by Claude from a sample of 40 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- HTTP Archive: jQuery13 people · 15 mentions · first linked 2013-03-19
- IE7 & IE8 will download stylesheets twice if the url scheme is missing6 people · 6 mentions · first linked 2010-09-21
- Simplifying CSS Selectors5 people · 5 mentions · first linked 2010-03-09
- Performance Impact of CSS Selectors5 people · 5 mentions · first linked 2009-03-11
- Steve Souders - High Performance Web Sites4 people · 4 mentions · first linked 2009-04-14
- The Performance Golden Rule4 people · 4 mentions · first linked 2012-02-11
- Rules for Faster-Loading Web Sites4 people · 4 mentions · first linked 2009-03-13
- Don’t use @import4 people · 4 mentions · first linked 2009-04-13
- High Performance Web Sites: Crockford, webhosting, online dating, JSON, alert3 people · 3 mentions · first linked 2009-12-10
- Loading Scripts Without Blocking3 people · 3 mentions · first linked 2009-04-30
What Hacker News says?
You can, but that can cause issues with browser caching ( http://www.stevesouders.com/blog/2008/08/23/revving-filename... ) and in any case I prefer the cleaner urls :-) Plus, once it's configured you never have to worry about it again.
Comment linking /blog/2008/08/23/revving-filenames-dont-use-querystring/
on “Thank HN: From Google form to $1k in revenue in one month”Submitted Cache Them If You Can as a story · 136 points
HN discussionthe reason why I prefer to use a cdn is because it is a games theory example come to life here - if everyone used the cdn version then any user coming to your site would most likely have the cdn version in their cache and thus performance would go up, but if you use the cdn version and your competitors don't their performance is slightly better than yours and so on and so forth. Games theory indicates that in most g…
Comment linking /blog/2013/03/18/http-archive-jquery/
on “The average size of Web pages is now the average size of a Doom install”Submitted Steve Souders: Announcing the HTTP Archive as a story · 84 points
HN discussionHundreds of comments yet not one questions the fact that the premise of the article might be flawed. They're using "onload" event times and calling this "webpage speed" (there's no such thing as webpage speed btw[0]). It's especially known onload is not a very reliable metric for visual perception of page loading[1] (visual perception of loading = what most think of as "page speed"), that's why we have paint metrics…
Comment linking /blog/2013/05/13/moving-beyond-window-onload/
on “In spite of an increase in Internet speed, webpage speeds have not improved”Submitted Don’t use @import as a story · 75 points
HN discussionMy understanding is that performance is a negligible factor next to maintainability when writing CSS in virtually all cases. The best post I've seen on the subject is by Steve Souders[0], which does include some numbers. [0] http://www.stevesouders.com/blog/2009/03/10/performance-impa... Further reading: http://csswizardry.com/2011/09/writing-efficient-css-selecto... https://developer.mozilla.org/en-US/docs/CSS/Writ…
Comment linking /blog/2009/03/10/performance-impact-of-css-selectors/
on “An Advanced Guide to HTML and CSS”Submitted Google Maps - Diffable: only download the deltas as a story · 69 points
HN discussionAs far as Google goes, the easiest place to get better end-user latency/performance (2x-3x) is ... fixing the JavaScript. I'm being totally serious. Backends are generally fast, and the backend engineers are performance-minded. Front end engineers are not as cognizant of performance (somewhat necessarily, since arguably they have a harder problem to solve). Back in the mid-2000's, Gmail/Maps/Reader days Google had a…
Comment linking /bio.php
on “Ask HN: What was the best CS paper you read in 2017?”Submitted High Performance Web Sites: Crockford, webhosting, online dating, JSON, alert as a story · 68 points
HN discussionFirstly, thanks so much for starting to work on this! Let me suggest a few things: * I'm confused as to why you're using tables for layout? Might want to consider something more modern, and use tables just for tabular data, and use divs, classes, and CSS for handling the layout: http://learnlayout.com/ You can get a lot done without using tables and <center> tags, etc. * The width on your table is 85%, why not 100%?…
Comment linking /blog/2013/05/09/how-fast-are-we-going-now/
on “Ask HN: New attempt at mobile markup – keep or bail?”Submitted Forcing Gzip Compression as a story · 47 points
HN discussionI used to describe myself as a web standards evangelist ten years ago and my first instinct when I saw React (both because of JSX and because it was from Facebook) was to laugh and shake my head (until I decided to "give it five minutes" and found out I was wrong) so I hope my perspective could make some sense to you. -- Just to clarify: React is not about killing the separation of concerns. React is about one thing…
Comment linking /blog/2010/09/30/render-first-js-second/
on “What is a coder's worst nightmare? (2014)”Submitted HTTP Archive: past and future as a story · 37 points
HN discussionUsing 3rd party CDNs, like Google Hosted Libraries, are often slower anyway. http://www.stevesouders.com/blog/2013/03/18/http-archive-jqu...
Comment linking /blog/2013/03/18/http-archive-jquery/
on “How a banner ad for H&R Block appeared on Apple.com without Apple’s OK”Submitted Who’s not getting gzip? as a story · 37 points
HN discussionYou should avoid including script tags in the head because it introduces single points of failure in your app. Losing a few ms of 'analytics' time is better than providing your users with a broken site because your analytics scripts (or any other hosted JS files) didn't load and waited 5-15s to timeout (depends on browser). Steve Souders gives a great talk on this: http://www.stevesouders.com/blog/2010/06/01/fronten…
Comment linking /blog/2010/06/01/frontend-spof/
on “Enough with the JavaScript already”Submitted Silk, iPad, Galaxy comparison as a story · 30 points
HN discussionhttp://www.stevesouders.com/blog/2009/11/11/whos-not-getting... (just googled your post, this was pretty informative)
Comment linking /blog/2009/11/11/whos-not-getting-gzip/
on “How to build a news app that never goes down and costs you practically nothing”Submitted Storing Javascript in comment tags and later eval'ing it as a story · 28 points
HN discussionHow does this ( http://37signals.com/svn/posts/3112-how-basecamp-next-got-to... ) get to be number one, while this http://www.stevesouders.com/blog/2012/02/10/the-performance-... goes nowhere? Are we upvoting simply by name recognition? http://stevesouders.com/about.php He only wrote the book on high performance web sites... http://www.amazon.com/High-Performance-Web-Sites-Essential/d...
Comment linking /about.php
on “Stop Paying Your jQuery Tax”Submitted Performance Impact of CSS Selectors as a story · 23 points
HN discussionThis linked article is good: the Performance Golden Rule http://www.stevesouders.com/blog/2012/02/10/the-performance-... (submitted days ago but got no traction) For years we have been told that we will have to wait on the database so it doesn't matter how fast your implementation language is... Well it's half true, depending on what you consider your implementation language: server side or client side. Front end pe…
Comment linking /blog/2012/02/10/the-performance-golden-rule/
on “Stop Paying Your jQuery Tax”Submitted Firebug Lite 1.2 Released (Opera, Safari, IE supported) as a story · 21 points
HN discussionBut only for uncached resources - see Eric Lawrence's comment: “Internal to Trident, the download queue has “de-duplication” logic to help ensure that we don’t download a single resource multiple times in parallel. Until recently, that logic had a bug for certain resources (like CSS) wherein the schema-less URI would not be matched to the schema-specified URI and hence you’d end up with two parallel requests.” http:…
Comment linking /blog/2010/02/10/5a-missing-schema-double-download/
on “Firefox 23 will block non-SSL content on SSL pages by default”Submitted Making the HTTP Archive Faster as a story · 20 points
HN discussionI've been working in the performance industry (focusing on front-end performance and UX) for 15 years. Some resources you might find helpful: • Steve Souders' books 'High Performance Web Sites' & 'Even Faster Web Sites' – https://stevesouders.com/ – Steve literally wrote the book(s) on performance and is widely considered the godfather of the industry. • WPO stats – https://wpostats.com/ – Case studies and experimen…
Comment linking /
on “Ask HN: How can I learn about performance optimization?”Submitted Top Mistakes of Massive CSS as a story · 15 points
HN discussionThis code is very inefficient: .autobot > * { margin: auto; } Browsers match CSS selectors right-to-left. Because there is a * at the end, this rule has to be matched against every element. More info: https://stackoverflow.com/questions/5797014/why-do-browsers-... https://www.stevesouders.com/blog/2009/06/18/simplifying-css...
Comment linking /blog/2009/06/18/simplifying-css-selectors/
on “Centering in CSS”Submitted User Agents in the morning as a story · 14 points
HN discussion