xvid is decoded in software on the systems you mention, and that means it uses a lot of battery or mains power for this. There are ARM processors that now include hardware decoder for h264 and these processors will appear in devices as they become cheaper due to volume of sales.
I never said xvid is dead, I quite like it myself, but when I do backups of DVDs it's way easier (for me) to just encode with h264 and then mux the original soundtracks and subtitles with the h264 video into a MKV file. AVI doesn't do that (it's not capable) and that's why Handbrake decided to drop it as an output container.
Most recent video cards have dedicated chips on the board that decode the h264 video in hardware. Not so many recent video cards can do the same for XVID or DIVX (same thing, it's MPEG4-ASP or part 2). You can buy now ATI 4xxx series cards on AGP slot for your PIII system and you'll probably be able to run 720p smoothly and maybe even 1080i/p. You can't say the same for these high resolutions and xvid/divx. The beauty of h264 is the ratio between bitrate and resolution - while you can have a good quality 720p at 2mbps, you'd need at least 3.5 - 4 mbps for the same result with xvid.
AVI is used in digital camers because it's extremely easy to program a very basic writer for it. Most digital cameras create videos compressed in Motion-JPEG and uncompressed audio.
When it only has some basic settings like changing frame rate and resolution, the code inside the digital camera just reads about 2 KB of data from memory, changes the values for resolution and framerate in the bytes, writes the bytes to card at the beginning of the file and then alternates a frame of video and a frame of audio until the end of the recording, where it writes an index with the positions of each video and audio frame in the file.
So it's all about minimum processor usage - the motion jpeg frames come already prepared from the hardware chip and dumped in memory, from where they're just dumped to the SD card, and there's no library required to be included in the digital camera software.
Keep in mind that a regular 100$ camera has about 1-4 MB of flash for firmware and software and up to 64 MB of ram for processing images so sometimes you don't have 100-300 KB of space to include libraries that add support for MKV or MP4 containers.
Regular Virtualdub and Avisynth have no problems processing these AVI files with Motion-JPEG compressed frames.
The exact path to the video can be determined from the video ID.
HD and HQ versions are MP4 files with h264 (MPEG4-AVC) as video codec, AAC or MP3 as audio codec. Regular video versions are FLV files with VP6 as video codec and MP3 as audio codec. VP6 I believe is kept for some platforms that don't have hardware decoding for h264 (so decoding is too hard for those).
While VLC can upload each frame of the movie as a texture on the video card and then use the video card to resize the image and apply effects on it (like deinterlacing), in Flash this is not possible, because the Flash plugin has to keep be able to apply vector art, text, images, subtitles over the video frames, round corners, transparency on the video and so on and so forth... it has to be able to treat each video frame as a layer in a stack of layers on the screen, just in case user programs something needing those extra layers. So basically Flash isn't just video playback.
300.000$ was the sum of all the money coming into his Paypal accounts for 2-3 years while the site was running. That also includes money he may have received from eBay bids, wages, freelancer work and so on.
Google doesn't require an invite because they can afford thousands (literally) of servers in about 12 datacenters in various parts of the world and they finance these servers from ads.
Oink didn't have ads and if Oink would have allowed unlimited numbers of users, the number of servers would have gone to the roof - with 200k users it already had about 2 web frontend servers and about 3 database servers, I think. That's 5 powerful servers with about 300 pounds monthly costs each (think dual xeon with 8 Gb of memory and 10k hard drives, expensive at that time)
Would you afford paying a full rack with these servers in a datacenter out of your salary? That's why you need either donations, or ads on your service (websites).
and by the way, Oink's purpose and Google's purpose is to find and retrieve copyrighted material. EVERYTHING IS COPYRIGHTED, included this message I write now. The problem is with having permission to distribute the copyrighted work.
Oink didn't restrict you to uploading ONLY material for which you did not have distribution rights (so you'd commit copyright infringement) - you could be for example a DJ or a band and upload your own recordings, or upload public domain records, audio books licensed under Creative Commons.
So the difference between Google and Oink is probably only the percentage of infringing material versus "legal" material - but even so, the percentage of finding illegal distributed works on Google is probably larger but you just don't know it, because you don't know the number of pages it indexes, the number of searches performed, and you can't even know out of those indexed results, which are infringing or not.
The tracker functionality can also be compared to a DNS server...
Just query [32 char hash key].trackerdomain.com, the DNS returns the IP of one of the seeders, you connect to that IP and retrieve from that seeder a list of peers and seeders. Query same domain after a minute, you get another IP, which gives you another subset of seeders and peers and so on.
A tracker is really the same thing with a DNS server - you let a member add host records and you keep his domain but you're not responsible for the content of the subdomains it creates.
If someone creates a subdomain to his domain called "prodigy", it doesn't mean that person will sell or distribute Prodigy cd's or mp3 files from that subdomain, and the dns server owner doesn't have the content in his control, just like a tracker doesn't store the content of the files.
I just use Irfanview, it has selection to copy the whole screen, all desktops (if you have several monitors), the current window, only the client area of the window (no title bar and menus).. and you can set it to do automatically after a number of seconds or when pressing a key combo... i have it set at Ctrl+F11. It also saves automatically to whatever image format you want (i use png) and you can set it to automatically append the time when the screenshot was made to the file name
It's overall much easier, especially when you work with websites that clear the clipboard or other programs with silly copy protections or DRM'ed books (pdf files for example, either remove the javascript or brute force the password if needed or just do print screens and then use OCR to retrieve content)
It doesn't have to be hot, it can be just a pretext... it can be a movie star that maybe has pierced nipples or maybe she had a mastectomy and the TSA employee will be more than happy to sell a picture to TMZ or whatever gossip blog
Not really... it's more like "Specification can be improved and changed as long as our blu-ray drives keep working." Same thing happened with the MVC specification (for 3D blu rays). It was approved only after Sony verified everything would work with the PS3.
Additionally, you can choose to lose the error correction information in favor of more disc space. For each 2048 bytes, there are actually 2352 bytes used on the disc. if you burn a disc in Video CD format, instead of storing error information in those 350 bytes, data is saved - this makes it possible to write about 800 MB on a 700 MB CD (maybe more, i'm not sure) but if you scratch it, the drive will not be able to recover data under that scratch.
Based on this reasoning, I don't see why a 870 MB disc couldn't use the error recovery bytes to store up to around 1 GB of actual data.
So yes, you can but why bother when a recordable CD or DVD is very cheap?
Seriously... couldn't they at least have 1280x720 instead of that 1024x600... though I doubt the processor is fast enough to decode regular 720p h264 movies.
Well... they can make it so hard to travel by planes people will just takes trains or cars. And then terrorists can just place a bomb on a bridge before a train full with 500 people crosses it, or inside a tunnel... Heck... just get a truck full with fertilizer or something and shove it in a tunnel and wait for the train to hit it.
Actually, you don't even need bombs or stuff like that, it's enough to just pulls out some screws from the railway or to just shove some big nails between two track segments to derail a train.
The point is the whole security is silly... you have planes with 100-300 people and maybe goes down... tough luck, there are literally several plane crashes worth of people dying daily: http://www.applet-magic.com/mortality0.htm 120 people die each day in car accidents and thousands die due to health issues... if only those billions spent on wars and security theaters would be redirected for health care and for improving security on roads and improving infrastructure...
An article said changing to LED lights in an intersection brought about 100$ a month economy in electricity costs, for that particular intersection.
It would cost several hundred dollars to make changes to the semaphores (like changing the regular glass to glass with wire inside that would heat it and have sensors that would turn on the heating elements only when needed). Some towns only get that heavy snow once every few years or for just a few days each winter so when you think about it, it's cheaper to just send people with brooms to clean them when needed. If drivers would have more common sense and be more careful, there wouldn't be any accidents.
The author is pulling numbers out of his ass and has no clue about what uses most time (waiting for database results mostly), about PHP accelerators and about caching systems like memcached. He's comparing performance of php script running on a raw PHP installation versus running a C++ version of the same script, doing calculations that almost never apply to real world scenarios.
I don't see how any company would use C++ to develop their whole systems except maybe for some CGI scripts. Not even Google does it, afaik they use Perl and Python a lot.
Anyway, the number of servers has no direct correlation to the programming language. Out of those thousands of systems, lots of them are read only database servers in a cluster, lots are only serving static files (thumbnails, images used in CSS files on people's pages and so on), some servers are used solely for memcached instances and content used very rarely, some are load balancers....
Basically, the author has no clue.
I always found Livejournal's presentation about scaling very insightful, especially as it's a pretty big site, just like Facebook and other big time sites. The second link gives a lot of details about how they fine tune mysql and other parts of the system, which just goes to show how the apparent speed improvement of C++ versus PHP can overall be actually insignificant.
Anyway, the reason they do this is to squeeze more channels in one satellite transponder. A transporter can support up to 36-38mbps. WIth 16 mbps, you can upload two channels. With 9.7mbps, you can fit 3-4 channels if you keep in mind that it's variable bitrate (the encoder compresses 3-4 channels at a time in such a way that the total bitrate goes to about 32-33 mbps out of a 36 mbps allowance. That's 8mbps per channel in the worst case. The rest is usually used for radios.
Apple is not a monopoly as it barely has about 5-8% of the "desktop operating system" market. Windows with its ~ 75% is considered a monopoly.
Apple may be considered as a monopoly for their music players (iPhone/iPod combined) if for example they make changes to their AAC decoder software and iTunes so that the AAC files you buy will only play correctly on iTunes/iPhones. As it stands now, iPod and iTunes don't have anything special that other mp3 players can't do.
You seem to not get the point of monopolies and why they're bad.
In the case of Microsoft embedding IE inside Windows, this move was not to make it easier for people to use the Internet, but to hook web developers and companies into having to use Windows so obviously to buy licenses.
They intentionally not followed (or interpreted differently) some standards and then developed additional products like Frontpage and Word (export to html, save as web page) which relied on these quirks and features of Internet Explorer.
When you force someone to offer alternatives, you also force him to provide a better solution and companies will no longer assume people use just one buggy web browser.
By number of units sold - IE would be first as it comes with all operating systems, and they're all free now By the letter of the alphabet - Is it "Microsoft Internet Explorer" or "Internet Explorer", "Firefox" or "Mozilla Firefox", how soon do you think a browser called "aaaaBrowser" will appear just to appear the first By popularity or market share - based on who's stats... it's well known the expression here "Netcraft confirms it"
Random really does seem the best for now, and as long as these 5 browsers are not hardcoded... though it would be interesting if Microsoft would launch "Microsoft SilverlightBrowser" or something in Windows 2010 or something like that and as it's sold with the OS there will probably be two MS browsers in first 5
Memory used to be much cheaper and (quality) SSD drives more expensive , only a few months ago I bought a performance 4GB kit for around 60$ (plus taxes in my country as I'm in EU). In addition, a company like last.fm would probably buy at least 1000 memory modules at a time and at such scale you would get a significant discount - 30$ or less for a 2 GB module would not surprise me.
You would have to keep in mind that SSD drives also die, probably 1-3% of them each year, so maybe it makes more sense to just replace one dying memory module instead of a whole SSD drive. Anyway, they're just used as a big cache, they still use regular drives in storage servers to hold all the tracks...
It's just a matter of knowing how many popular tracks are and making the right choices - if each week there are just about 5000 tracks popular out of a million, you'd have just around 30 GB of data to cache so it would be a waste to get each server a 80 GB SSD drive, it would make more sense to use 8 GB of memory per server and just hold a fourth of the tracks on each server, with 500GB-1TB drives as backup.
Even a 35$ card can do hardware decoding of h264 and VC1 bitstreams... I don't know about nVidia models but I know about ATI: http://www.newegg.com/Product/ProductList.aspx?Submit=ENE&N=2010380048%204025%20106792627&name=Radeon%20HD%204000%20series
xvid is decoded in software on the systems you mention, and that means it uses a lot of battery or mains power for this. There are ARM processors that now include hardware decoder for h264 and these processors will appear in devices as they become cheaper due to volume of sales.
I never said xvid is dead, I quite like it myself, but when I do backups of DVDs it's way easier (for me) to just encode with h264 and then mux the original soundtracks and subtitles with the h264 video into a MKV file. AVI doesn't do that (it's not capable) and that's why Handbrake decided to drop it as an output container.
Most recent video cards have dedicated chips on the board that decode the h264 video in hardware. Not so many recent video cards can do the same for XVID or DIVX (same thing, it's MPEG4-ASP or part 2). You can buy now ATI 4xxx series cards on AGP slot for your PIII system and you'll probably be able to run 720p smoothly and maybe even 1080i/p. You can't say the same for these high resolutions and xvid/divx.
The beauty of h264 is the ratio between bitrate and resolution - while you can have a good quality 720p at 2mbps, you'd need at least 3.5 - 4 mbps for the same result with xvid.
AVI is used in digital camers because it's extremely easy to program a very basic writer for it. Most digital cameras create videos compressed in Motion-JPEG and uncompressed audio.
When it only has some basic settings like changing frame rate and resolution, the code inside the digital camera just reads about 2 KB of data from memory, changes the values for resolution and framerate in the bytes, writes the bytes to card at the beginning of the file and then alternates a frame of video and a frame of audio until the end of the recording, where it writes an index with the positions of each video and audio frame in the file.
So it's all about minimum processor usage - the motion jpeg frames come already prepared from the hardware chip and dumped in memory, from where they're just dumped to the SD card, and there's no library required to be included in the digital camera software.
Keep in mind that a regular 100$ camera has about 1-4 MB of flash for firmware and software and up to 64 MB of ram for processing images so sometimes you don't have 100-300 KB of space to include libraries that add support for MKV or MP4 containers.
Regular Virtualdub and Avisynth have no problems processing these AVI files with Motion-JPEG compressed frames.
The exact path to the video can be determined from the video ID.
HD and HQ versions are MP4 files with h264 (MPEG4-AVC) as video codec, AAC or MP3 as audio codec. Regular video versions are FLV files with VP6 as video codec and MP3 as audio codec. VP6 I believe is kept for some platforms that don't have hardware decoding for h264 (so decoding is too hard for those).
The decoding itself doesn't use much CPU,.
While VLC can upload each frame of the movie as a texture on the video card and then use the video card to resize the image and apply effects on it (like deinterlacing), in Flash this is not possible, because the Flash plugin has to keep be able to apply vector art, text, images, subtitles over the video frames, round corners, transparency on the video and so on and so forth... it has to be able to treat each video frame as a layer in a stack of layers on the screen, just in case user programs something needing those extra layers. So basically Flash isn't just video playback.
300.000$ was the sum of all the money coming into his Paypal accounts for 2-3 years while the site was running. That also includes money he may have received from eBay bids, wages, freelancer work and so on.
Google doesn't require an invite because they can afford thousands (literally) of servers in about 12 datacenters in various parts of the world and they finance these servers from ads.
Oink didn't have ads and if Oink would have allowed unlimited numbers of users, the number of servers would have gone to the roof - with 200k users it already had about 2 web frontend servers and about 3 database servers, I think. That's 5 powerful servers with about 300 pounds monthly costs each (think dual xeon with 8 Gb of memory and 10k hard drives, expensive at that time)
Now compare that with The Pirate Bay, who has probably at least 35-40 servers by now: http://static.thepiratebay.org/
Would you afford paying a full rack with these servers in a datacenter out of your salary? That's why you need either donations, or ads on your service (websites).
and by the way, Oink's purpose and Google's purpose is to find and retrieve copyrighted material. EVERYTHING IS COPYRIGHTED, included this message I write now. The problem is with having permission to distribute the copyrighted work.
Oink didn't restrict you to uploading ONLY material for which you did not have distribution rights (so you'd commit copyright infringement) - you could be for example a DJ or a band and upload your own recordings, or upload public domain records, audio books licensed under Creative Commons.
So the difference between Google and Oink is probably only the percentage of infringing material versus "legal" material - but even so, the percentage of finding illegal distributed works on Google is probably larger but you just don't know it, because you don't know the number of pages it indexes, the number of searches performed, and you can't even know out of those indexed results, which are infringing or not.
The tracker functionality can also be compared to a DNS server...
Just query [32 char hash key].trackerdomain.com, the DNS returns the IP of one of the seeders, you connect to that IP and retrieve from that seeder a list of peers and seeders. Query same domain after a minute, you get another IP, which gives you another subset of seeders and peers and so on.
A tracker is really the same thing with a DNS server - you let a member add host records and you keep his domain but you're not responsible for the content of the subdomains it creates.
If someone creates a subdomain to his domain called "prodigy", it doesn't mean that person will sell or distribute Prodigy cd's or mp3 files from that subdomain, and the dns server owner doesn't have the content in his control, just like a tracker doesn't store the content of the files.
I just use Irfanview, it has selection to copy the whole screen, all desktops (if you have several monitors), the current window, only the client area of the window (no title bar and menus).. and you can set it to do automatically after a number of seconds or when pressing a key combo... i have it set at Ctrl+F11.
It also saves automatically to whatever image format you want (i use png) and you can set it to automatically append the time when the screenshot was made to the file name
It's overall much easier, especially when you work with websites that clear the clipboard or other programs with silly copy protections or DRM'ed books (pdf files for example, either remove the javascript or brute force the password if needed or just do print screens and then use OCR to retrieve content)
It doesn't have to be hot, it can be just a pretext... it can be a movie star that maybe has pierced nipples or maybe she had a mastectomy and the TSA employee will be more than happy to sell a picture to TMZ or whatever gossip blog
Just wait until they find out there are actually watches with built in cameras that can even shoot videos: http://www.thinkgeek.com/gadgets/watches/b550/ or even as a ball point pen : http://www.camerapen.org/ or as a keychain that looks like your car keys : http://www.coolest-gadgets.com/20090524/keychain-car-key-security-spy-camera/
Not really... it's more like "Specification can be improved and changed as long as our blu-ray drives keep working." Same thing happened with the MVC specification (for 3D blu rays). It was approved only after Sony verified everything would work with the PS3.
There are already writable CD's that can hold 870 MB by default, but they're not compatible with all CD drives: http://www.oystertechnologies.com/products.html#cdr870 . 700 MB discs are common and compatible.
Additionally, you can choose to lose the error correction information in favor of more disc space. For each 2048 bytes, there are actually 2352 bytes used on the disc. if you burn a disc in Video CD format, instead of storing error information in those 350 bytes, data is saved - this makes it possible to write about 800 MB on a 700 MB CD (maybe more, i'm not sure) but if you scratch it, the drive will not be able to recover data under that scratch.
Based on this reasoning, I don't see why a 870 MB disc couldn't use the error recovery bytes to store up to around 1 GB of actual data.
So yes, you can but why bother when a recordable CD or DVD is very cheap?
Seriously... couldn't they at least have 1280x720 instead of that 1024x600... though I doubt the processor is fast enough to decode regular 720p h264 movies.
Well... they can make it so hard to travel by planes people will just takes trains or cars. And then terrorists can just place a bomb on a bridge before a train full with 500 people crosses it, or inside a tunnel... Heck... just get a truck full with fertilizer or something and shove it in a tunnel and wait for the train to hit it.
Actually, you don't even need bombs or stuff like that, it's enough to just pulls out some screws from the railway or to just shove some big nails between two track segments to derail a train.
The point is the whole security is silly... you have planes with 100-300 people and maybe goes down... tough luck, there are literally several plane crashes worth of people dying daily: http://www.applet-magic.com/mortality0.htm 120 people die each day in car accidents and thousands die due to health issues... if only those billions spent on wars and security theaters would be redirected for health care and for improving security on roads and improving infrastructure...
An article said changing to LED lights in an intersection brought about 100$ a month economy in electricity costs, for that particular intersection.
It would cost several hundred dollars to make changes to the semaphores (like changing the regular glass to glass with wire inside that would heat it and have sensors that would turn on the heating elements only when needed). Some towns only get that heavy snow once every few years or for just a few days each winter so when you think about it, it's cheaper to just send people with brooms to clean them when needed. If drivers would have more common sense and be more careful, there wouldn't be any accidents.
The author is pulling numbers out of his ass and has no clue about what uses most time (waiting for database results mostly), about PHP accelerators and about caching systems like memcached.
He's comparing performance of php script running on a raw PHP installation versus running a C++ version of the same script, doing calculations that almost never apply to real world scenarios.
I don't see how any company would use C++ to develop their whole systems except maybe for some CGI scripts. Not even Google does it, afaik they use Perl and Python a lot.
Anyway, the number of servers has no direct correlation to the programming language. Out of those thousands of systems, lots of them are read only database servers in a cluster, lots are only serving static files (thumbnails, images used in CSS files on people's pages and so on), some servers are used solely for memcached instances and content used very rarely, some are load balancers....
Basically, the author has no clue.
I always found Livejournal's presentation about scaling very insightful, especially as it's a pretty big site, just like Facebook and other big time sites. The second link gives a lot of details about how they fine tune mysql and other parts of the system, which just goes to show how the apparent speed improvement of C++ versus PHP can overall be actually insignificant.
http://video.google.com/videoplay?docid=-8953828243232338732&ei=3VUuS5-hLaKi2ALXqanJBQ&q=livejournal#
http://www.danga.com/words/2004_mysqlcon/mysql-slides.pdf
It's megabit per second or mbps.
16.000.000 ----- 100 %
9.700.000 ------ x %
x = 9.700.000 * 100 / 16.000.000 = 60.625 %
so the difference is 39% at maximum ratings.
Anyway, the reason they do this is to squeeze more channels in one satellite transponder. A transporter can support up to 36-38mbps. WIth 16 mbps, you can upload two channels. With 9.7mbps, you can fit 3-4 channels if you keep in mind that it's variable bitrate (the encoder compresses 3-4 channels at a time in such a way that the total bitrate goes to about 32-33 mbps out of a 36 mbps allowance. That's 8mbps per channel in the worst case. The rest is usually used for radios.
You would think in all those nine months of labor the thought to read about delivery would cross his mind...
Read http://en.wikipedia.org/wiki/Monopoly
Apple is not a monopoly as it barely has about 5-8% of the "desktop operating system" market. Windows with its ~ 75% is considered a monopoly.
Apple may be considered as a monopoly for their music players (iPhone/iPod combined) if for example they make changes to their AAC decoder software and iTunes so that the AAC files you buy will only play correctly on iTunes/iPhones. As it stands now, iPod and iTunes don't have anything special that other mp3 players can't do.
You seem to not get the point of monopolies and why they're bad.
In the case of Microsoft embedding IE inside Windows, this move was not to make it easier for people to use the Internet, but to hook web developers and companies into having to use Windows so obviously to buy licenses.
They intentionally not followed (or interpreted differently) some standards and then developed additional products like Frontpage and Word (export to html, save as web page) which relied on these quirks and features of Internet Explorer.
When you force someone to offer alternatives, you also force him to provide a better solution and companies will no longer assume people use just one buggy web browser.
How would you display them otherwise?
By number of units sold - IE would be first as it comes with all operating systems, and they're all free now
By the letter of the alphabet - Is it "Microsoft Internet Explorer" or "Internet Explorer", "Firefox" or "Mozilla Firefox", how soon do you think a browser called "aaaaBrowser" will appear just to appear the first
By popularity or market share - based on who's stats... it's well known the expression here "Netcraft confirms it"
Random really does seem the best for now, and as long as these 5 browsers are not hardcoded... though it would be interesting if Microsoft would launch "Microsoft SilverlightBrowser" or something in Windows 2010 or something like that and as it's sold with the OS there will probably be two MS browsers in first 5
Any sane person would just split an mp3 file in 256-512KB chunks of data.
This is a non-issue anyway... changing the default memcached unit size is a matter of editing a header file and recompiling the daemon server.
Here's an "optimized for web version" (5 MB, pics resampled to 150 dpi) and the original version.
Memory used to be much cheaper and (quality) SSD drives more expensive , only a few months ago I bought a performance 4GB kit for around 60$ (plus taxes in my country as I'm in EU). In addition, a company like last.fm would probably buy at least 1000 memory modules at a time and at such scale you would get a significant discount - 30$ or less for a 2 GB module would not surprise me.
You would have to keep in mind that SSD drives also die, probably 1-3% of them each year, so maybe it makes more sense to just replace one dying memory module instead of a whole SSD drive. Anyway, they're just used as a big cache, they still use regular drives in storage servers to hold all the tracks...
It's just a matter of knowing how many popular tracks are and making the right choices - if each week there are just about 5000 tracks popular out of a million, you'd have just around 30 GB of data to cache so it would be a waste to get each server a 80 GB SSD drive, it would make more sense to use 8 GB of memory per server and just hold a fourth of the tracks on each server, with 500GB-1TB drives as backup.
... or they could have just filled each 1u server with 8-16 GB of ram and run 1-8 memcached daemons on each cheaper than ssd, same result.