Hacker News new | past | comments | ask | show | jobs | submit login
Coding Horror: Performance is a Feature (codinghorror.com)
168 points by swah on June 20, 2011 | hide | past | favorite | 17 comments

OK, Negative Nellie here:

Do all the popups on Stack Overflow factor into the performance measurements? My last three visits I had a "welcome back ... blah blah blah" popup as well as the orange "you've got a badge or something" popup. I love Stack Overflow, but the popups are distracting. I have a must-close-popups-OCD disorder, so if I measure performance as the time it takes from clicking my bookmark to being able to use the site, it's been in the 5-digit millisecond range.

2nd data point: The popovers drive me nuts. They feel no different than the admin warnings in Windows, or the "Download our app!" on mobile websites: just clutter getting in the way of what I want. The fact that it's confined a narrow strip at the top makes zero difference.

They're annoying because similar to modal windows, they elicit action (( Welcome Back user! click to reload window->[x])) and it seems they require me to reload my page every time I return due to the use of OpenID (ppl ask why it's cumbersome? here's why... and stackoverflow has the best OpenID implementation I've used)

Personally, I wouldn't mind if it weren't for the fact that popups seem to mess up the browser positioning on url fragment ids. The popups seem to guarantee to pop up over the top line of the fragment that was in the link you've just followed, so you're forced to either close the popup or scroll the web page to read the content that you came to read.

Needless to say, this doesn't enhance the user experience.

I agree, the badge and comment pop-ups are useful, yes, but when I'm not logged in (which seems to be most of the time as Chrome on Linux simply cannot remember me (cookies enabled)) the "hello guest" pop-ups are just unnecessary.

However the "Welcome back [user], click to refresh" is incredibly useful, because of my cookie issue.

With AdBlock and NoScript running, I never see any popups when I do follow a link to Stack Overflow.

Hate to fall into "Me too" category, but you know what happens with these things: some dev somewhere says "well that doesn't happen for me" and nothing gets done about it. Just want to help point out ... YES it is annoying and YES it does happen.

> but the popups are distracting.


I block 'em with Adblock's Element Blocker, but I wish Jeff would just get rid of them. Very annoying.

The entire #3 really hits home for me. A couple weeks ago I started using New Relic and was just horrified by how bad my code had degenerated over the last 2 years... all those changes you make do have a cost, and in hindsight "it's fast for me" does not necessarily extend to others.

I've always looked at scaling Playtomic to involve the crapton [1] of data we're processing every minute of every day - cause that's obviously where the "real work" is, handling a huge stream of data that needs processing. It turned out the web interface for heavier users was ridiculous [2], heavier users with dozens of games had in extreme cases double-digit seconds on some of the stuff which is just embarrassing.

In the last couple weeks I've reduced our main server (we're still ghetto so it's database + web) cpu usage from 80% down to ~20% and made staggering improvements on the speed of reports - down to xx milliseconds in most cases, from some really ugly times [3].

[1] http://playtomic.com/blog/post/64-whats-in-a-minute

[2] http://playtomic.com/blog/post/62-scaling-the-user-side-of-p...

[3] http://i.imgur.com/bdUG4.png

Tangent: How does the data transfer from your server to new relic work? There's very little data on their website that I could find...

I'm not sure about the method, but it sends the data to collector.newrelic.com and collector0 through 8., pretty much the whole thing was completely automatic and zero configuration except for double clicking the installer exe.

Edit, actually here we go (about 1/2 way down):


By default, data is transmitted in the clear from your site to our site. There is an option flag (ssl) in the newrelic.yml file to enable the use of HTTPS. We don't do host authentication with HTTPS, just communication encryption.

Under Java, .NET and PHP we use JSON to serialize data. The Ruby agent uses Ruby marshaling to send data to New Relic and we marshal return codes back. We believe the risk exposure from marshaling is low.

The Agent communicates with two hosts: collector.newrelic.com and one of collector[0-8].newrelic.com, where the numbered host is fixed for your account. Which numbered host your account uses is displayed in the log/newrelic_agent.log at startup.

Sounds great! But still, I'd love some more information before installing this on production. Thanks anyways for the pointer, hadn't come across them before!

Edit: Thanks for that too! :-)

Chat with their live support - it really is an incredible platform.

I have a hard time believing 100ms is a serious issue unless the page is already over 1 second to be in a "ready" state.

I think the rarely discussed "time to first render" (for lack of a better word in my head - NOT domcontentloaded) is critical and part of that is the penalty for DNS cache miss which can already be up to 400ms in some cases.

Basically when people click, they want the browser to "do something already".

If you want easy ways to make your page to feel faster then stop loading javascript by default and do it after the page is loaded and don't load images below the fold by default - do all that in the background afterward.

All the CDN in the world won't help you if you have 10+ external javascripts, multiple stylesheets, and dozens of images loading on the page.

While it is hard to believe that 100ms will actually matter, it is precisely what both Amazon and Google found out when they studied latency sensitivity in users. Research is not only about confirming what we already believe, sometimes one actually gets surprising results :) Read the studies linked from the article for more details.

You're right, but notice that adopting a CDN was the last thing on the Yahoo list they'd left undone.

That list includes reducing the number of file loads, paying attention to DNS overhead and so on.

From this I deduce that SO has already taken your advice.

There's nothing that speeds up a website like well-spent unicorn dollars.

Applications are open for YC Winter 2023

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact