HNHacker News
TopNewBestAskShowJobs

igrigorik

5,399 karma · joined April 2, 2007

http://www.igvita.com/

[ my public key: https://keybase.io/igrigorik; my proof: https://keybase.io/igrigorik/sigs/eMcFb-lAFqkBGZKfdzJcQrC5a2dTBj_8cTAQqsXUhaE ]

submissionscomments
igrigorik··on HTML5 Features you need to know
You can see if pre-rendering is being triggered in chrome://net-internals#prerendering.

See: http://www.igvita.com/posa/high-performance-networking-in-go...

And "yes": https://www.evernote.com/shard/s1/sh/0f3592b8-d72c-40f7-9bbf...

igrigorik··on HTML5 Features you need to know
Correct on both counts.. Pre-fetching DNS names for origins not on the page is, indeed, a nice use case - redirects are a good example. Similarly, embedding a <link rel=dns-prefetch> in the head will trigger an early DNS lookup, which can, in fact, deliver big latency savings -- you would be surprised how slow DNS lookups are in practice.

Last but not least, AFAIK, I'm not aware of any logic to group DNS-prefetch hints or similar strategies when running over TLS.

igrigorik··on HTML5 Features you need to know
http://chimera.labs.oreilly.com/books/1230000000545/ch10.htm...

Scroll down for list of browsers (and versions) that support prefetch / prerender / and other hints.

igrigorik··on HTML5 Features you need to know
Yep. Prefetch != prendering. Prefetch only fetches the single resource, and is meant as a "post load" hint. Whereas prerendering fetches the entire page, and all of its assets.

http://chimera.labs.oreilly.com/books/1230000000545/ch10.htm...

igrigorik··on Speed up your sites with PageSpeed for Nginx
Yep, it'll concatenate files, minify them, etc., all the things you would expect. Perhaps the only caveat is: it doesn't do any dependency management, etc., which sprockets provides (if you actually use that part of it).
igrigorik··on Speed up your sites with PageSpeed for Nginx
Yup, in fact, that's exactly how ZippyKid integration is setup: https://www.zippykid.com/2013/04/23/partnership-with-google-...

It doesn't matter if the files are local or remote, ngx_pagespeed can fetch from both. Some docs on related functionality: https://developers.google.com/speed/docs/mod_pagespeed/domai...

igrigorik··on Speed up your sites with PageSpeed for Nginx
You can see the complete list of filters (40+) here: https://developers.google.com/speed/docs/mod_pagespeed/confi...

Note that docs above are for mod_pagespeed (Apache), but all of the same filters are available in nginx port as well - it's the same C++ code under the hood. In a nutshell: HTML, CSS, JS, and image optimization (resizing, recompression, WebP, auto-spriting, etc...)

Configuring ngx_pagespeed: https://github.com/pagespeed/ngx_pagespeed#how-to-use

igrigorik··on Facebook tries Google's WebP image format; users squawk
Actually: https://chromiumcodereview.appspot.com/13814024 :-)
igrigorik··on Facebook tries Google's WebP image format; users squawk
This is slightly orthogonal, but still worth mentioning: there is WebP codec available for Windows, which adds WebP support in explorer and all the other common tools. Download page: https://developers.google.com/speed/webp/download
igrigorik··on Facebook tries Google's WebP image format; users squawk
We just landed "image/webp" in Accept header in Chrome, behind a flag.. Opera already advertises WebP support in their Accept header. So, with that in place, it should make things a lot simpler (although it doesn't solve the Save As case).
igrigorik··on Facebook tries Google's WebP image format; users squawk
A good discussion on this here: https://groups.google.com/a/chromium.org/forum/#!msg/chromiu...
igrigorik··on Blink: A rendering engine for the Chromium project
Yep, tips for where and how to engage with the project: http://www.chromium.org/blink#participating
igrigorik··on Blink: A rendering engine for the Chromium project
https://chromium.googlesource.com/chromium/blink
igrigorik··on Blink: A rendering engine for the Chromium project
cough web components cough
igrigorik··on Blink: A rendering engine for the Chromium project
Starting today new dev work will go into Blink repo. So, effectively, today.
igrigorik··on Blink: A rendering engine for the Chromium project
Not at all. iOS version uses UIWebView, but all the rest is Chrome code.
igrigorik··on Blink: A rendering engine for the Chromium project
Nope, no changes for Chrome for iOS: current version already uses UIWebView and will continue to do so. The rest of the infrastructure (networking, etc), is Chrome code.
igrigorik··on Data compression proxy for Chrome for Android (beta)
Nexus 7 incompatibility appears to be a bug... stay tuned.
igrigorik··on Data compression proxy for Chrome for Android (beta)
Specify "Cache-Control: no-transform" on assets that need to be skipped.
igrigorik··on Data compression proxy for Chrome for Android (beta)
PageSpeed optimization libraries (under the hood): https://developers.google.com/speed/pagespeed/psol
igrigorik··on Data compression proxy for Chrome for Android (beta)
The IP address of the visitor is forwarded in X-Forward-For, which is a standard header and CDN's can leverage that. Having said that, note that this can actually work against you.. The whole idea is that all of the requests are multiplexed over SPDY between the device and the proxy. So you actually want the closest resource to the proxy, not to the device (and the proxy as close to the device as possible, of course.. :))
igrigorik··on Data compression proxy for Chrome for Android (beta)
"note that secure connections (HTTPS) are routed directly from your mobile device to the destination, bypassing the optimization proxy – only HTTP requests are routed through and optimized by the proxy. Further, the use of the service does not require a Google account; navigation in incognito tabs bypasses the proxy; original IP address of your device is forwarded to the destination via the X-Forwarded-For header – the data compression service is a transparent proxy."
igrigorik··on Data compression proxy for Chrome for Android (beta)
You have to explicitly enable it in chrome://flags - the default is off. So, yes, there is definitely an opt out!
igrigorik··on WebKit for Developers
For context, check out the video of the presentation where I made this point: http://www.youtube.com/watch?v=kiPe7DPmEgE.

TL;DR: to build efficient applications in the browser, you do need to understand how the browser works. Just like understanding how an operating system works will help you design good applications for the OS (especially when it comes to performance).

igrigorik··on WebSocket proxy support added to nginx trunk
One word: SSL. Works well, and reliably with websockets.
igrigorik··on High Performance Networking in Google Chrome
Right. The "browser kernel" process, which is the coordinator for all the network activity, and a dozen other things.
igrigorik··on High Performance Networking in Google Chrome
Yup! In fact, I didn't cover it in the writeup, but Chrome and other browsers already do this kind of thing on multiple layers: IPv4 and IPv6 (see Happy Eyeballs), plus to recover from lost SYN's.
igrigorik··on High Performance Networking in Google Chrome
It already exists! And works very well! Check it out: http://code.google.com/p/chromiumembedded/
igrigorik··on Nokia hijacking HTTP traffic on phones?
No, you missed my point. Read the article I linked. With a proper HTTP/HTTPS proxy + CONNECT handshake, you still have the full end-to-end integrity of the connection. The proxy acts as a simple TCP relay.
igrigorik··on Nokia hijacking HTTP traffic on phones?
There is a good chance (going on faith), that everything is fine: if they are running a secure HTTP proxy, then all of your data is safe. The only thing they would know is the IP / hostname of the site you're connecting to. Unfortunately, can't tell from that writeup if that's the case - and it's not an easy thing to test. Would be nice for Nokia to confirm, or deny...

AFAIK, Chrome is the only desktop browser that supports HTTPS proxies: http://www.igvita.com/2011/12/01/web-vpn-secure-proxies-with...

It would be nice to get wider adoption for this.. Perhaps Nokia has it! :)

---

[Update] It is MITM, but for S40 browser only, which does server-side rendering:

- http://browser.nokia.com/s40-browser.html - http://www.developer.nokia.com/Community/Wiki/Series_40_web_... (look under architecture)

Same story as Opera Mini.

← PreviousPage 3 of 7Next →