Hacker News new | comments | show | ask | jobs | submit login
Don’t break the Internet with your Javascript (olark.com)
96 points by bdimcheff 1910 days ago | hide | past | web | 32 comments | favorite

The point of that blog post is that sites should track the client-side errors that occur. It's hardly a new idea, but is worth repeating since so few people still seem to do it.

Remember folks, for apps that use the back-end as a JSON service, nearly all the code is running on the client. If you have no feedback about errors, you are assuming your 15 minutes of testing with Safari on a Macbook is representative of the entire Internet including that guy with IE7 on XP with the Bing Toolbar. It's not a good bet.

They mention tinyfeedback but there is also DamnIT and the YC-funded proxino.

"All requests are status 200, boss. We're doing great!"

Our java engine (Jetty) logs 200s even when it's generating 500s.

Learn me to trust my own fucking logs, will you.

One of the more useful monitoring tools I've got is a simple shell-wrapped "HEAD" script that polls our cluster and reports an "OK" or "ERR" (slow responses trigger a "Hrm..", along with the current, median, and standard deviation of the response, and total error counts. That sits in an omnipresent, always-on-top small-font terminal window.

Something like:

      2012-03-30 12:03   i=9948
    Host    Status  Cur   Med   sd     Err
    www     OK      0.22  0.24  0.44    6

That is the basic mechanism behind load-balancer healthchecks.

That and connection tracking.

Is hashmonitor open source or going to be open sourced?

Seems like it would be a really useful contribution to the JS development community to make this available for everyone to use.

For sure! I'd really like to - just didn't have time to extract it out this week :) To be useful, you will probably want the collection components too. Maybe some weekend hacking...

Nice and fast, Thanks - https://github.com/olark/hashmonitor :)

Great. Looking forward to this.

Next episode: Don't break your site with HN.

For sure :-), we've had many HN articles, I wonder what was up with wordpress.

Ironically, the logo covers half the text on an iPad.

Had the logo or placement of the logo been a result of JS, that would have been ironic. Your experience was unfortunate, but not ironic.


> We constantly have to ask ourselves: are we causing any issues or slowdowns on our customers’ websites? [sic]

The GP's noting of irony (is that correct?) seems to be valid.

Why the [sic]? Customers' is plural and possessive in this case.

Didn't want people to assume emphasis was mine.

Logo is fixed.

Sorry, but I have my Firefox at about 600px width and your logo still obscures the text. User-agent sniffing won't solve this one, you should do media-queries based on the actual window size.

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

The seem to be backing up their site or something.

Why do I get 2 down votes? I was just pointing out that they are down (they still are)

They know.

"Never tell a person something that they already know. It wastes your time and only annoys others." - Old Farsi Proverb

"Step 1: Find out everything the person you're talking to knows."

Give us a second, the server running the blog was apparently queued for a rackspace migration. Should be golden soon.

Ok, blog is back. Sorry about that guys. I guess we need to add the blog to the, we need two of those list.

Breaking the internet with your javascript sounds a little like the "IP-Tracking in VB-GUI" thing.. wish his blog was a little more stable.


I would go even further to say that, JSON + AJAX != WEB

Like the name or not, it is why we came up with the Web 2.0 moniker. Sending "raw" data over HTTP to a richer client is quite a bit different paradigm to what was envisioned for the web.

Good point.

Oddly enough I went to this on my mobile phone and the site looked broken because the logo that is on the left is square in the middle of the screen. Irony?

Already covered, not irony. Neeext.

Don't break my JavaScript with your Internet

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact