OK - I know there are implementation differences (mainly that most modern UNIX platforms use ELF binaries, which use procedure linkage tables & global offset tables to minimise the number of pages touched by relocation at the cost of a register, whereas Windows uses a bastardised variant of COFF which uses direct relocations, typically meaning that the same dynamically linked code runs faster but loads slower and uses more memory on Windows).
Another important difference is that Windows checks the application directory and current working directory for DLL files implicitly, whereas Unix systems only search for.so files on the library path. This makes Windows more flexible, but is purchased at the cost of security.
But as to actual usage differences -- I'm afraid that despite a fairly good knowledge of the operation of both I can't see any.
It makes you wonder though, if a worm hits on an unknown exploit, will Microsoft be responsible? In any other industry, I'd have to say yes, but I'm not so sure when it comes to software.
It would come down to whether it was negligent of Microsoft not to spot the problem. You are right that very few fields outside of software engineering provide an opportunity for a safety critical flaw to exist that would be difficult to detect by a competent individual scanning the design (source code) for the product, so software is rather unique in that they could probably get away with it.
That half million times is only true if you're accessing a single word from the page. It'll come down to about (500,000 / (PAGE_SIZE/MEM_ACCESS_SIZE)), or about 1000 for IA32 processors [*1], if you're accessing the entire page, as you'd need to do to perform a checksum. Still, it is just a drop in the ocean...
*1 - using 4K pages and 64 bit memory accesses. What size page does Linux use for swapping? larger pages would be more efficient...
True, but in most real applications the latency of the disk is the real cost of using the system -- you don't tend to do sustained transfers from swap to CPU. Most memory accesses use a small amount from a single page and then skip to using another. Modern programs tend to have very bad locality of reference.
This article contains a very large number of assumptions, which may well prove not to be the case (constant cosmological constant, no FTL communication/travel, no access to other universes etc. etc.). Still, an interesting intellectual exercise I suppose...;-)
I also don't believe it holds up in the face of quantum computing - one of the assumptions that is made is a maximum amount of information that can be moved across a channel in the presence of noise, from which they directly derive their limit. I'm not an expert on information theory, but I believe quantum computing can allow transfers of more information than this due to the fact that you can move information in a quantum superposition such that many bits of virtual information are superimposed in what could only store one real bit of information (and will give one bit of output at the end).
I haven't seen anything by Penrose which is like this. In fact, this article states an assumption ("consciousness is fundamentally computational in nature") that directly contradicts Penrose's most well known result, a rather dubious pseudo-mathematical "proof" that consciousness _cannot_ be computational as a consequence of Godel's Incompleteness Theorem.
Have you read the article? All it states is that no civilisation could possibly extend Moore's Law beyond 600 years. That's the only reference to Moore's Law in the entire article, and its a reasonable one. It puts into terms we can (just about) understand the implications of the discovery. Who knows what 1.5 * 10^220 bits of information processed is? But 600 years of development at the current rate is slightly more imaginable (although, I'll admit, only marginally so).
And they claim they are trying to promote increased PHP security?
Its a coding challenge with a security slant. This makes it harder. Seems sensible to me.
As a PHP programmer, you have to learn to work with register globals both on & off, because you never know which way round your client's ISP will have it set. Essentially, this means programming without the convenience of having the globals registered, and with the possibility of them being a security problem. All in the name of compatibility...
Important differences between the case you cite and this one:
1. That's a trademark, this is copyright. Very different. 2. There is no real reason why they _have_ to have "GPL" at the start there. Their code will work without it, it will just cause a message to the effect that there are non-GPL drivers loaded to be displayed. 3. In the case you site it _is_ the console's integral code that displays the trademark. In this case it is the module code in question that includes the text "GPL", followed by a string termination character, in a space reserved for the module's license.
OTOH, I would note that the letters GPL do not in themselves constitue a license grant; they are merely an abbreviation that is usually used to refer to a specific license. In this case, however, they could just as easily stand for "Greg's Private License" (under which you don't get any rights whatsoever).
since binary modules have been around since very early on in the kernels development history without any enforcement of the GPL with regards to them, wouldnt that potentially count against the GPL applying to binary modules if someone did decide to take action?
No. That idea only applies to patents, I believe. You're perfectly entitled to enforce your copyrights as selectively as you like. You could only ever sue microsoft, if the desire took you (and you could prove they had infringed your copyright), no matter how many other people are doing it.
Actually, if it was running a spam blocklist, I'd suggest that administrators using it automatically send out, every 1000 blocked mail or so, at random, an email explaining why an email from this domain was blocked. Eventually, such an auto-reply is bound to reach one of the domain's legit customers (in this case, Telefonica) who would in turn demand explanations from the ISP they leave money to.
Most blacklisting setups include an explanation in the returned mail on every message. You see, the SMTP server refuses the message with a line like:
550 Your address is blacklisted; see http://www.myexampleblacklist.org/blacklisted.html for an explanation of what this means
and almost all SMTP relays will then include this line in the failure notice they send back to the original sender.
Anyone who actually _READS_ the failure notice will have a fairly clear explanation to them of what's going on.
Have you ever actually heard of an ISP listening to customer complaints? It certainly really helped when I complained to BTOpenworld that some of my e-mail was being rejected last year. Or was that "didn't help at all"... yes, I think that might have been it.
It is (presumably) usually a user's choice to use blacklist such as the ones being discussed. This choice will usually be made only after being informed of what the blacklist's policies are.
Surely this would mean that everyone using a blacklist that specifically targeted 419 and "phishing" scams was aware of such scams, at which point they are very unlikely to become a victim of them... so is there actually any point in doing this?
My understanding of the matter is that this is probably the man to ask. I've certainly heard him quoted as having written the screenplay of the first episode of ST:TNG to feature the Ferengi, although for the life of me I can't remember where I got this information from.
The "switching cost" referred to in the memo is the costing of porting existing custom-written applications to work on a different operating system.
But, yes, there is a cost involved in switching at a user level too -- this just wasn't what was being discussed by (hint) the head of the C++ product line.
the concept of scene graph (the 3D scene is a tree, if you affect an object its children are affected) which was by popularized by VRML has proven to be quite effective for developping virual worlds, and has been for example adopted in newer technologies like Java 3D.
Furthermore, this is really just a Quantum Key exchange. So tack on whatever protocol you wish to use once you have the key. Quantum encryption is something that would require quantum computing first.
Also please note, the quantum transmission is not even "secure." Its just that if anyone but you reads it, you are secure in the knowledge that you will know about it.
OK - here's what you missed. Its a two phase process. Yes, the clever part is the key exchange - you can exchange a key and know with certainty if it has been intercepted. You then use that information to determine whether or not to send the message encrypted using a traditional encryption algorithm (note that if your key is large enough, traditional encryption methods become truly unbreakable -- the 'one time pad' that is usually used as proof of this concept uses a key that is the same size as the message). If anybody know the key, you don't send the message. Thus, an eavesdropper cannot gain any useful information. After all, what use is knowing an encryption key that will never be used?
do you think that keeping the Office formats a moving target since 95 was just a game the dev team played 'cause they were bored
If this were really intentional, each version would have an entirely different file structure. I'm willing to wager that it was just bad planning - they failed to produce a file format that could expand to support new features when they were developed, so had to make substantial changes to it.
1. Microsoft have lied about how well their products perform relative to the competition in order to gain more customers and artificially inflate the value of their products, 2. Microsoft have deliberately engaged in tactics to make it impractical for people to use competitive products, thus reducing your choice in the market place, and 3. Microsoft use illegal practices to artifically maintain a virtual monopoly on certain types of software (by leveraging OS dominance in order to gain application dominance), the result of which is that they can charge higher prices for this software than would otherwise be reasonable?
OK - I know there are implementation differences (mainly that most modern UNIX platforms use ELF binaries, which use procedure linkage tables & global offset tables to minimise the number of pages touched by relocation at the cost of a register, whereas Windows uses a bastardised variant of COFF which uses direct relocations, typically meaning that the same dynamically linked code runs faster but loads slower and uses more memory on Windows).
.so files on the library path. This makes Windows more flexible, but is purchased at the cost of security.
Another important difference is that Windows checks the application directory and current working directory for DLL files implicitly, whereas Unix systems only search for
But as to actual usage differences -- I'm afraid that despite a fairly good knowledge of the operation of both I can't see any.
It makes you wonder though, if a worm hits on an unknown exploit, will Microsoft be responsible? In any other industry, I'd have to say yes, but I'm not so sure when it comes to software.
It would come down to whether it was negligent of Microsoft not to spot the problem. You are right that very few fields outside of software engineering provide an opportunity for a safety critical flaw to exist that would be difficult to detect by a competent individual scanning the design (source code) for the product, so software is rather unique in that they could probably get away with it.
There is no perfect method that will be best for all situations.
True, but I think in most cases it is fair to say that reusing a live process's page for disk cache is usually undesirable.
There's a detailed discussion of the Piri Reis map here which shows these claims are almost certainly false.
That's half a million times slower than memory?
That half million times is only true if you're accessing a single word from the page. It'll come down to about (500,000 / (PAGE_SIZE/MEM_ACCESS_SIZE)), or about 1000 for IA32 processors [*1], if you're accessing the entire page, as you'd need to do to perform a checksum. Still, it is just a drop in the ocean...
*1 - using 4K pages and 64 bit memory accesses. What size page does Linux use for swapping? larger pages would be more efficient...
True, but in most real applications the latency of the disk is the real cost of using the system -- you don't tend to do sustained transfers from swap to CPU. Most memory accesses use a small amount from a single page and then skip to using another. Modern programs tend to have very bad locality of reference.
VM meant virtual memory a long time before it meant virtual machine.
Its the change in meaning of UML that I can't get my head around these days...
This article contains a very large number of assumptions, which may well prove not to be the case (constant cosmological constant, no FTL communication/travel, no access to other universes etc. etc.). Still, an interesting intellectual exercise I suppose... ;-)
I also don't believe it holds up in the face of quantum computing - one of the assumptions that is made is a maximum amount of information that can be moved across a channel in the presence of noise, from which they directly derive their limit. I'm not an expert on information theory, but I believe quantum computing can allow transfers of more information than this due to the fact that you can move information in a quantum superposition such that many bits of virtual information are superimposed in what could only store one real bit of information (and will give one bit of output at the end).
I haven't seen anything by Penrose which is like this. In fact, this article states an assumption ("consciousness is fundamentally computational in nature") that directly contradicts Penrose's most well known result, a rather dubious pseudo-mathematical "proof" that consciousness _cannot_ be computational as a consequence of Godel's Incompleteness Theorem.
So, no, it isn't really like Penrose's work.
Have you read the article? All it states is that no civilisation could possibly extend Moore's Law beyond 600 years. That's the only reference to Moore's Law in the entire article, and its a reasonable one. It puts into terms we can (just about) understand the implications of the discovery. Who knows what 1.5 * 10^220 bits of information processed is? But 600 years of development at the current rate is slightly more imaginable (although, I'll admit, only marginally so).
4. Register Globals will be on.
And they claim they are trying to promote increased PHP security?
Its a coding challenge with a security slant. This makes it harder. Seems sensible to me.
As a PHP programmer, you have to learn to work with register globals both on & off, because you never know which way round your client's ISP will have it set. Essentially, this means programming without the convenience of having the globals registered, and with the possibility of them being a security problem. All in the name of compatibility...
Important differences between the case you cite and this one:
1. That's a trademark, this is copyright. Very different.
2. There is no real reason why they _have_ to have "GPL" at the start there. Their code will work without it, it will just cause a message to the effect that there are non-GPL drivers loaded to be displayed.
3. In the case you site it _is_ the console's integral code that displays the trademark. In this case it is the module code in question that includes the text "GPL", followed by a string termination character, in a space reserved for the module's license.
OTOH, I would note that the letters GPL do not in themselves constitue a license grant; they are merely an abbreviation that is usually used to refer to a specific license. In this case, however, they could just as easily stand for "Greg's Private License" (under which you don't get any rights whatsoever).
since binary modules have been around since very early on in the kernels development history without any enforcement of the GPL with regards to them, wouldnt that potentially count against the GPL applying to binary modules if someone did decide to take action?
No. That idea only applies to patents, I believe. You're perfectly entitled to enforce your copyrights as selectively as you like. You could only ever sue microsoft, if the desire took you (and you could prove they had infringed your copyright), no matter how many other people are doing it.
Actually, if it was running a spam blocklist, I'd suggest that administrators using it automatically send out, every 1000 blocked mail or so, at random, an email explaining why an email from this domain was blocked. Eventually, such an auto-reply is bound to reach one of the domain's legit customers (in this case, Telefonica) who would in turn demand explanations from the ISP they leave money to.
l for an explanation of what this means
Most blacklisting setups include an explanation in the returned mail on every message. You see, the SMTP server refuses the message with a line like:
550 Your address is blacklisted; see http://www.myexampleblacklist.org/blacklisted.htm
and almost all SMTP relays will then include this line in the failure notice they send back to the original sender.
Anyone who actually _READS_ the failure notice will have a fairly clear explanation to them of what's going on.
Have you ever actually heard of an ISP listening to customer complaints? It certainly really helped when I complained to BTOpenworld that some of my e-mail was being rejected last year. Or was that "didn't help at all"... yes, I think that might have been it.
A question:
It is (presumably) usually a user's choice to use blacklist such as the ones being discussed. This choice will usually be made only after being informed of what the blacklist's policies are.
Surely this would mean that everyone using a blacklist that specifically targeted 419 and "phishing" scams was aware of such scams, at which point they are very unlikely to become a victim of them... so is there actually any point in doing this?
My understanding of the matter is that this is probably the man to ask. I've certainly heard him quoted as having written the screenplay of the first episode of ST:TNG to feature the Ferengi, although for the life of me I can't remember where I got this information from.
The "switching cost" referred to in the memo is the costing of porting existing custom-written applications to work on a different operating system.
But, yes, there is a cost involved in switching at a user level too -- this just wasn't what was being discussed by (hint) the head of the C++ product line.
the concept of scene graph (the 3D scene is a tree, if you affect an object its children are affected) which was by popularized by VRML has proven to be quite effective for developping virual worlds, and has been for example adopted in newer technologies like Java 3D.
Not to mention older ones, like POVRay.
Oh, wait.
Furthermore, this is really just a Quantum Key exchange. So tack on whatever protocol you wish to use once you have the key. Quantum encryption is something that would require quantum computing first.
Also please note, the quantum transmission is not even "secure." Its just that if anyone but you reads it, you are secure in the knowledge that you will know about it.
OK - here's what you missed. Its a two phase process. Yes, the clever part is the key exchange - you can exchange a key and know with certainty if it has been intercepted. You then use that information to determine whether or not to send the message encrypted using a traditional encryption algorithm (note that if your key is large enough, traditional encryption methods become truly unbreakable -- the 'one time pad' that is usually used as proof of this concept uses a key that is the same size as the message). If anybody know the key, you don't send the message. Thus, an eavesdropper cannot gain any useful information. After all, what use is knowing an encryption key that will never be used?
do you think that keeping the Office formats a moving target since 95 was just a game the dev team played 'cause they were bored
If this were really intentional, each version would have an entirely different file structure. I'm willing to wager that it was just bad planning - they failed to produce a file format that could expand to support new features when they were developed, so had to make substantial changes to it.
Did you consider the fact that:
1. Microsoft have lied about how well their products perform relative to the competition in order to gain more customers and artificially inflate the value of their products,
2. Microsoft have deliberately engaged in tactics to make it impractical for people to use competitive products, thus reducing your choice in the market place, and
3. Microsoft use illegal practices to artifically maintain a virtual monopoly on certain types of software (by leveraging OS dominance in order to gain application dominance), the result of which is that they can charge higher prices for this software than would otherwise be reasonable?
Reckon he does. Now go read it.
# grep -src FIXME /usr/src/linux
grep: invalid option -- r
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.
I think you've got an enhanced version of grep, there.
(please ignore other copy of this post, it got screwed up)
... err... trip to the book store.
Yeah. A reader 'bluescreen' goes sort of like this:
Reader: 'What?'
[reads last sentence again]
'Huh!'
[throws book across room]
This is often followed by an immediate reboot