The actus reus of theft is usually defined as an unauthorised taking, keeping or using of another's property which must be accompanied by a mens rea of dishonesty and/or the intent to permanently deprive the owner or the person with rightful possession of that property or its use.
It would be the "unauthorised [...] using of another's property" (x264 project didn't authorize Tandberg to use their code as the basis of Tandberg's patent application) with "the intent to permanently deprive the owner [...] of that property of its use" (by asking the government to grant Tandberg a monopoly on using the algorithm that the x264 project developed).
In what possible interpretation would that not be theft? People here make the mistake of equating "copyright violation" with "theft" all the time. Well, this is one case where (if the allegations are true) one part really would be permanently depriving the owner of the use of their property.
Please don't use URL shorteners here. They make it impossible to see what domain the URL actually points to, and there's no practical limit on how long of a link you can use in an <a href> tag on Slashdot.
Take note, pro-RIAA patsies: if this story is true, then it's a case of actual IP theft. That is, Tandberg would actually have deprived the original authors of the use of their own work, in this situation by making it illegal for them to continue distributing their invention.
I don't think lack of sales tax is why people pick Amazon and Newegg.
Indeed. I'd pay Newegg an extra 20% not to have to deal with the hassle of Best Buy. At least I can return defective stuff to Newegg without having to threaten a manager, and I'm honestly surprised that Best Buy hasn't installed TSA-style scanners so they can enhance their "I just watched you pay for this but I'm going to treat you like a shoplifter anyway" experience.
Security is a design philosophy. Either you've done it right, from the ground up, with your basic code writing habits, or you haven't.
I think you're mixing design and implementation. It's perfectly possible to have a brilliant design with a dodgy prototype, and a horrible design with a perfect implementation. Diaspora-the-plan may or may not be genius; I haven't looked at it and I doubt I'm qualified to judge it anyway. Diaspora-the-prototype had some bugs that might have included security errors that have nothing to do with the design.
Quick example: suppose that the design for SSH is verifiably perfect on paper. The NSA shakes in fear because they'll never be able to crack it, and mathematicians worldwide sob because there's nothing they can do to top it. Yay! And then someone packaging it for distribution mistakenly comments out a critical part of the pseudorandom number generator and breaks the thing wide open. Would you advocate them throwing everything away and starting over, or is it enough to fix the bug and move on?
I took a sick day last week and spend part of the morning installing VICE's Commodore 128 emulator and playing around with the CP/M boot disks I found on the Internet. It was fun, but I was reminded why I never actually used it.
That might be a human being with an incredibly complex apparatus measuring the properties of an individual electron, or it might be a chemical reaction that is sweeping through the entire sample of whatever the electron is a part of.
Fair enough. But does that chemical reaction require an observation to define its outcome if it depends on those quantum events? At what point do you decide that the decision must be made?
And of course they aren't self-signed, thats retarded. The US military has the largest PKI deployment in the world, they know a thing or two about certs. The DOD has their own root certificates
That's kind of the definition of "self-signed certificates".
Who is modding this informative? No mil sites use self signed certs. Please get your facts straight.
From verifying a particular public-facing military website I have cause to frequent:
$ openssl s_client -CApath/etc/ssl/certs -showcerts -connect [somecommand].mil:443 CONNECTED(00000003) depth=0/C=US/O=U.S GOVERNMENT/OU=DOD/OU=PKI/OU=DISA/CN=[somecommand].mil verify error:num=20:unable to get local issuer certificate verify return:1 depth=0/C=US/O=U.S GOVERNMENT/OU=DOD/OU=PKI/OU=DISA/CN=[somecommand].mil verify error:num=27:certificate not trusted verify return:1 depth=0/C=US/O=U.S GOVERNMENT/OU=DOD/OU=PKI/OU=DISA/CN=[somecommand].mil verify error:num=21:unable to verify the first certificate verify return:1 --- Certificate chain 0 s:/C=US/O=U.S GOVERNMENT/OU=DOD/OU=PKI/OU=DISA/CN=[somecommand].mil i:/C=US/O=U.S. Government/OU=DoD/OU=PKI/CN=DOD CA-21
Hint: that issuer ain't Verisign. I don't know whether that's the official DoD cert or if that's one created by that particular organization, but I do know that it doesn't ship with any popular browser by default. So yes, in this case, you have to make an exception for this cert before you can visit this site.
Most.mil sites do not use self-signed certs. Some certainly do.
And since when is essay writing all that valuable in say the techie world?
When the editor of a trade magazine contacted me to ask if I'd like to write some columns for him, I was happy to be able to put a few coherent pages together. Being able to list your publications on a resume could be pretty valuable.
Oh, yes, I summarily removed the firewall to expose our hosts to the Internet. (rolls eyes)
Also, dynamic DNS is a standard (maybe even default) setup for Active Directory. I'm not the Windows guy at my office so I can't tell you for certain. I do know, though, that nothing broke when we went live with IPv6. Services that could use it started using it, and everything else kept chugging along with IPv4.
Really? Took me about 20 minutes to configure a tunnel to HE.net. Every host on the LAN that supports IPv6 automatically started using it, to the point that Windows machines update their hostnames on the domain controller to resolve via both IPv4 and IPv6. Everything Just Worked without any manual intervention. What sort of monumental problems are you anticipating?
I distinctly remember when a lack of bloat was one of Linux's bragging points.
What does LOC have to do with bloat? It's very common to make an algorithm more efficient by throwing more code at it. For example, suppose you're storing 10,000 items and then searching on them repeatedly.
Old way:
Allocate an array[10000].
Insert all the objects.
To find one, iterate across the array until you locate it.
New way:
Create an empty B-tree.
Insert each object, balancing the tree as you go.
To find one, perform a binary search.
I can pretty much guarantee that the second will take a lot more code than the first. Of course, searching for an object will take an average of about 13 comparisons in the second versus 5,000 in the first, which will probably make the whole project faster and more efficient.
I guess I measure "bloat" by how compressible the code is. If you can refactor large portions of it, then it's bloated - even if it only has a few features. If it's already well factored and has a thousand convenient features that only took a few lines of code each, then it's not bloated.
By "strong typing" you meant "static typing", which is not at all the same. Python is strongly, dynamically typed, and in that language it doesn't even make since to declare the type of a variable, since all variables are pointers.
Look, I get the gist of what you're saying, but you're not hearing what everyone else is trying to tell you: languages are not the same. You're asking to build an abstraction layer that subsumes all existing languages, and that's just not possible without leaks that are guaranteed to cause more problems than the abstraction can hope to solve.
"All vehicles are basically the same", you might say, "so they should all have identical interfaces. Someone who learned to drive a car should be able to drive a semi truck without having to re-learn anything. We'll take the average of 4 wheels on cars and 18 wheels on trucks and mandate that all new vehicles have 11 wheels, 10.5-speed manual transmissions, and pneumatic disk brakes. How simple!" Well, that might be appealing to someone averse to learning the differences between cars and trucks, but would suck for anyone who already knew how to use one or the other to their best advantage.
That's not just a syntactic difference, and it's not just assigning a value to a variable. Instead, it's creating an int object with a value of 0 and binding the name "mycounter" to it. Since Python objects have types but variables don't (as they're all basically pointers to objects), there's no type declaration necessary - or even feasible without significant ugliness.
In turn, you're missing my point in that these aren't just cosmetic differences that a little bit of syntax unification can hide. For instance, you include languages on your list that implement single assignment and don't really support (or at least don't encourage) variable assignment in the sense you're describing.
However, I think that any reasonable person would recognize that this Tower of Babel approach is holding back software development as a whole
Nope. Again, there are different tools for different jobs. I don't want to query a database in APL, write a website backend in COBOL, or launch a rocket with Perl. In each of those cases, there are far more suited languages that more closely map to the problem domain.
I would think it is entirely possible to bolt a syntax "UI" onto an underlying language implementation that would preserve the lower level advantages held by some languages while supporting a common syntax and enabling the vast knowledge and experience in the industry to be freely exchangeable.
But you'd be wrong, at least at the levels where it matters most. Again, all of those languages are Turing complete. That means that if you can write a program in one of them, you can write the functional equivalent in any of the others. That said, you'd almost certainly not want to.
For instance, you could write the equivalent of a variable assignment in SQL that updates a row in a table of variable names and their values. Once you have that, you could build a looping construct, and some form of branching. On top of that you could build a GUI by writing an XML description of a form to one table, then query the table again to read the results of a user's actions. Voila! Logic and a GUI in SQL! Of course, it would be painfully slow and fiendishly difficult to program in, but it would be hypothetically exactly as powerful as writing the same thing in a 20-line VB.net app.
What it comes down to is that you're wrongfully assuming that language are fungible and basically the same except for a few syntax exceptions. That is absolutely not the case! Lisp, Prolog, and C++ aren't merely the same concepts expressed in different ways, but almost entirely different models of computation.
But if you have to pick one, pick Lisp. It's a strict superset of every other language in the world and I'd be willing to bet that you can write any other language in it. Please let me know how your personal campaign to get every program to switch to Lisp goes. I'd even be willing to help out on that particular project.
Really...isn't it time to rethink all of these different, but same (except for the whacko Python,PHP stuff) and come up with one standard language?
Not just "no", but "hell no". While all of those are Turing complete, I guarantee that you would not want to use Visual Basic to solve the same kinds of problems you'd want to use ML or Prolog for. Very few of the languages you list ("C+"? Heh!) are just minor variations on the others. Their are real, substantial differences between the approaches they take, and things like type systems and garbage collection have implications a lot deeper than just picking which syntax to use for assignment (which I don't think ML even supports in the traditional sense).
PS: really want to watch a Macolyte go nuts? Tell them for all that revenue, Microsoft still makes more profit, and has a higher profit margin...
That's true of most service companies when compared to manufacturers.
It wouldn't be theft
From the first paragraph in the Wikipedia article on theft:
It would be the "unauthorised [...] using of another's property" (x264 project didn't authorize Tandberg to use their code as the basis of Tandberg's patent application) with "the intent to permanently deprive the owner [...] of that property of its use" (by asking the government to grant Tandberg a monopoly on using the algorithm that the x264 project developed).
In what possible interpretation would that not be theft? People here make the mistake of equating "copyright violation" with "theft" all the time. Well, this is one case where (if the allegations are true) one part really would be permanently depriving the owner of the use of their property.
Are you a wizard?
No; his UID is too high. Now fetch me a sandwich, son.
Please don't use URL shorteners here. They make it impossible to see what domain the URL actually points to, and there's no practical limit on how long of a link you can use in an <a href> tag on Slashdot.
Not that it was really ever all that difficult to write a DBase III program to dump the entire database comma separated.
It wasn't.
Take note, pro-RIAA patsies: if this story is true, then it's a case of actual IP theft. That is, Tandberg would actually have deprived the original authors of the use of their own work, in this situation by making it illegal for them to continue distributing their invention.
I don't think lack of sales tax is why people pick Amazon and Newegg.
Indeed. I'd pay Newegg an extra 20% not to have to deal with the hassle of Best Buy. At least I can return defective stuff to Newegg without having to threaten a manager, and I'm honestly surprised that Best Buy hasn't installed TSA-style scanners so they can enhance their "I just watched you pay for this but I'm going to treat you like a shoplifter anyway" experience.
Security is a design philosophy. Either you've done it right, from the ground up, with your basic code writing habits, or you haven't.
I think you're mixing design and implementation. It's perfectly possible to have a brilliant design with a dodgy prototype, and a horrible design with a perfect implementation. Diaspora-the-plan may or may not be genius; I haven't looked at it and I doubt I'm qualified to judge it anyway. Diaspora-the-prototype had some bugs that might have included security errors that have nothing to do with the design.
Quick example: suppose that the design for SSH is verifiably perfect on paper. The NSA shakes in fear because they'll never be able to crack it, and mathematicians worldwide sob because there's nothing they can do to top it. Yay! And then someone packaging it for distribution mistakenly comments out a critical part of the pseudorandom number generator and breaks the thing wide open. Would you advocate them throwing everything away and starting over, or is it enough to fix the bug and move on?
I took a sick day last week and spend part of the morning installing VICE's Commodore 128 emulator and playing around with the CP/M boot disks I found on the Internet. It was fun, but I was reminded why I never actually used it.
ZFS supports per-filesystem settings. I have "compression=no" on my MP3 collection.
That might be a human being with an incredibly complex apparatus measuring the properties of an individual electron, or it might be a chemical reaction that is sweeping through the entire sample of whatever the electron is a part of.
Fair enough. But does that chemical reaction require an observation to define its outcome if it depends on those quantum events? At what point do you decide that the decision must be made?
Fair enough. Then my company doesn't use self-signed certs, either, because my co-worker generates the CSRs and I sign them.
And of course they aren't self-signed, thats retarded. The US military has the largest PKI deployment in the world, they know a thing or two about certs. The DOD has their own root certificates
That's kind of the definition of "self-signed certificates".
Who is modding this informative? No mil sites use self signed certs. Please get your facts straight.
From verifying a particular public-facing military website I have cause to frequent:
Hint: that issuer ain't Verisign. I don't know whether that's the official DoD cert or if that's one created by that particular organization, but I do know that it doesn't ship with any popular browser by default. So yes, in this case, you have to make an exception for this cert before you can visit this site.
Most .mil sites do not use self-signed certs. Some certainly do.
And since when is essay writing all that valuable in say the techie world?
When the editor of a trade magazine contacted me to ask if I'd like to write some columns for him, I was happy to be able to put a few coherent pages together. Being able to list your publications on a resume could be pretty valuable.
Or, in english, if you can prove that the negation of a proposition leads to a logical contradiction, then the original statement is true.
While I know what you mean, I bet Godel would have a field day with that statement.
Too bad about the flamebait, though. Got a stalker?
If you live in US, did you stop using oil fuel and oil based products (i.e. basically almost everything around you) when the BP oil spill happened?
No, but I did stop knowingly using BP products.
Oh, yes, I summarily removed the firewall to expose our hosts to the Internet. (rolls eyes)
Also, dynamic DNS is a standard (maybe even default) setup for Active Directory. I'm not the Windows guy at my office so I can't tell you for certain. I do know, though, that nothing broke when we went live with IPv6. Services that could use it started using it, and everything else kept chugging along with IPv4.
Switching over my office would take a lot of time
Really? Took me about 20 minutes to configure a tunnel to HE.net. Every host on the LAN that supports IPv6 automatically started using it, to the point that Windows machines update their hostnames on the domain controller to resolve via both IPv4 and IPv6. Everything Just Worked without any manual intervention. What sort of monumental problems are you anticipating?
Well, yelling "nuh-uh! u r teh stupid" doesn't tend to be very persuasive. I agree that it doesn't seem to stop a lot of people, though.
I distinctly remember when a lack of bloat was one of Linux's bragging points.
What does LOC have to do with bloat? It's very common to make an algorithm more efficient by throwing more code at it. For example, suppose you're storing 10,000 items and then searching on them repeatedly.
Old way:
New way:
I can pretty much guarantee that the second will take a lot more code than the first. Of course, searching for an object will take an average of about 13 comparisons in the second versus 5,000 in the first, which will probably make the whole project faster and more efficient.
I guess I measure "bloat" by how compressible the code is. If you can refactor large portions of it, then it's bloated - even if it only has a few features. If it's already well factored and has a thousand convenient features that only took a few lines of code each, then it's not bloated.
By "strong typing" you meant "static typing", which is not at all the same. Python is strongly, dynamically typed, and in that language it doesn't even make since to declare the type of a variable, since all variables are pointers.
Look, I get the gist of what you're saying, but you're not hearing what everyone else is trying to tell you: languages are not the same. You're asking to build an abstraction layer that subsumes all existing languages, and that's just not possible without leaks that are guaranteed to cause more problems than the abstraction can hope to solve.
"All vehicles are basically the same", you might say, "so they should all have identical interfaces. Someone who learned to drive a car should be able to drive a semi truck without having to re-learn anything. We'll take the average of 4 wheels on cars and 18 wheels on trucks and mandate that all new vehicles have 11 wheels, 10.5-speed manual transmissions, and pneumatic disk brakes. How simple!" Well, that might be appealing to someone averse to learning the differences between cars and trucks, but would suck for anyone who already knew how to use one or the other to their best advantage.
In Python:
mycounter = 0
That's not just a syntactic difference, and it's not just assigning a value to a variable. Instead, it's creating an int object with a value of 0 and binding the name "mycounter" to it. Since Python objects have types but variables don't (as they're all basically pointers to objects), there's no type declaration necessary - or even feasible without significant ugliness.
In turn, you're missing my point in that these aren't just cosmetic differences that a little bit of syntax unification can hide. For instance, you include languages on your list that implement single assignment and don't really support (or at least don't encourage) variable assignment in the sense you're describing.
However, I think that any reasonable person would recognize that this Tower of Babel approach is holding back software development as a whole
Nope. Again, there are different tools for different jobs. I don't want to query a database in APL, write a website backend in COBOL, or launch a rocket with Perl. In each of those cases, there are far more suited languages that more closely map to the problem domain.
I would think it is entirely possible to bolt a syntax "UI" onto an underlying language implementation that would preserve the lower level advantages held by some languages while supporting a common syntax and enabling the vast knowledge and experience in the industry to be freely exchangeable.
But you'd be wrong, at least at the levels where it matters most. Again, all of those languages are Turing complete. That means that if you can write a program in one of them, you can write the functional equivalent in any of the others. That said, you'd almost certainly not want to.
For instance, you could write the equivalent of a variable assignment in SQL that updates a row in a table of variable names and their values. Once you have that, you could build a looping construct, and some form of branching. On top of that you could build a GUI by writing an XML description of a form to one table, then query the table again to read the results of a user's actions. Voila! Logic and a GUI in SQL! Of course, it would be painfully slow and fiendishly difficult to program in, but it would be hypothetically exactly as powerful as writing the same thing in a 20-line VB.net app.
What it comes down to is that you're wrongfully assuming that language are fungible and basically the same except for a few syntax exceptions. That is absolutely not the case! Lisp, Prolog, and C++ aren't merely the same concepts expressed in different ways, but almost entirely different models of computation.
But if you have to pick one, pick Lisp. It's a strict superset of every other language in the world and I'd be willing to bet that you can write any other language in it. Please let me know how your personal campaign to get every program to switch to Lisp goes. I'd even be willing to help out on that particular project.
Really...isn't it time to rethink all of these different, but same (except for the whacko Python,PHP stuff) and come up with one standard language?
Not just "no", but "hell no". While all of those are Turing complete, I guarantee that you would not want to use Visual Basic to solve the same kinds of problems you'd want to use ML or Prolog for. Very few of the languages you list ("C+"? Heh!) are just minor variations on the others. Their are real, substantial differences between the approaches they take, and things like type systems and garbage collection have implications a lot deeper than just picking which syntax to use for assignment (which I don't think ML even supports in the traditional sense).