Why doesn't television use better compression?
on
Intel Launches Wi-Di
·
· Score: 1
If I understand correctly, digital television signals are still using basic MPEG2 compression, like on DVDs. I'm not sure if this is still the case for HD streams (blu-ray, etc), but it seems to me like they can't fit all that much data on a disc compared to what you can download in a torrent.
Meanwhile, I regularly stream xvid and h264 videos from my laptop to my "media" computer (a desktop PC connected to my TV running Ubuntu) using regular old 802.11G over SSH. (The ssh isn't necessary, but sshfs is pretty convenient.) Also I can fit several HD movies on a DVD.
Why don't television standards use more advanced compression technology? It seems to me like this would be just as beneficial as developing higher-bandwidth methods of transmitting video data.
I'm actually quite surprised that they didn't jump on this opportunity of having been refused and instead use it as an excuse to sell individual old games for $0.99 a pop (or packs of 5, or whatever) instead of selling the emulator itself.
Wait, so does that mean there are no SWIG bindings for Qt? I just sort of assumed that for a big popular library like Qt, someone would have done a SWIG binding by now, simultaneously making it available in a whole bunch of languages..
What I just completely fail to understand about this patent (i4i's patent I mean) is the words "custom XML". I keep seeing this term "custom XML" as part of its claims. But XML stands for the eXtensible Markup Language. It was designed to be customised. I don't understand,
What is their definition of "custom XML"?
What is "non-custom" XML? ("Standard XML"?)
How they can seemingly get a patent on a usage scenario that XML was specifically designed for?
What leap of logic am I missing here? (Having, obviously, not read the patent.)
I am not for software patents, but I hate to see specious arguments being made. An argument being made in many posts here is that software is math, and thus not patentable.
I'd just like to look at that argument. Is there no difference between software and math? Math is purely thought. Software is executed on a machine, and communicates with the world through input and output peripherals. It seems to me that this makes a huge difference.
Maybe this argument is equating "software" with "algorithm". The latter is math. The former is a machine. That is to say, for any software, there is an equivalent hardware machine that can execute the same algorithm.
Since hardware can be patented, isn't it specious to claim that software cannot be, since software can be implemented in hardware?
Software ceases to be "just math" as soon as an interface between the algorithm and its environment is constructed. (Peripherals.)
For example, I spend a lot of my time writing algorithms for robotic equipment. So, I do math. I write algorithms. But these algorithms, while interesting in themselves, are only useful when connected to sensors and actuators. It becomes part of the machine. The machine does something completely different if I change the software. The machine and the software depend on each other, you can't change one or the other without changing things drastically.
The machine by itself does nothing. When programmed, it becomes a useful machine. I am tempted to claim that the machine is not really a machine until it has software. Thus, the software is an inherent part of the machine. In fact the expression of the algorithm as software, instead of building it into the machine as hardware, is merely for convenience. Its existance as software (math) as opposed to hardware (real material thing), is not fundamentally necessary.
Looking at this from the perspective of mechanics. Mechanical engineers don't only work in the shop. They spend a great deal of time figuring out the logic of how a machine will work before building it. This depends a great deal on physics. They must take into account hydrodynamics, friction, rigid body mechanics, etc. They figure this all out on paper, conceptualize a good design, and then build it to test their idea in the real world. They might even simulated it in software beforehand.
This is math. But they are building a physical, real machine! They are not programmers! What is the difference between software programming, and mechanical design? They share so many concepts.
So.
I think there are other perfectly good reasons for claiming that software should not be patented. But to claim is because software = math is not reasonable or convincing. Everything is math. Most things are not only math, if they also do something and interact with the world. This includes software programs running on a computer.
Of course its true that many, perhaps most, artists have difficulty expressing themselves in a formal language, and figuring out how to design algorithms. I would guess this has a lot to do with not having done much programming in the first place, but perhaps that's also a direct result of not being good at it.
In any case, you have to also admit that there does exist quite a large community of artists who _do_ enjoy expressing themselves with languages like Processing and ChucK. They are perhaps a rare breed, but I would say that artists who know how to cross this gap are an interesting niche.
Also, it's not so uncommon.. a composer I know told me that before Max/MSP came along, he used to use Lisp! And he is definitely not a programmer, so I was quite surprised.
Mind you, web designers can often be part of this group since they have to deal with things like HTML and CSS all the time, so they're more likely to lean towards wanting to figure out Javascript, and then perhaps learn more.
Of course its true that many, perhaps most, artists have difficulty expressing themselves in a formal language, and figuring out how to design algorithms. I would guess this has a lot to do with not having done much programming in the first place, but perhaps that's also a direct result of not being good at it.
In any case, you have to also admit that there does exist quite a large community of artists who _do_ enjoy expressing themselves with languages like Processing and ChucK. They are perhaps a rare breed, but I would say that artists who know how to cross this gap are an interesting niche.
Also, it's not so uncommon.. a composer I know told me that before Max/MSP came along, he used to use Lisp! And he is definitely not a programmer, so I was quite surprised.
Mind you, web designers can often be part of this group since they have to deal with things like HTML and CSS all the time, so they're more likely to lean towards wanting to figure out Javascript, and then perhaps learn more.
I posted the above anonymously by accident. Anyways, I forgot that for the van den Doel paper, there was also an on-line Java applet demonstrating the technique:
Anyone else interested in the fact that it has an embedded DSP? I wonder what else that could be used for... hard real-time audio processing, for example? I wonder how much it is exposed to the system and through connectors..
Interesting, I remember playing that when I was younger on my game boy.
Kind of makes sense.. take a board game that is based on pure, off-line (that is, non-timed) thought, make it a bit easier but add a time limit and an element of chance, and you have the recipe for an addictive game.
Yup, I've been following the PPA build too, and I have to say it's come a long way! I've been using it regularly.
It no longer crashes all the time, though still does so once in a while (but hell so does firefox). These are usually repeatable so I'm sure they'll be fixed in the not too distant future.
One thing I've noticed recently is that one of the first things I tried when first installing it was to check whether the Chrome Experiments would work, and unsurprisingly it crashed immediately when I tried to start any of them. However, a few days ago I tried it again and they all worked!
All in all it's definitely usable now (if you're into trying alpha software). I've kept it open for long periods of time and had up to 15 tabs open at a time. It's noticeably faster than Firefox 3.0.1. (This may change with 3.1, which contains the tracemonkey jit engine.. i'm looking forward to making a comparison.)
Why do you think this isn't the case? There's plenty of research in exactly the areas you describe going on right now. It's all over the programming blogs and research papers, everywhere I look (when searching for programming-related topics) there is a tutorial on functional programming. Are you living under a rock or something?
What makes you think that new developments in physics will contradict that E=MC^2?
In short, physics is further and further refined by research, not contradicted, because new theories don't change the empirical evidence that was used to determine old theories, they just explain it better.
Of course, that doesn't mean new theories don't help development of new technologies, so your point stands.
I think it's pretty clear, if you just keep the fundamental principles of free software in mind. If you use software, you should have the freedom to modify it and run a modified version.
Those principles are inherently non-free and wrong. If you write software, you should have the freedom to release it under whatever goddamn terms you want.
You misunderstand. Those are the principles of _free software_, as defined by Stallman. He says that free software should always retain the ability for users to modify and run the modifications.
These principles don't apply to non-free software, which you're perfectly free to choose to write. Stallman just happens to think that writing non-free software is immoral, but whether you agree with that position or not has no implication on YOUR rights to license YOUR software as you want to.
You seem to think that he's saying that everyone should be forced to write free software by imposing it through some technical means. That's not it at all. Here he's only pointing out that a lot of web-based software doesn't fit his definition of "free", and that those who are interested in making it fit this definition might want to follow some guidelines. That's all. Nothing dangerous or imposing about it.
I think it's pretty clear, if you just keep the fundamental principles of free software in mind. If you use software, you should have the freedom to modify it and run a modified version. Just remember that, and this article will make a lot more sense to you.
I think he enunciates quite clearly the "danger": that we are becoming more and more dependent on software that is temporarily downloaded to our computers in a semi-obfuscated manner and executed to perform non-trivial tasks. This is not quite breaking the "freedom to modify" principle, since technically the source code is available, but he's calling it a trap because in practice it's extremely difficult to get in there and modify a web application since current browsers don't provide an easy way to do it, and the "source code" is almost impossible to read.
Look -- people are calling him crazy for this but I don't know why. (Possibly because they'll jump on any opportunity to call him crazy.) But frankly he's right. If you value the ability to modify software that you use, web applications don't make it easy to do. Not only that, but they can change on you while you're in the middle of using them, making it difficult for any local modifications (based on GreaseMonkey e.g), to "stick".
I don't think he comes off as crazy at all in this article, nor is he even suggesting we don't use JavaScript or anything silly like that. He's merely pointing out some potential problems with web applications vis-a-vis the freedom to modify, and providing a possible solution in the form of metadata.
In fact I'd say this is one of the more practical and shorter things I've seen him write, so I can't understand why people are jumping all over this.
The very core of TFA is to talk about the need to differentiate (either automatically or through metadata) between "throw away" javascript that is used for formatting and input validation, and actual large-sized chunks of code that constitute application logic.
With compilers like GWT, Pyjamas, and HotRuby, I sometimes wonder if JavaScript is starting to emerge as a "portable assembly language" for dynamic languages, the way C is often used by higher-level language compilers. I mean, when it comes down to it JS is basically just hash tables and closures, some of the basic elements required for dynamic language execution.
Given a fast-as-C javascript engine, you could have a pretty decent VM to share between several dynamic languages, and due to JS's dynamic nature compiling these languages to JS is fairly trivial.
I mentioned this once on reddit and someone called it a 'braindead' approach. That may be true. I'm not sure. He also pointed out that many things you'd have to do to get languages like Ruby running in JS would require passing the context as a function argument, which he claimed would probably bypass any potential optimization by the JS compiler. Not sure about that either.
But I find it really interesting (and cool!) that JS's heavy web presence is giving it such attention in both the "compiler backend" and optimization departments simultaneously. Whether it's a braindead approach or not, it sure seems to be drawing a lot of interest lately.
I wonder if they will consider the case where an open-source solution does not completely cover the requirements, but the cost of hiring a developer to make it meet those requirements is still less than the cost of the proprietary solution?
Will they be willing to hire developers to create required features if it is still within the cost limits? Because that would be win-win for everyone.
(They should consider long-term licensing costs for the proprietary software of course, since in the OSS solution once the feature is implemented there are no continuing costs thereafter.)
If I understand correctly, digital television signals are still using basic MPEG2 compression, like on DVDs. I'm not sure if this is still the case for HD streams (blu-ray, etc), but it seems to me like they can't fit all that much data on a disc compared to what you can download in a torrent.
Meanwhile, I regularly stream xvid and h264 videos from my laptop to my "media" computer (a desktop PC connected to my TV running Ubuntu) using regular old 802.11G over SSH. (The ssh isn't necessary, but sshfs is pretty convenient.) Also I can fit several HD movies on a DVD.
Why don't television standards use more advanced compression technology? It seems to me like this would be just as beneficial as developing higher-bandwidth methods of transmitting video data.
By the rotation axis of the earth.
Scheme too!
http://www.bluishcoder.co.nz/2006/05/scheme-implementation-in-javascript.html
I'm actually quite surprised that they didn't jump on this opportunity of having been refused and instead use it as an excuse to sell individual old games for $0.99 a pop (or packs of 5, or whatever) instead of selling the emulator itself.
Wait, so does that mean there are no SWIG bindings for Qt? I just sort of assumed that for a big popular library like Qt, someone would have done a SWIG binding by now, simultaneously making it available in a whole bunch of languages..
What I just completely fail to understand about this patent (i4i's patent I mean) is the words "custom XML". I keep seeing this term "custom XML" as part of its claims. But XML stands for the eXtensible Markup Language. It was designed to be customised. I don't understand,
What leap of logic am I missing here? (Having, obviously, not read the patent.)
I am not for software patents, but I hate to see specious arguments being made. An argument being made in many posts here is that software is math, and thus not patentable.
I'd just like to look at that argument. Is there no difference between software and math? Math is purely thought. Software is executed on a machine, and communicates with the world through input and output peripherals. It seems to me that this makes a huge difference.
Maybe this argument is equating "software" with "algorithm". The latter is math. The former is a machine. That is to say, for any software, there is an equivalent hardware machine that can execute the same algorithm.
Since hardware can be patented, isn't it specious to claim that software cannot be, since software can be implemented in hardware?
Software ceases to be "just math" as soon as an interface between the algorithm and its environment is constructed. (Peripherals.)
For example, I spend a lot of my time writing algorithms for robotic equipment. So, I do math. I write algorithms. But these algorithms, while interesting in themselves, are only useful when connected to sensors and actuators. It becomes part of the machine. The machine does something completely different if I change the software. The machine and the software depend on each other, you can't change one or the other without changing things drastically.
The machine by itself does nothing. When programmed, it becomes a useful machine. I am tempted to claim that the machine is not really a machine until it has software. Thus, the software is an inherent part of the machine. In fact the expression of the algorithm as software, instead of building it into the machine as hardware, is merely for convenience. Its existance as software (math) as opposed to hardware (real material thing), is not fundamentally necessary.
Looking at this from the perspective of mechanics. Mechanical engineers don't only work in the shop. They spend a great deal of time figuring out the logic of how a machine will work before building it. This depends a great deal on physics. They must take into account hydrodynamics, friction, rigid body mechanics, etc. They figure this all out on paper, conceptualize a good design, and then build it to test their idea in the real world. They might even simulated it in software beforehand.
This is math. But they are building a physical, real machine! They are not programmers! What is the difference between software programming, and mechanical design? They share so many concepts.
So.
I think there are other perfectly good reasons for claiming that software should not be patented. But to claim is because software = math is not reasonable or convincing. Everything is math. Most things are not only math, if they also do something and interact with the world. This includes software programs running on a computer.
Of course its true that many, perhaps most, artists have difficulty expressing themselves in a formal language, and figuring out how to design algorithms. I would guess this has a lot to do with not having done much programming in the first place, but perhaps that's also a direct result of not being good at it.
In any case, you have to also admit that there does exist quite a large community of artists who _do_ enjoy expressing themselves with languages like Processing and ChucK. They are perhaps a rare breed, but I would say that artists who know how to cross this gap are an interesting niche.
Also, it's not so uncommon.. a composer I know told me that before Max/MSP came along, he used to use Lisp! And he is definitely not a programmer, so I was quite surprised.
Mind you, web designers can often be part of this group since they have to deal with things like HTML and CSS all the time, so they're more likely to lean towards wanting to figure out Javascript, and then perhaps learn more.
Of course its true that many, perhaps most, artists have difficulty expressing themselves in a formal language, and figuring out how to design algorithms. I would guess this has a lot to do with not having done much programming in the first place, but perhaps that's also a direct result of not being good at it.
In any case, you have to also admit that there does exist quite a large community of artists who _do_ enjoy expressing themselves with languages like Processing and ChucK. They are perhaps a rare breed, but I would say that artists who know how to cross this gap are an interesting niche.
Also, it's not so uncommon.. a composer I know told me that before Max/MSP came along, he used to use Lisp! And he is definitely not a programmer, so I was quite surprised.
Mind you, web designers can often be part of this group since they have to deal with things like HTML and CSS all the time, so they're more likely to lean towards wanting to figure out Javascript, and then perhaps learn more.
I posted the above anonymously by accident. Anyways, I forgot that for the van den Doel paper, there was also an on-line Java applet demonstrating the technique:
http://www.cs.ubc.ca/~kvdoel/icad2004/
Anyone else interested in the fact that it has an embedded DSP? I wonder what else that could be used for... hard real-time audio processing, for example?
I wonder how much it is exposed to the system and through connectors..
Interesting, I remember playing that when I was younger on my game boy.
Kind of makes sense.. take a board game that is based on pure, off-line (that is, non-timed) thought, make it a bit easier but add a time limit and an element of chance, and you have the recipe for an addictive game.
Yup, I've been following the PPA build too, and I have to say it's come a long way! I've been using it regularly.
It no longer crashes all the time, though still does so once in a while (but hell so does firefox). These are usually repeatable so I'm sure they'll be fixed in the not too distant future.
One thing I've noticed recently is that one of the first things I tried when first installing it was to check whether the Chrome Experiments would work, and unsurprisingly it crashed immediately when I tried to start any of them. However, a few days ago I tried it again and they all worked!
All in all it's definitely usable now (if you're into trying alpha software). I've kept it open for long periods of time and had up to 15 tabs open at a time. It's noticeably faster than Firefox 3.0.1. (This may change with 3.1, which contains the tracemonkey jit engine.. i'm looking forward to making a comparison.)
> Dammit, I want my Terminator HUD explaining objects to me as I look at them.
And simultaneously letting me monitor my 6502 assembly code in real time!!! Yeah!!
Why do you think this isn't the case? There's plenty of research in exactly the areas you describe going on right now. It's all over the programming blogs and research papers, everywhere I look (when searching for programming-related topics) there is a tutorial on functional programming. Are you living under a rock or something?
No, but it's how technology works.
E=MC^2 doesn't contradict that F=MA.
F=MA doesn't contradict that things fall down.
What makes you think that new developments in physics will contradict that E=MC^2?
In short, physics is further and further refined by research, not contradicted, because new theories don't change the empirical evidence that was used to determine old theories, they just explain it better.
Of course, that doesn't mean new theories don't help development of new technologies, so your point stands.
I think it's pretty clear, if you just keep the fundamental principles of free software in mind. If you use software, you should have the freedom to modify it and run a modified version.
Those principles are inherently non-free and wrong. If you write software, you should have the freedom to release it under whatever goddamn terms you want.
You misunderstand. Those are the principles of _free software_, as defined by Stallman. He says that free software should always retain the ability for users to modify and run the modifications.
These principles don't apply to non-free software, which you're perfectly free to choose to write. Stallman just happens to think that writing non-free software is immoral, but whether you agree with that position or not has no implication on YOUR rights to license YOUR software as you want to.
You seem to think that he's saying that everyone should be forced to write free software by imposing it through some technical means. That's not it at all. Here he's only pointing out that a lot of web-based software doesn't fit his definition of "free", and that those who are interested in making it fit this definition might want to follow some guidelines. That's all. Nothing dangerous or imposing about it.
I think it's pretty clear, if you just keep the fundamental principles of free software in mind. If you use software, you should have the freedom to modify it and run a modified version. Just remember that, and this article will make a lot more sense to you.
I think he enunciates quite clearly the "danger": that we are becoming more and more dependent on software that is temporarily downloaded to our computers in a semi-obfuscated manner and executed to perform non-trivial tasks. This is not quite breaking the "freedom to modify" principle, since technically the source code is available, but he's calling it a trap because in practice it's extremely difficult to get in there and modify a web application since current browsers don't provide an easy way to do it, and the "source code" is almost impossible to read.
Look -- people are calling him crazy for this but I don't know why. (Possibly because they'll jump on any opportunity to call him crazy.) But frankly he's right. If you value the ability to modify software that you use, web applications don't make it easy to do. Not only that, but they can change on you while you're in the middle of using them, making it difficult for any local modifications (based on GreaseMonkey e.g), to "stick".
I don't think he comes off as crazy at all in this article, nor is he even suggesting we don't use JavaScript or anything silly like that. He's merely pointing out some potential problems with web applications vis-a-vis the freedom to modify, and providing a possible solution in the form of metadata.
In fact I'd say this is one of the more practical and shorter things I've seen him write, so I can't understand why people are jumping all over this.
The very core of TFA is to talk about the need to differentiate (either automatically or through metadata) between "throw away" javascript that is used for formatting and input validation, and actual large-sized chunks of code that constitute application logic.
On a saturday!?
Someone didn't think this through...
Anyways, I hereby reappropriate this holiday as National Pie Day. I'm having strawberry-rubarb.
Who needs to fish for examples.. marketing companies have existed for a long time.
With compilers like GWT, Pyjamas, and HotRuby, I sometimes wonder if JavaScript is starting to emerge as a "portable assembly language" for dynamic languages, the way C is often used by higher-level language compilers. I mean, when it comes down to it JS is basically just hash tables and closures, some of the basic elements required for dynamic language execution.
Given a fast-as-C javascript engine, you could have a pretty decent VM to share between several dynamic languages, and due to JS's dynamic nature compiling these languages to JS is fairly trivial.
I mentioned this once on reddit and someone called it a 'braindead' approach. That may be true. I'm not sure. He also pointed out that many things you'd have to do to get languages like Ruby running in JS would require passing the context as a function argument, which he claimed would probably bypass any potential optimization by the JS compiler. Not sure about that either.
But I find it really interesting (and cool!) that JS's heavy web presence is giving it such attention in both the "compiler backend" and optimization departments simultaneously. Whether it's a braindead approach or not, it sure seems to be drawing a lot of interest lately.
I wonder if they will consider the case where an open-source solution does not completely cover the requirements, but the cost of hiring a developer to make it meet those requirements is still less than the cost of the proprietary solution?
Will they be willing to hire developers to create required features if it is still within the cost limits? Because that would be win-win for everyone.
(They should consider long-term licensing costs for the proprietary software of course, since in the OSS solution once the feature is implemented there are no continuing costs thereafter.)
Er... me too, but we have our own "levies" to deal with here that also make little sense.
Of course, I seem to be buying a lot less blank media than I used to, with hard drives being so big now.
But I really wouldn't be surprised if a similar download tax were proposed here eventually.