Unless Microsoft are idiots, they are doing this using user-space libraries that respond to errors returned by system calls by instead invoking the privledge escalation.
Therefore this is trivial to implement on Linux, such as with a wrapper libc. However I would agree that perhaps this has never been tried, though I would look into the implementations of various security packages on Linux and other systems, including 3rd party stuff for Windows.
I think FUD is the correct term for "Linux infringes hundreds of our patents but we won't say which ones".
Supposedly the TomTom suit was a patent defense, however I question it as there were several other navigation-specific patents they used as well and it seems strange that they threw in one that every camera manufacturer in the world is violating.
A "troll" actually tries to collect money. Microsoft is not using patents this way.
The ability to "copy" a file without having to worry about it's type put Unix way ahead. And real hierarchial directories with a sensible syntax without different rules for the levels! (something that Microsoft refuses to learn after decades...)
I was very impressed, having come from using VMS for about 2 years before I started on Unix (I was at Dec and they had a small VAX running BSD because they wanted to port a CLU compiler from it to VMS). This was 1982.
The commands were cryptically short, so I certainly immediatly added "alias" for everything to get the commands I was familiar with. However I disagree about help, the "man" pages were enormously more useful than anything VMS "help" ever coughed up. Also it was about 100 times easier to write working C programs (on VMS it was easier to translate C into BLISS than to try to get a C program to link).
I did like the VMS editor better. I'm not even sure what I edited with on the Unix machine, it may have been vi? Or even TECO.
You are thinking of just the root account, or maybe "su" which is really "login as root".
"sudo" as in "run a single command as root and furthermore examine the commands before running them and restrict them to a set, and furthermore examine the user trying to run sudo to select the restricted set" was developed after Linux was popular.
However I believe a good deal of the work was done on BSD and other Unixes as well.
"Patent troll" means a company that does not produce any product and only sues for patent infringements.
This is not what Microsoft is doing, Microsoft is either making a defensive patent or actively trying to prevent competitors by outlawing obvious solutions, depending on your pov.
It is not uncommon to pop up the sudo dialog in response to a permission-denied error from exec(). Therefore this patent does describe already-existing art. You and a dozen other posters seem to think the error detection has to be in the same process that actually does the access violation.
At least in my experience, when you try to do something you're not allowed to do in Linux, you get a Permission Denied type response
Which a calling program can catch and therefore decide to pop up this sudo dialog box. Catching the error from exec() is exactly the right way to do this. I think you are imagining that "detection" is somehow run in the target programs space or something, but "detection" can be done by the CALLING program. This is the same thing.
"The agency, citing federal policies, told the two lawyers, Laurie Williams and Allan Zabel, who are married and based in San Francisco, that they could mention their E.P.A. affiliation only once; must remove language specifying Mr. Zabel’s expertise and their years of employment with the agency; and must remove an image of the agency’s office in San Francisco.
Ms. Williams and Mr. Zabel say cap and trade, in which the government sets a limit on gases that contribute to global warming and then lets companies trade permits to meet it, can be easily gamed by industry and fail to reduce the emissions linked to global warming."
Just thought it might be interesting to post what the article actually says as the first poster is somewhat misleading.
1. The complaint is that they must change the video to not imply that it is results of work at the agency
2. That the video makes a left-wing claim that the Obama administration is being too friendly to business. Not the "global warming is a hoax" claim you might guess from the parent's post.
Um, "fresh" for fish means "not-frozen", and has nothing to do with whether it is farmed or not. I think the term you are looking for is "wild" or perhaps "not-farmed".
"What, you mean I'm not allowed to point a camera in a certain direction and push the button?" (just because it happens to be pointed at a copyright painting?) "You mean it's illegal to pluck magnetic waves from the atmosphere and visualize them?"
Those all are legal.
What you are not allowed to do is redistribute the result. Then you have violated copyright.
My opinion is yes to both. All file operations should treat the files inside a directory as part of that directory. And ELF could very well be split up into files, I would go as far as making loading such a directory memory-map all the files that don't have any other purpose and resolve unlinked symbols with those filenames to point to the mapped data, thus you can easily add "resources" by putting them into the directory.
I suspect copying to a remote system would involve marshalling, probably a simple form such as uncompressed tar.
Gravity actually goes down faster than the inverse square law. It is zero at geo-synchronous orbit level, which is smaller than the non-zero 1/n^2 of inverse square.
The reason is the centrifugal force of the cable spinning around with the earth.
Sure they would. If somebody uses the GPL version, they have to include the source code of their game with it along with a license that says anybody can copy or modify it for free! That is a pretty big limitation on any business model for a game company. They could however pay Epic for a different license to the code that would allow them to release closed source or otherwise limit what end users can do with the software.
Full freedom would be to have a hyper-intelligent oracle that produces a completely bug-free and perfect implemention of any software idea you can imagine, with infinite resources behind it and available to everybody instantly and with no cost.
My objection is that any such hierarchy of data could be stored as files.
Linux needs tools so that a directory can be manipulated as a file more easily. For instance cp/mv/etc should pretty much act like -r/-a is on all the time, and such recursive operations should be provided by libc and the kernel by default. Then programs are free to treat any point in the hierarchy as a "file". A fat binary would just be a bunch of binaries stuck in the same directory, and you would run it by exec of the directory itself. Also need filesystems designed for huge numbers of very small files and to make such manipulations efficient.
We need the tools to be advanced into the next century. Not use the workarounds of the previous ones as currently practiced on Unix and Windows.
I find it interesting that you declare "raise on click" to be "incorrect." You don't even pretend that it's a matter of opinion,
The reason it is incorrect is because THE PROGRAM CAN RAISE ITSELF IN RESPONSE TO A CLICK. Therefore a program can decide whether or not to raise the windows.
In addition this would remove a great deal of complex "child" and "layer" relationships that need to be communicated to the system, since the program can decide exactly what subset of windows to raise, thus simplifying the api considerably.
or concede that the earliest successful GUIs all did raise on click.
Yes, this was in X10 and was removed in X11 because they realized it was a mistake. That was in 1985 or so. Shameful that programmers forget.
It's not Windows' fault if a program locks-up its UI thread.
Excellent reading comprehension, there! I agree fully it is not Window's fault, and that X's ability to move/resize the windows but not redraw them is not any better.
No I can't blame them for not fixing this. What I can blame them for is not allowing me to make it possible to click without raising a window. It is obvious that it is physically possible as this is exactly what happens when the program does not respond, but all attempts to actually see the click (and I tried a lot) caused the window to raise.
If they did this then the Windows API would be better than X. As it is, I can still find X window managers that correctly do not raise on click (though Gnome is completely fucked up).
It does sound like it is libraries. A program running mulitple threads where the user code is in a different thread would not have this problem. Possibly that is where the reported gray windows are coming from.
Possibly, this was tested with a program using the Win32 API.
It does seem an easy fix would be for the system to detect that there is no response for about 1 second and then make the window move. Not sure why they bothered to gray out the window and why they can't get all the APIs.
Compiz IS EXACTLY THE SAME THING as Windows backing store and compositing window managers that allow the windows FROM DIFFERENT APPLICATIONS to be transparent and stack so you can see through them, and also so that redraws are unnecessary. I'm not sure why you think it has something to do with GPU acceleration. They are completely separate issues on both WIndows and X. You certainly can run Compiz or Windows compositing without hardware acceleration (it might be slow but it is not physically impossible).
And the link you provided says exactly the answer: the GPU accelerated API is OpenGL. It is not Compiz, any more than you use the window compositing on Windows to draw acclerated 3D in your game.
You really should get clear on what is happening rather than trying to act like you know stuff and proving you are an idiot.
If a program does not call the event processing function then nothing happens when you try to raise or move the window.
I personally don't see the real problem with this, I think X11's separate window manager is a mistake. Programs should be responsible for drawing their own window borders and resizing windows (consistency is done by the toolkits). It would mean that if a program hung you would be unable to raise or move windows on X11 as well. I don't see this as being much worse than the current behavior where you can raise/move them but they don't redraw so the exposed portions are garbage.
First of all any domain name is going to have to be encoded as a stream of bytes somehow because far too much stuff is already implemented to handle the string that way. As others pointed out punycode is used.
Second, UTF-8 is smaller than UTF-16 for all languages, even Chinese. This is because all the ASCII 0x00-0x7F characters are smaller, and therefore the encoding will be smaller if there are more of these than there Unicode 0x800-0xFFFF characters. This seems incorrect for Chinese but you have to realize that ASCII includes spaces, newlines, numbers, and all XML and HTML markup and therefore any reasonable sized Chinese document will be smaller in UTF-8.
Translating encodings to "wide characters" is a mistake, as you have noticed. You should write your software to deal with it in it's original encoding because that is the only way to intelligently deal with errors in the string. The fact that Windows uses UTF-16 for an encoding a lot seems to be confusing people no end, but please check exactly what they do when that UTF-16 has surrogate pairs, or even "invalid" surrogate halves. They are handling the original encoding, they are not "translating it to Unicode".
In UTF-8 if the second byte does not have the high bit set, it is an invalid encoding, and therefore should be treated as an error byte followed by that ASCII letter. You can be certain that if you see the byte 43 anywhere that it means a '+' , you do not ever have to examine surrounding bytes.
UTF-8 is much much easier to deal with than people think. The best way to deal with UTF-8 is to treat all sequences of bytes with the high bit set as some kind of "foreign word" that you should not interpret and not split. The fact that it might actually be a single Unicode code point or mulitple ones or contain errors really should have no effect on your software. Only in extremely rare circumstances, such as when you actually need to draw a string on the display for the user, do you need to do anything more complicated such as detect errors and figure out what Unicode code points are represented.
Unfortunatly there are far too many programmers who get completely flummoxed when presented with UTF-8 and go crazy trying to treat the Unicode decoding as "characters". This seems to be due to decades of being exposed to documentation that says "character" instead of "byte" so that they start to think there is some magical property so that the computer is incapable of pointing to a byte inside a character or that existence of such a pointer will somehow make the string unreadable. The best exercise is to imagine "words" in text and figure out why a huge amount of text processing is possible without having to always find the word boundaries, and why you can iterate over the "pieces" of the "words" without crashing and without making the string somehow "wrong", and that the word 'I' and 'a' have only one letter but are still "words", and then hit yourself with the clue-by-4 until you realize that there is no difference between a "word" and a "character".
Unless Microsoft are idiots, they are doing this using user-space libraries that respond to errors returned by system calls by instead invoking the privledge escalation.
Therefore this is trivial to implement on Linux, such as with a wrapper libc. However I would agree that perhaps this has never been tried, though I would look into the implementations of various security packages on Linux and other systems, including 3rd party stuff for Windows.
I think FUD is the correct term for "Linux infringes hundreds of our patents but we won't say which ones".
Supposedly the TomTom suit was a patent defense, however I question it as there were several other navigation-specific patents they used as well and it seems strange that they threw in one that every camera manufacturer in the world is violating.
A "troll" actually tries to collect money. Microsoft is not using patents this way.
You are right it appears it is a good deal older than Linux.
I remember it came from BSD but for some reason never heard of it until after Linux existed.
Actually there were not really any "bytes" at all, as in addressable units smaller than the 36-bit word.
Various software would store ASCII in the words in different ways, using 6x6, 7x5, or 4x9 bits for them.
The ability to "copy" a file without having to worry about it's type put Unix way ahead. And real hierarchial directories with a sensible syntax without different rules for the levels! (something that Microsoft refuses to learn after decades...)
I was very impressed, having come from using VMS for about 2 years before I started on Unix (I was at Dec and they had a small VAX running BSD because they wanted to port a CLU compiler from it to VMS). This was 1982.
The commands were cryptically short, so I certainly immediatly added "alias" for everything to get the commands I was familiar with. However I disagree about help, the "man" pages were enormously more useful than anything VMS "help" ever coughed up. Also it was about 100 times easier to write working C programs (on VMS it was easier to translate C into BLISS than to try to get a C program to link).
I did like the VMS editor better. I'm not even sure what I edited with on the Unix machine, it may have been vi? Or even TECO.
You are thinking of just the root account, or maybe "su" which is really "login as root".
"sudo" as in "run a single command as root and furthermore examine the commands before running them and restrict them to a set, and furthermore examine the user trying to run sudo to select the restricted set" was developed after Linux was popular.
However I believe a good deal of the work was done on BSD and other Unixes as well.
"Patent troll" means a company that does not produce any product and only sues for patent infringements.
This is not what Microsoft is doing, Microsoft is either making a defensive patent or actively trying to prevent competitors by outlawing obvious solutions, depending on your pov.
It is not uncommon to pop up the sudo dialog in response to a permission-denied error from exec(). Therefore this patent does describe already-existing art. You and a dozen other posters seem to think the error detection has to be in the same process that actually does the access violation.
At least in my experience, when you try to do something you're not allowed to do in Linux, you get a Permission Denied type response
Which a calling program can catch and therefore decide to pop up this sudo dialog box. Catching the error from exec() is exactly the right way to do this. I think you are imagining that "detection" is somehow run in the target programs space or something, but "detection" can be done by the CALLING program. This is the same thing.
"The agency, citing federal policies, told the two lawyers, Laurie Williams and Allan Zabel, who are married and based in San Francisco, that they could mention their E.P.A. affiliation only once; must remove language specifying Mr. Zabel’s expertise and their years of employment with the agency; and must remove an image of the agency’s office in San Francisco.
Ms. Williams and Mr. Zabel say cap and trade, in which the government sets a limit on gases that contribute to global warming and then lets companies trade permits to meet it, can be easily gamed by industry and fail to reduce the emissions linked to global warming."
Just thought it might be interesting to post what the article actually says as the first poster is somewhat misleading.
1. The complaint is that they must change the video to not imply that it is results of work at the agency
2. That the video makes a left-wing claim that the Obama administration is being too friendly to business. Not the "global warming is a hoax" claim you might guess from the parent's post.
Um, "fresh" for fish means "not-frozen", and has nothing to do with whether it is farmed or not. I think the term you are looking for is "wild" or perhaps "not-farmed".
"What, you mean I'm not allowed to point a camera in a certain direction and push the button?" (just because it happens to be pointed at a copyright painting?) "You mean it's illegal to pluck magnetic waves from the atmosphere and visualize them?"
Those all are legal.
What you are not allowed to do is redistribute the result. Then you have violated copyright.
My opinion is yes to both. All file operations should treat the files inside a directory as part of that directory. And ELF could very well be split up into files, I would go as far as making loading such a directory memory-map all the files that don't have any other purpose and resolve unlinked symbols with those filenames to point to the mapped data, thus you can easily add "resources" by putting them into the directory.
I suspect copying to a remote system would involve marshalling, probably a simple form such as uncompressed tar.
Gravity actually goes down faster than the inverse square law. It is zero at geo-synchronous orbit level, which is smaller than the non-zero 1/n^2 of inverse square.
The reason is the centrifugal force of the cable spinning around with the earth.
Sure they would. If somebody uses the GPL version, they have to include the source code of their game with it along with a license that says anybody can copy or modify it for free! That is a pretty big limitation on any business model for a game company. They could however pay Epic for a different license to the code that would allow them to release closed source or otherwise limit what end users can do with the software.
Public domain does not offer full freedom.
Full freedom would be to have a hyper-intelligent oracle that produces a completely bug-free and perfect implemention of any software idea you can imagine, with infinite resources behind it and available to everybody instantly and with no cost.
My objection is that any such hierarchy of data could be stored as files.
Linux needs tools so that a directory can be manipulated as a file more easily. For instance cp/mv/etc should pretty much act like -r/-a is on all the time, and such recursive operations should be provided by libc and the kernel by default. Then programs are free to treat any point in the hierarchy as a "file". A fat binary would just be a bunch of binaries stuck in the same directory, and you would run it by exec of the directory itself. Also need filesystems designed for huge numbers of very small files and to make such manipulations efficient.
We need the tools to be advanced into the next century. Not use the workarounds of the previous ones as currently practiced on Unix and Windows.
I find it interesting that you declare "raise on click" to be "incorrect." You don't even pretend that it's a matter of opinion,
The reason it is incorrect is because THE PROGRAM CAN RAISE ITSELF IN RESPONSE TO A CLICK. Therefore a program can decide whether or not to raise the windows.
In addition this would remove a great deal of complex "child" and "layer" relationships that need to be communicated to the system, since the program can decide exactly what subset of windows to raise, thus simplifying the api considerably.
or concede that the earliest successful GUIs all did raise on click.
Yes, this was in X10 and was removed in X11 because they realized it was a mistake. That was in 1985 or so. Shameful that programmers forget.
It's not Windows' fault if a program locks-up its UI thread.
Excellent reading comprehension, there! I agree fully it is not Window's fault, and that X's ability to move/resize the windows but not redraw them is not any better.
No I can't blame them for not fixing this. What I can blame them for is not allowing me to make it possible to click without raising a window. It is obvious that it is physically possible as this is exactly what happens when the program does not respond, but all attempts to actually see the click (and I tried a lot) caused the window to raise.
If they did this then the Windows API would be better than X. As it is, I can still find X window managers that correctly do not raise on click (though Gnome is completely fucked up).
It does sound like it is libraries. A program running mulitple threads where the user code is in a different thread would not have this problem. Possibly that is where the reported gray windows are coming from.
Even in Win93 backing store worked and the contents of the window were preserved if you moved other windows over it.
What I am talking about is the inability to resize, move, or raise the window of a program that is not calling the get-next-event api in WIN32.
I suspect the clams that this is fixed is due to .net using two threads, one of which keeps handling events. Or using some other API than WIN32.
Possibly, this was tested with a program using the Win32 API.
It does seem an easy fix would be for the system to detect that there is no response for about 1 second and then make the window move. Not sure why they bothered to gray out the window and why they can't get all the APIs.
Compiz IS EXACTLY THE SAME THING as Windows backing store and compositing window managers that allow the windows FROM DIFFERENT APPLICATIONS to be transparent and stack so you can see through them, and also so that redraws are unnecessary. I'm not sure why you think it has something to do with GPU acceleration. They are completely separate issues on both WIndows and X. You certainly can run Compiz or Windows compositing without hardware acceleration (it might be slow but it is not physically impossible).
And the link you provided says exactly the answer: the GPU accelerated API is OpenGL. It is not Compiz, any more than you use the window compositing on Windows to draw acclerated 3D in your game.
You really should get clear on what is happening rather than trying to act like you know stuff and proving you are an idiot.
Yes this is still true with Windows 7.
If a program does not call the event processing function then nothing happens when you try to raise or move the window.
I personally don't see the real problem with this, I think X11's separate window manager is a mistake. Programs should be responsible for drawing their own window borders and resizing windows (consistency is done by the toolkits). It would mean that if a program hung you would be unable to raise or move windows on X11 as well. I don't see this as being much worse than the current behavior where you can raise/move them but they don't redraw so the exposed portions are garbage.
Several mistakes there.
First of all any domain name is going to have to be encoded as a stream of bytes somehow because far too much stuff is already implemented to handle the string that way. As others pointed out punycode is used.
Second, UTF-8 is smaller than UTF-16 for all languages, even Chinese. This is because all the ASCII 0x00-0x7F characters are smaller, and therefore the encoding will be smaller if there are more of these than there Unicode 0x800-0xFFFF characters. This seems incorrect for Chinese but you have to realize that ASCII includes spaces, newlines, numbers, and all XML and HTML markup and therefore any reasonable sized Chinese document will be smaller in UTF-8.
Translating encodings to "wide characters" is a mistake, as you have noticed. You should write your software to deal with it in it's original encoding because that is the only way to intelligently deal with errors in the string. The fact that Windows uses UTF-16 for an encoding a lot seems to be confusing people no end, but please check exactly what they do when that UTF-16 has surrogate pairs, or even "invalid" surrogate halves. They are handling the original encoding, they are not "translating it to Unicode".
In UTF-8 if the second byte does not have the high bit set, it is an invalid encoding, and therefore should be treated as an error byte followed by that ASCII letter. You can be certain that if you see the byte 43 anywhere that it means a '+' , you do not ever have to examine surrounding bytes.
UTF-8 is much much easier to deal with than people think. The best way to deal with UTF-8 is to treat all sequences of bytes with the high bit set as some kind of "foreign word" that you should not interpret and not split. The fact that it might actually be a single Unicode code point or mulitple ones or contain errors really should have no effect on your software. Only in extremely rare circumstances, such as when you actually need to draw a string on the display for the user, do you need to do anything more complicated such as detect errors and figure out what Unicode code points are represented.
Unfortunatly there are far too many programmers who get completely flummoxed when presented with UTF-8 and go crazy trying to treat the Unicode decoding as "characters". This seems to be due to decades of being exposed to documentation that says "character" instead of "byte" so that they start to think there is some magical property so that the computer is incapable of pointing to a byte inside a character or that existence of such a pointer will somehow make the string unreadable. The best exercise is to imagine "words" in text and figure out why a huge amount of text processing is possible without having to always find the word boundaries, and why you can iterate over the "pieces" of the "words" without crashing and without making the string somehow "wrong", and that the word 'I' and 'a' have only one letter but are still "words", and then hit yourself with the clue-by-4 until you realize that there is no difference between a "word" and a "character".