Live data from Hacker News

Ex-YouTube Man Builds Graphics Card for Entire Internet

wired.com

21–30 of 36 posts

Re: Ex-YouTube Man Builds Graphics Card for Entire Internet

#21
post #10

Is this really such a hard problem to solve? Something like littleutils can easily solve this, no? http://littleutils.sourceforge.net/ Also what does this has to do with being "graphics card for the entire internet"?

I don't think littleutils does much more than optimize images, which is pretty different from: http://www.imgix.com/docs/urlapi

Resizing or optimizing images, in isolation, is not a hard problem. I've solved subsets of this problem a handful of times before, and I could do it again, but I gladly pay for imgix. The time and headaches saved are easily worth it. The next time I have to rely on ImageMagick will be too soon.

Re: Ex-YouTube Man Builds Graphics Card for Entire Internet

#22
If you're considering the DIY server-side image resize route, here's a good list of options:

  https://github.com/adamdbradley/foresight.js/wiki/Server-Resizing-Images
... and a comparison of benchmarks – ImageMagick vs. competitors like the very fast, low memory VIPS:

  http://www.vips.ecs.soton.ac.uk/index.php?title=Speed_and_Memory_Use

Re: Ex-YouTube Man Builds Graphics Card for Entire Internet

#23
post #7

I tried imgix for thumbnails in a web photo album. It was much slower (higher latency) and double the price per bandwidth of Amazon Cloudfront. In general, then, resizing all the images in advance and serving them from a traditional CDN offers a better experience at a better price. Only if that's impossible is imgix a good choice. Being a premium CDN seems a bit like being a premium credit card processor -- as custom…

I think that "double the price per bandwidth" figure is way off – where did you get that? imgix pricing looks to be about a 30% premium over the US CloudFront pricing, and much less than that internationally (imgix doesn't appear to distinguish).

Re: Ex-YouTube Man Builds Graphics Card for Entire Internet

#24
post #10

Is this really such a hard problem to solve? Something like littleutils can easily solve this, no? http://littleutils.sourceforge.net/ Also what does this has to do with being "graphics card for the entire internet"?

I thought the same thing. I think this would be hard to do at scale and they offer quite a lot more features than most would need (sepia tone filter). I couldn't personally see paying for re service, but obviously it must be useful to others.

Re: Ex-YouTube Man Builds Graphics Card for Entire Internet

#25
post #14

> when someone visits the site, imgix will deliver the appropriate photos and, in need be, reformat or resize them. If someone visit your site with an Apple iPad, the service can instantly reformat an image for the tablet’s “Retina” display. I didn't see any documentation about this on their site. Can they deliver, via a single URL, differently sized images for mobile vs desktop? This is one of the biggest headaches…

We have a service similar to imgix (thumbr.it). The way we serve retina images is that you add @2x to the name of the images with JS, and when we see the image name ends with @2x we serve double the size you requested (see http://thumbr.it/api/documentation/#retina ). I guess the imgix guys do something similar. Serving different images with exactly the same URL is tricky because it will confuse the cache.

Stupid question: are you just doubling every pixel of a non-retina source for the @2x images? Does that really provide any extra clarity on a Retina display (beyond setting the proper size of the image?) Or are you actually starting with an @2x image and halving it for non-2x default?

Re: Ex-YouTube Man Builds Graphics Card for Entire Internet

#26
post #16

I host large images between 500k and 700k. I store the original image along with 4 different resized versions. The resized images on average account for 35% of disk space. I store about 300GBs of images. The resized versions take up about 100GBs of the 300. If I were to then to add retina versions (2x) of each thumbnail, I might be running at 70%+ disk space being used up by thumbnails. imgix is very interesting, as…

how 300GB is storage problem? I would understand if you say 300TB , but with 2TB HDD < 100$ and 0.5TB SSD < 400$ I can't really see that a major use case. And that is one time fixed payment.

Re: Ex-YouTube Man Builds Graphics Card for Entire Internet

#27

Earlier quoted context omitted.

We have a service similar to imgix (thumbr.it). The way we serve retina images is that you add @2x to the name of the images with JS, and when we see the image name ends with @2x we serve double the size you requested (see http://thumbr.it/api/documentation/#retina ). I guess the imgix guys do something similar. Serving different images with exactly the same URL is tricky because it will confuse the cache.

Stupid question: are you just doubling every pixel of a non-retina source for the @2x images? Does that really provide any extra clarity on a Retina display (beyond setting the proper size of the image?) Or are you actually starting with an @2x image and halving it for non-2x default?

The retina modifier is only useful when you request a smaller thumbnail than the original.

So your original may be 1000x1000px, you use a 128x128 thumbnail on your regular (non-retina) site, and you serve 256x256 thumbnail to your retina users.

If your original image is small then there is nothing to do.

Re: Ex-YouTube Man Builds Graphics Card for Entire Internet

#28
post #10

Is this really such a hard problem to solve? Something like littleutils can easily solve this, no? http://littleutils.sourceforge.net/ Also what does this has to do with being "graphics card for the entire internet"?

>Is this really such a hard problem to solve?

I must be misunderstanding because resizing an image, rotating it or many other basic operations consists of about 5 lines of .NET code and very little processing power. I imagine it's not any more difficult in other frameworks. I couldn't conceive of offloading that to an external service under just about any use case.

It seems like they plan to offer video editing via SaaS as well which is more valuable, but I would think the transfer time and bandwidth would kill any speed improvement over a massively parallel SaaS video editor as opposed to using a local open source library.

Re: Ex-YouTube Man Builds Graphics Card for Entire Internet

#29
post #19

“We just couldn’t crunch those images down to a smaller size,” Zacharias remembers. “It would have taken a significant amount of Google’s entire processing power just to do that.” What? Processing a thumbnail is insignificant compared to processing a video - in fact it's on the same magnitude as making a single frame of video... Maybe Google uses a lot of hardware encoders for YouTube? In any case, I can't believe th…

Not to mention they could just do lazy initialization; most youtube thumbnails will never ever be viewed, so you don't have to convert them until they are needed.
Post reply on HN