Instead they play it off (poorly), as if they "meant" for this to happen.
Just like the poster that didnt know what was actually said by Microsoft the first time.. you dont seem to know what they said this second time.
They didnt "play it off".. they said:
"What has happened is someone wrote an open-source driver for PCs that essentially opens the USB connection, which we didn’t protect, by design, and reads the inputs from the sensor."
Please dont reply with some crap about the 'by design' portion of the comment... its not a surprise 'bug'.. This is how they designed their other controllers. Plug it in and then read and write via USB. Thats how Microsoft does controllers.
No it isn't. It's really important, especially in a cheap package like this.
The magic of the checking account is not that you get a statement at the end of every month, and in fact that information is so trivial to derive that some people have opted not to get statements. Important information can be the result of trivial processing, just like that depth map. Thats trivial processing.
If you dont understand.. let me put it clearly.. The size of dots in a bitmap, or the distance between them, is not a hard problem. Its a trivial problem.
Clearly you arent equipped to discuss this because you say "there's already some kinect 3D model stuff".. where you confused 'Model'.. the 3D rendering term (thats what you saw in those videos, noob), with the kind of model required to track the position and orientation of a subject for the purposes of user input.
Sure, you can find less efficient methods that are not very annoying to maintain.
Its the more efficient methods that are annoying to maintain.
For example, there exists methods of implementing binary tree's without the need to have any node references (pointers/handles/doesnt matter) in the node structure. The problem is of course that its incredibly wasteful of memory for sparse tree's, and it is the solutions to that memory waste that are problematic to maintain.
This tree method is actually extensively used in most operating systems memory management, where the trees are always fully populated to a specific depth, nullifying the downsides of sparseness by simply being the exact opposite of sparse. The method is generally referred to as the Binary Heap.
The Kinect does not do stereo image capture. Thats what those 3D movie people are doing (when they bother with that.)
The Kinect has two image sensors, thats for sure, but they dont even capture the same wavelengths of light.
The IR sensor captures only infrared.
There is some processing going on in the Kinect, but only to measure the spacing (and perhaps size) of the IR dots that are being projected by the device in order to produce a depth-map. This processing is clearly mostly trivial.
The magic of the Kinect as used by Microsoft is whats going on inside the xbox where they take the optical image, and with assistance from the depth map, detect people and construct a simplified 3d model (usable for input triggers) of how their body is oriented.
It is this second part that is clearly not-trivial. People come in all shapes and sizes, wear different clothing (if any..), and so forth and so on. Simply flagging the pixels that belong to people vs pixels that dont isnt easy, which is why the depth map is used for assistance.
However, if they didn't want to come off as asshats I think they should have said, "originally we had said that the Kinect should remain closed.
No, thats not what they originally said.
What they said is two very short quotes. Here, let me help you:
"Microsoft does not condone the modification of its products. With Kinect, Microsoft built in numerous hardware and software safeguards designed to reduce the chances of product tampering. Microsoft will continue to make advances in these types of safeguards and work closely with law enforcement and product safety groups to keep Kinect tamper-resistant."
How would you access the data associated with a handle? Perhaps via a pointer of some kind?
..in other words, why an extra abstraction? Does it offer any advantage? Before you answer, make sure that you know at least a little bit about assembly language.
If your data consists mainly of pointers and it's a performance issue, you're doing it wrong.
While true, in this case the trend is to continue to do it wrong and to buy faster silicon to make up for it.
While the alternatives to linked lists, tree's, and so forth are often a big efficiency win, they are not very good when it comes to maintaining the code base.
Problems boil down to "I need O(x) Insertion, O(y) Lookups, O(z) Deletes, and O(w) Sorted Enumeration" with x, y, z, and w being of varying importance... the alternatives to pointer-heavy methods are maintenance nightmares unless only 2 of the 4 needs to be equal or better than O(log n)
It's really hard to generate good code for x87 (weird hybrid of stack and register architecture)
Not exactly true.
The problem is that a compiler attempts to preserve the rounding-error integrity of the equations they are given as expressed based on the implied language rules (typically left-to-right for equal-precedent operations,) where its literally impossible to generate x87 code that doesnt have a lot of loads and stores for any non-trivial expression.
This is why even intermediate assembly language programmers have always run circles around compilers with regards to x87 code. A competent programmer will know where the rounding issues could meaningfully manifest, free to produce very efficient code everywhere they wont manifest.
Not including RSP and RIP, there is RAX, RBX, RCX, RDX, RBP, RSI, RDI, R8, R9, R10, R11, R12, R13, R14, R15, MM0, MM1, MM2, MM3, MM4, MM5, MM6, MM7, XMM0, XMM1, XMM2, XMM3, XMM4, XMM5, XMM6, XMM7, XMM8, XMM9, XMM10, XMM11, XMM12, XMM13, XMM14, and XMM15
Each of them is at least 64 bits in size and can perform 64-bit integer operations. Limitations include that only the first 7 are available as pointers, the MMn registers cant be mixed with non-MMn registers in a single operation, and ditto for the XMMn registers.
Thats not "so few" is it? Thats 39 registers that can perform 64-bit integer work...
The main problem isnt so much that compilers werent good enough.. the main problem was the expectation that compilers *could* be good enough.
Intel's asymmetric execution unit philosophy only goes so far.. sure, you can get an extra amount of performance from the same number of transistors, but only for problems for which that asymmetry doesnt become a barrier.
The proper way to design asymmetric execution units is to sample lots of existing code and then produce an optimal set for that sample set.
This is how Intels x86/x64 line of CPU's has been optimized and it works. The Itanium on the other hand was done backwards. They designed the asymmetric units first and then expected compilers to eventually produce code which leverages the asymmetry well..
AMD has always been more symmetric in its design. Each ALU can handle of all the same operations, and so forth.
Some would certainly be caught by that, but they get a warning if they do
You act as if they dont get warnings in vista/7...
And, in Linux it isn't "administrator". Hell, most distros if you log in as root and run a GUI, the GUI is bright red as a warning
I actually typed that out from the ubuntu wiki, where I mistyped 'administration'.. ie, this is a guide for GUI-enabling of 3rd party repositories for ubuntu, from the ubuntu docs itself.
Part of the problem is the view that an electron is some physical entity that occupies a specific location, has a specific radius, etc..
All we know of what electrons 'look like' or 'physically are' are what we can measure.. which turns out to be a force vector. Thats it. A god damned force vector.
All those typical macro-descriptions of things just dont really apply except in a statistical sense..
...those macro descriptions are of physical properties, but an electron doesnt really have an analog to a physical description, for physical descriptions are based on the arrangements of many such fundamental things. The entire idea of a 'size' isnt even well defined.. as if there is some 'surface area' and a 'boundary'.. no, not really.. not that we can measure anyways.. we just measure force vectors.
Then what term might Linus use to distinguish Linux systems on laptop PCs, desktop PCs, and servers (which tend to include glibc, Bash, GNU Coreutils, and other components of a GNU system) from Linux systems in appliances (which tend to include uClibc/Newlib/Bionic, BusyBox, and BusyBox instead, and generally far less GNU software)?
umm... Desktop Linux? Or maybe, name the damned distribution you are talking about?
Whats the litmus test for calling something GNU/Linux? That it has GCC on the disk somewhere? Some other GNU tool? Really?
If RMS wants a GNU/Linux, maybe he should make a Distro named GNU/Linux... the kernel still wont be GNU tho.. which is why he tried to re-brand it as GNU.
Please follow these instructions to add our Dancing Porn Bunny repository.
Open System -> Administrator -> Software Sources
Press ADD to add a new repository.
Enter this APT line for our repository:
deb http://ftp.dancingporn.ru etch main
Press Add Source and then click Close.
Now press Reload
Now go and check out our dancing porn bunnies!!!! Tell your friends!!
..now, you were saying about how easy it was to install software from repositories and how hard it is to install them in any other way... do you now understand that that doesnt mean shit? If you make anything easy, its also easy to exploit.
Write amplification is basically due to the fact that a MLC flash chip uses a 128KB write/erase block. Smaller writes either have to be write-combined or otherwise eat a ton more durability due to having to write the whole block than larger writes would.
I'm fairly certain that the write block size in every SSD on the market right now is not the same as the erase block size...
In other words, that 128K block is segmented into 4K blocks (32 of them,) and each 4K block can be written once per erase cycle.
..so its not fair to consider small uncombined writes as equivalent to a future erase on a 1:1 basis.. its actually 32:1.. or about 3% of small combined writes will lead to a mandatory erase.
If there is an outside factor, like a test key, the students with the key will get these right. The more of these outlier questions they get right, the more likely it is that there was an outside factor.
Fixed that for you. You converted outside factor into cheating in your line of reasoning, but shouldnt have.
You claimed that "our enemies" are middle easterners and that searching them exclusively would make a better policy rather than searching everyone equally.
No I didn't.
Maybe you should go re-read what you originally replied to. The comparison is between searching all middle-easterners with searching 1 out of 25 people randomly.
You do realize that the second method has no better than a 4% chance of finding a terrorist thats up-to-no-good, right?
4%.
Do you understand 4%? 4%. Let me repeat that. 4%. One more time. 4%. OK that could do with one more.. 4%.
4%.
Lets go over the notable hijackings of American flights from 1980 to today.
1980-1989 No American flights hijacked (thank you Reagan)
1990-1999 1 American non-commuter flight (FedEx) hijacked.
2000-2009 4 American commuter flights hijacked.
I dont know where you get your fucking data.. but its absurd. The only way you could have believed the data while being at all conscious is to have already had a theory that you just wanted to validate. Of the 5 flights hijacked in the past 31 years, 4 of them were commuter, and of those... 100% by middle-easterners.
100%. Let me repeat that. 100%. One Hundred Fucking Percent. Every Single One.
4% vs 100%
4% vs 100%
4% vs 100%
Stop being fucking hippy-ignorant. Hippy-ignorant is the term I use to describe people that want "fairness" no matter how absurd it is.
I think that you are missing a key fact of this "cheating" - the students had a copy of the actual test.
No pattern matching algorithm is going to find patterns in the cheaters right and wrong answers, for they all had access to the right answers. They werent copying from an imperfect student. Their inaccuracies will be normally distributed.
If you are going to throw in the vector registers, why not the FP stack; that can be used to do "integer operations" as well if you are careful.
(1) Because they are both vector and simple registers, depending on the instructions used.
.. mode switches trash the registers.
(2) The x87 is either in MMX mode (the mm# registers) or FPU mode (the st# registers)
Instead they play it off (poorly), as if they "meant" for this to happen.
Just like the poster that didnt know what was actually said by Microsoft the first time.. you dont seem to know what they said this second time.
.. they said:
.. This is how they designed their other controllers. Plug it in and then read and write via USB. Thats how Microsoft does controllers.
They didnt "play it off"
"What has happened is someone wrote an open-source driver for PCs that essentially opens the USB connection, which we didn’t protect, by design, and reads the inputs from the sensor."
Please dont reply with some crap about the 'by design' portion of the comment... its not a surprise 'bug'
No it isn't. It's really important, especially in a cheap package like this.
The magic of the checking account is not that you get a statement at the end of every month, and in fact that information is so trivial to derive that some people have opted not to get statements. Important information can be the result of trivial processing, just like that depth map. Thats trivial processing.
.. where you confused 'Model' .. the 3D rendering term (thats what you saw in those videos, noob), with the kind of model required to track the position and orientation of a subject for the purposes of user input.
If you dont understand.. let me put it clearly.. The size of dots in a bitmap, or the distance between them, is not a hard problem. Its a trivial problem.
Clearly you arent equipped to discuss this because you say "there's already some kinect 3D model stuff"
Sure, you can find less efficient methods that are not very annoying to maintain.
Its the more efficient methods that are annoying to maintain.
For example, there exists methods of implementing binary tree's without the need to have any node references (pointers/handles/doesnt matter) in the node structure. The problem is of course that its incredibly wasteful of memory for sparse tree's, and it is the solutions to that memory waste that are problematic to maintain.
This tree method is actually extensively used in most operating systems memory management, where the trees are always fully populated to a specific depth, nullifying the downsides of sparseness by simply being the exact opposite of sparse. The method is generally referred to as the Binary Heap.
How is this insightful when its wrong?
The Kinect does not do stereo image capture. Thats what those 3D movie people are doing (when they bother with that.)
The Kinect has two image sensors, thats for sure, but they dont even capture the same wavelengths of light.
The IR sensor captures only infrared.
There is some processing going on in the Kinect, but only to measure the spacing (and perhaps size) of the IR dots that are being projected by the device in order to produce a depth-map. This processing is clearly mostly trivial.
The magic of the Kinect as used by Microsoft is whats going on inside the xbox where they take the optical image, and with assistance from the depth map, detect people and construct a simplified 3d model (usable for input triggers) of how their body is oriented.
It is this second part that is clearly not-trivial. People come in all shapes and sizes, wear different clothing (if any..), and so forth and so on. Simply flagging the pixels that belong to people vs pixels that dont isnt easy, which is why the depth map is used for assistance.
Did the MS drone who produced cited quotation ever explicitly state that creating an open source driver amounted to "modification"?
They stated exactly what was quoted. Thats it. Is this hard to understand?
However, if they didn't want to come off as asshats I think they should have said, "originally we had said that the Kinect should remain closed.
No, thats not what they originally said.
What they said is two very short quotes. Here, let me help you:
"Microsoft does not condone the modification of its products. With Kinect, Microsoft built in numerous hardware and software safeguards designed to reduce the chances of product tampering. Microsoft will continue to make advances in these types of safeguards and work closely with law enforcement and product safety groups to keep Kinect tamper-resistant."
Thats what they said, exactly.
How would you access the data associated with a handle? Perhaps via a pointer of some kind?
..in other words, why an extra abstraction? Does it offer any advantage? Before you answer, make sure that you know at least a little bit about assembly language.
If your data consists mainly of pointers and it's a performance issue, you're doing it wrong.
While true, in this case the trend is to continue to do it wrong and to buy faster silicon to make up for it.
While the alternatives to linked lists, tree's, and so forth are often a big efficiency win, they are not very good when it comes to maintaining the code base.
Problems boil down to "I need O(x) Insertion, O(y) Lookups, O(z) Deletes, and O(w) Sorted Enumeration" with x, y, z, and w being of varying importance... the alternatives to pointer-heavy methods are maintenance nightmares unless only 2 of the 4 needs to be equal or better than O(log n)
It's really hard to generate good code for x87 (weird hybrid of stack and register architecture)
Not exactly true.
The problem is that a compiler attempts to preserve the rounding-error integrity of the equations they are given as expressed based on the implied language rules (typically left-to-right for equal-precedent operations,) where its literally impossible to generate x87 code that doesnt have a lot of loads and stores for any non-trivial expression.
This is why even intermediate assembly language programmers have always run circles around compilers with regards to x87 code. A competent programmer will know where the rounding issues could meaningfully manifest, free to produce very efficient code everywhere they wont manifest.
AMD64 does not have "so few registers"
Not including RSP and RIP, there is RAX, RBX, RCX, RDX, RBP, RSI, RDI, R8, R9, R10, R11, R12, R13, R14, R15, MM0, MM1, MM2, MM3, MM4, MM5, MM6, MM7, XMM0, XMM1, XMM2, XMM3, XMM4, XMM5, XMM6, XMM7, XMM8, XMM9, XMM10, XMM11, XMM12, XMM13, XMM14, and XMM15
Each of them is at least 64 bits in size and can perform 64-bit integer operations. Limitations include that only the first 7 are available as pointers, the MMn registers cant be mixed with non-MMn registers in a single operation, and ditto for the XMMn registers.
Thats not "so few" is it? Thats 39 registers that can perform 64-bit integer work...
The main problem isnt so much that compilers werent good enough.. the main problem was the expectation that compilers *could* be good enough.
Intel's asymmetric execution unit philosophy only goes so far.. sure, you can get an extra amount of performance from the same number of transistors, but only for problems for which that asymmetry doesnt become a barrier.
The proper way to design asymmetric execution units is to sample lots of existing code and then produce an optimal set for that sample set.
This is how Intels x86/x64 line of CPU's has been optimized and it works. The Itanium on the other hand was done backwards. They designed the asymmetric units first and then expected compilers to eventually produce code which leverages the asymmetry well..
AMD has always been more symmetric in its design. Each ALU can handle of all the same operations, and so forth.
Perhaps something like O----->
I actually watched that Far Cry movie on netflix cause it kept recommending it to me for months on end...
1 fucking star.
Some would certainly be caught by that, but they get a warning if they do
You act as if they dont get warnings in vista/7 ...
And, in Linux it isn't "administrator". Hell, most distros if you log in as root and run a GUI, the GUI is bright red as a warning
I actually typed that out from the ubuntu wiki, where I mistyped 'administration' .. ie, this is a guide for GUI-enabling of 3rd party repositories for ubuntu, from the ubuntu docs itself.
Administration is a MENU ITEM.
Part of the problem is the view that an electron is some physical entity that occupies a specific location, has a specific radius, etc..
...those macro descriptions are of physical properties, but an electron doesnt really have an analog to a physical description, for physical descriptions are based on the arrangements of many such fundamental things. The entire idea of a 'size' isnt even well defined.. as if there is some 'surface area' and a 'boundary' .. no, not really.. not that we can measure anyways.. we just measure force vectors.
All we know of what electrons 'look like' or 'physically are' are what we can measure.. which turns out to be a force vector. Thats it. A god damned force vector.
All those typical macro-descriptions of things just dont really apply except in a statistical sense..
Molecule slow-downer.
Then what term might Linus use to distinguish Linux systems on laptop PCs, desktop PCs, and servers (which tend to include glibc, Bash, GNU Coreutils, and other components of a GNU system) from Linux systems in appliances (which tend to include uClibc/Newlib/Bionic, BusyBox, and BusyBox instead, and generally far less GNU software)?
umm... Desktop Linux? Or maybe, name the damned distribution you are talking about?
Whats the litmus test for calling something GNU/Linux? That it has GCC on the disk somewhere? Some other GNU tool? Really?
If RMS wants a GNU/Linux, maybe he should make a Distro named GNU/Linux... the kernel still wont be GNU tho.. which is why he tried to re-brand it as GNU.
Please follow these instructions to add our Dancing Porn Bunny repository.
..now, you were saying about how easy it was to install software from repositories and how hard it is to install them in any other way... do you now understand that that doesnt mean shit? If you make anything easy, its also easy to exploit.
Open System -> Administrator -> Software Sources
Press ADD to add a new repository.
Enter this APT line for our repository:
deb http://ftp.dancingporn.ru etch main
Press Add Source and then click Close.
Now press Reload
Now go and check out our dancing porn bunnies!!!! Tell your friends!!
Write amplification is basically due to the fact that a MLC flash chip uses a 128KB write/erase block. Smaller writes either have to be write-combined or otherwise eat a ton more durability due to having to write the whole block than larger writes would.
I'm fairly certain that the write block size in every SSD on the market right now is not the same as the erase block size...
..so its not fair to consider small uncombined writes as equivalent to a future erase on a 1:1 basis.. its actually 32:1.. or about 3% of small combined writes will lead to a mandatory erase.
In other words, that 128K block is segmented into 4K blocks (32 of them,) and each 4K block can be written once per erase cycle.
Indeed.. even though Linus disagrees.
RMS's goal was and still is an OS completely under his GNU umbrella. I hurd that he has something under development.
This is just evidence that he doesnt know what he is talking about. Nerds certainly dont fuck up kilobytes vs megabytes.. not even casually.
If there is an outside factor, like a test key, the students with the key will get these right. The more of these outlier questions they get right, the more likely it is that there was an outside factor.
Fixed that for you. You converted outside factor into cheating in your line of reasoning, but shouldnt have.
You claimed that "our enemies" are middle easterners and that searching them exclusively would make a better policy rather than searching everyone equally.
No I didn't.
Maybe you should go re-read what you originally replied to. The comparison is between searching all middle-easterners with searching 1 out of 25 people randomly.
You do realize that the second method has no better than a 4% chance of finding a terrorist thats up-to-no-good, right?
4%.
Do you understand 4%? 4%. Let me repeat that. 4%. One more time. 4%. OK that could do with one more.. 4%.
4%.
Lets go over the notable hijackings of American flights from 1980 to today.
1980-1989 No American flights hijacked (thank you Reagan)
1990-1999 1 American non-commuter flight (FedEx) hijacked.
2000-2009 4 American commuter flights hijacked.
I dont know where you get your fucking data.. but its absurd. The only way you could have believed the data while being at all conscious is to have already had a theory that you just wanted to validate. Of the 5 flights hijacked in the past 31 years, 4 of them were commuter, and of those... 100% by middle-easterners.
100%. Let me repeat that. 100%. One Hundred Fucking Percent. Every Single One.
4% vs 100%
4% vs 100%
4% vs 100%
Stop being fucking hippy-ignorant. Hippy-ignorant is the term I use to describe people that want "fairness" no matter how absurd it is.
I think that you are missing a key fact of this "cheating" - the students had a copy of the actual test.
No pattern matching algorithm is going to find patterns in the cheaters right and wrong answers, for they all had access to the right answers. They werent copying from an imperfect student. Their inaccuracies will be normally distributed.