4 (Insightful)!? Almost every statement in this post is incorrect.
The description of simply connected is a description of connectedness. Simply connected means your space doesn't have holes in it, in addition to being connected. This is required, since there are obviously 2-D surfaces (think of donuts) that are connected, yet not homeomorphic to a 2-sphere.
A manifold is a space that is locally homeomorphic to Euclidean space. i.e. if you take a very small piece of the space near a point, it looks like a small piece of R^n. A figure 8 curve is an example of a 1-dimensional space that is not a manifold.
Homeomorphic means that there exists a bicontinuous (continuous in both directions) one-one correspondence between the spaces.
Compactness has precisely nothing to do with surface areas and volumes. If an objects surface area is as small as it can get wrt its volume, it's a sphere, and this has been known for a long time. Secondly, circles are 1-D, not 2-D.
Intuitively the notion of compactness corresponds to being `finite'. In R^n, a set is compact if it is closed (i.e. contains its boundary) and bounded (doesn't stretch off to infinity). The general definition of compactness is more hairy: one way of stating it is that every infinite sequence in the set has a convergent subsequence (note that the limit also has to be in the set).
What the Poincare conjecture states, roughly, is that any closed bounded d-dimensional object in R^n that doesn't have any holes in it (this makes it homotopy equivalent to a d-sphere) is actually homeomorphic to a d-sphere. (Note: it's non-trivial to prove that a compact d-dimensional manifold can actually be embedded in R^n for some n).
If you're interested in this, also see FreeBSD's kern.securelevel facility. From the init(8) manpage:
The kernel runs with four different levels of security. Any super-user
process can raise the security level, but no process can lower it. The
security levels are:
-1 Permanently insecure mode - always run the system in level 0 mode.
This is the default initial value.
0 Insecure mode - immutable and append-only flags may be turned off.
All devices may be read or written subject to their permissions.
1 Secure mode - the system immutable and system append-only flags may
not be turned off; disks for mounted filesystems,/dev/mem, and
/dev/kmem may not be opened for writing; kernel modules (see
kld(4)) may not be loaded or unloaded.
2 Highly secure mode - same as secure mode, plus disks may not be
opened for writing (except by mount(2)) whether mounted or not.
This level precludes tampering with filesystems by unmounting them,
but also inhibits running newfs(8) while the system is multi-user.
In addition, kernel time changes are restricted to less than or
equal to one second. Attempts to change the time by more than this
will log the message ``Time adjustment clamped to +1 second''.
3 Network secure mode - same as highly secure mode, plus IP packet
filter rules (see ipfw(8) and ipfirewall(4)) cannot be changed and
dummynet(4) configuration cannot be adjusted.
If the security level is initially nonzero, then init leaves it
unchanged. Otherwise, init raises the level to 1 before going multi-user
for the first time. Since the level can not be reduced, it will be at
least 1 for subsequent operation, even on return to single-user. If a
level higher than 1 is desired while running multi-user, it can be set
before going multi-user, e.g., by the startup script rc(8), using
sysctl(8) to set the ``kern.securelevel'' variable to the required secu
rity level.
If your description is approximately correct, the way to solve this is not with a clever VM, but to simply rewrite your program to explicitly maintain roughly 10Mb of your array on disk. You could do this by `wiring' down most of your array so it isn't swapped out (can be done only if you are root). Of course, the _real_ solution is to rewrite your program to use a smarter algorithm, or at least implement the sieve slightly more intelligently.
Any mainstream VM algorithm will essentially wind up reading your entire array from disk every time you make a pass through it. MRU/random/hinting will not help (since the CPU processing is so much faster than I/O, significant overlap cannot be achieved). The trick in this case is essentially not to pageout at all for most of the array, and let the last 10Mb be accessed purely from disk.
You have to keep in mind while reading complexity theory papers that practically all of them make the fundamental assumption that P != NP (and usually a whole bunch of other assumptions as well). It has definitely not been shown unconditionally that NP-complete problems are not in QP#. Perhaps it has been shown that if an NP-complete problem is solvable in QP#, then NP can be solved in probabilistic poly time.
But for all we know, NP-complete problems can be solved in polynomial time.
The example of chess you give is surprising. It isn't clear that chess (or any game, for that matter) is obviously NP. If someone gave you "the best move" for white, how would you verify in polynomial time that he is correct? (Note: this assumes an nxn version of chess, since for the 8x8 version, one can just precompute everything: theoretically speaking, 8x8 chess is solvable in constant time).
The truly frightening bit is that the moron who made the statement about Google not thinking through its software design is a CTO, and author of a book on writing secure software. (shudder)
The point about the new kinds of files (Word docs, Excel sheets etc) being more vulnerable to virii is significant, though.
It's very unclear what your opinion on the matter of trademarking generic English words really is. If you say that Rose is a generic term for 'members of the Rosa genus', so I shouldn't trademark my specially bred rose as a BlueRose, say, but you _can_ trademark Rose as a name for a plasma rifle, I think everyone's in agreement here.
However, then your argument for Illustrator falls flat on its face, because 'Illustrator' arguably _is_ a generic term for tools that illustrate. Making fine distinctions saying that people who illustrate are illustrators while tools helping you do so are not is pointless. If you shouldn't trademark Draw, you shouldn't trademark Illustrator either. Would you say that I shouldn't trademark the name of a flower BlueRose, but I could trademark the name of the corresponding plant, or the seed?
You can trademark adobe, because it certainly doesn't refer to companies making software, hence not generic in that context. I would be leery of allowing people to trademark the adobe line of bricks for making adobe houses, however.
Don't forget also that trademarks become void if the trademark enters the common language: the reason why Xerox runs all those ads reminding you to say 'photocopy a document', not 'Xerox a document'. Why should the reverse (a common English word becoming a trademark for the very thing it means) be permitted?
In brief: the coffee was served at 185 degrees, a temperature known to cause third-degree burns in two to seven seconds. (Also obviously a temperature too hot to drink the coffee). McDonald's had got over 700 claims by people burned by its coffee in the preceding 10 years. The woman initially claimed only $20000 to cover medical expenses. McD's refused and the case went to court. The jury found the lady 1/5th at fault, and awarded her $160,000 in damages and 2.7 mill in punitive damages, subsequently reduced to $480,000. The parties later settled in secret.
It should also be pointed out that this lawsuit was the only thing that convinced McD's to lower the temperature of its coffee to a safe level, as evidenced by their ignoring 700 claims over the previous decade.
There is also a popular myth floating around that the woman tried to open her coffee cup while driving: not true. She was in the passenger seat of the car with her grandson, and the car was stationary when the spill occured.
Re:Flashcom Sucks, then Steals
on
DSL Woes
·
· Score: 1
Had a similar experience with FlashCom: I signed up with them for DSL service, they gave me an appointment 3 weeks in future, and noted down my credit card number. A week later, discovered that I would be moving in a couple of months, so called them up and told them to cancel it. Rep said, ok, no problem. Then got my next CC bill and saw a $100 installation charge from FlashCom. After this it was impossible to get ahold of their customer service: I got through twice after half-hour holds, only to be told "yes, your account has been cancelled" and then hung up on when I mentioned the $100. I had to dispute the charge to finally get my money back, and it took two months. Sure hope they go out of business.
I thought they could only require a background check as a precondition for giving you the job, i.e., once they have interviewed you and decided that they will make an offer, they can do a credit/background check, and can then refuse you a job only if they find something bad in the check. I don't think they can check you before interviewing.
Besides, you seem to have missed the point of my original post. Linking to an illegal site is synonymous with fencing stolen goods. Not really. As others have pointed out, in this instance, intent can be very important. Consider the case of a newspaper reporting that there are lots of prostitutes frequenting a particular neighbourhood in the city. Are they then guilty of pimping? Or does it qualify as investigative reporting?
What about BSD's cvsup? Or CTM (patches by e-mail)? Most of the work is done by the server, especially for CTM. What's updated is source code, not `packages' which can be bought, but does that make a difference?
One thing that bugs me is that LILO doesn't have an option to force it to use my lilo.conf. So when you, say, install BSD, you have to boot into linux after the install, edit the lilo.conf, run lilo, and reboot, instead of being able to do it before installing. Also, a thing I like to do is have an other=floppy, so I can boot off of a floppy without having to change my BIOS setup. But to con lilo into this, you have to insert a bootable floppy before running it. And I couldn't get this trick to work with a cdrom drive.
4 (Insightful)!? Almost every statement in this post is incorrect.
The description of simply connected is a description of connectedness. Simply connected means your space doesn't have holes in it, in addition to being connected. This is required, since there are obviously 2-D surfaces (think of donuts) that are connected, yet not homeomorphic to a 2-sphere.
A manifold is a space that is locally homeomorphic to Euclidean space. i.e. if you take a very small piece of the space near a point, it looks like a small piece of R^n. A figure 8 curve is an example of a 1-dimensional space that is not a manifold.
Homeomorphic means that there exists a bicontinuous (continuous in both directions) one-one correspondence between the spaces.
Compactness has precisely nothing to do with surface areas and volumes. If an objects surface area is as small as it can get wrt its volume, it's a sphere, and this has been known for a long time. Secondly, circles are 1-D, not 2-D.
Intuitively the notion of compactness corresponds to being `finite'. In R^n, a set is compact if it is closed (i.e. contains its boundary) and bounded (doesn't stretch off to infinity). The general definition of compactness is more hairy: one way of stating it is that every infinite sequence in the set has a convergent subsequence (note that the limit also has to be in the set).
What the Poincare conjecture states, roughly, is that any closed bounded d-dimensional object in R^n that doesn't have any holes in it (this makes it homotopy equivalent to a d-sphere) is actually homeomorphic to a d-sphere. (Note: it's non-trivial to prove that a compact d-dimensional manifold can actually be embedded in R^n for some n).
If you're interested in this, also see FreeBSD's kern.securelevel facility. From the init(8) manpage:
/dev/mem, and
/dev/kmem may not be opened for writing; kernel modules (see
The kernel runs with four different levels of security. Any super-user
process can raise the security level, but no process can lower it. The
security levels are:
-1 Permanently insecure mode - always run the system in level 0 mode.
This is the default initial value.
0 Insecure mode - immutable and append-only flags may be turned off.
All devices may be read or written subject to their permissions.
1 Secure mode - the system immutable and system append-only flags may
not be turned off; disks for mounted filesystems,
kld(4)) may not be loaded or unloaded.
2 Highly secure mode - same as secure mode, plus disks may not be
opened for writing (except by mount(2)) whether mounted or not.
This level precludes tampering with filesystems by unmounting them,
but also inhibits running newfs(8) while the system is multi-user.
In addition, kernel time changes are restricted to less than or
equal to one second. Attempts to change the time by more than this
will log the message ``Time adjustment clamped to +1 second''.
3 Network secure mode - same as highly secure mode, plus IP packet
filter rules (see ipfw(8) and ipfirewall(4)) cannot be changed and
dummynet(4) configuration cannot be adjusted.
If the security level is initially nonzero, then init leaves it
unchanged. Otherwise, init raises the level to 1 before going multi-user
for the first time. Since the level can not be reduced, it will be at
least 1 for subsequent operation, even on return to single-user. If a
level higher than 1 is desired while running multi-user, it can be set
before going multi-user, e.g., by the startup script rc(8), using
sysctl(8) to set the ``kern.securelevel'' variable to the required secu
rity level.
If your description is approximately correct, the way to solve this is not with a clever VM, but to simply rewrite your program to explicitly maintain roughly 10Mb of your array on disk. You could do this by `wiring' down most of your array so it isn't swapped out (can be done only if you are root). Of course, the _real_ solution is to rewrite your program to use a smarter algorithm, or at least implement the sieve slightly more intelligently.
Any mainstream VM algorithm will essentially wind up reading your entire array from disk every time you make a pass through it. MRU/random/hinting will not help (since the CPU processing is so much faster than I/O, significant overlap cannot be achieved). The trick in this case is essentially not to pageout at all for most of the array, and let the last 10Mb be accessed purely from disk.
But for all we know, NP-complete problems can be solved in polynomial time.
The example of chess you give is surprising. It isn't clear that chess (or any game, for that matter) is obviously NP. If someone gave you "the best move" for white, how would you verify in polynomial time that he is correct? (Note: this assumes an nxn version of chess, since for the 8x8 version, one can just precompute everything: theoretically speaking, 8x8 chess is solvable in constant time).
Search problems are not necessarily NP.
The truly frightening bit is that the moron who made the statement about Google not thinking through its software design is a CTO, and author of a book on writing secure software. (shudder)
The point about the new kinds of files (Word docs, Excel sheets etc) being more vulnerable to virii is significant, though.
There is a very good discussion of what should be defined as a random sequence in Knuth, TAOCP vol2 (Seminumerical algorithms).
It's very unclear what your opinion on the matter of trademarking generic English words really is. If you say that Rose is a generic term for 'members of the Rosa genus', so I shouldn't trademark my specially bred rose as a BlueRose, say, but you _can_ trademark Rose as a name for a plasma rifle, I think everyone's in agreement here.
However, then your argument for Illustrator falls flat on its face, because 'Illustrator' arguably _is_ a generic term for tools that illustrate. Making fine distinctions saying that people who illustrate are illustrators while tools helping you do so are not is pointless. If you shouldn't trademark Draw, you shouldn't trademark Illustrator either. Would you say that I shouldn't trademark the name of a flower BlueRose, but I could trademark the name of the corresponding plant, or the seed?
You can trademark adobe, because it certainly doesn't refer to companies making software, hence not generic in that context. I would be leery of allowing people to trademark the adobe line of bricks for making adobe houses, however.
Don't forget also that trademarks become void if the trademark enters the common language: the reason why Xerox runs all those ads reminding you to say 'photocopy a document', not 'Xerox a document'. Why should the reverse (a common English word becoming a trademark for the very thing it means) be permitted?
In brief: the coffee was served at 185 degrees, a temperature known to cause third-degree burns in two to seven seconds. (Also obviously a temperature too hot to drink the coffee). McDonald's had got over 700 claims by people burned by its coffee in the preceding 10 years. The woman initially claimed only $20000 to cover medical expenses. McD's refused and the case went to court. The jury found the lady 1/5th at fault, and awarded her $160,000 in damages and 2.7 mill in punitive damages, subsequently reduced to $480,000. The parties later settled in secret.
It should also be pointed out that this lawsuit was the only thing that convinced McD's to lower the temperature of its coffee to a safe level, as evidenced by their ignoring 700 claims over the previous decade.
There is also a popular myth floating around that the woman tried to open her coffee cup while driving: not true. She was in the passenger seat of the car with her grandson, and the car was stationary when the spill occured.
That's actually a reply from Ford's web server. Try this instead:
$ nslookup www.fuckgeneralmotors.com
Server: localhost.mit.edu
Address: 127.0.0.1
Non-authoritative answer:
Name: WWW.Ford.com
Address: 164.109.71.245
Aliases: www.fuckgeneralmotors.com
It's a DNS alias, not an HTTP redirect.
Had a similar experience with FlashCom: I signed up with them for DSL service, they gave me an appointment 3 weeks in future, and noted down my credit card number. A week later, discovered that I would be moving in a couple of months, so called them up and told them to cancel it. Rep said, ok, no problem. Then got my next CC bill and saw a $100 installation charge from FlashCom. After this it was impossible to get ahold of their customer service: I got through twice after half-hour holds, only to be told "yes, your account has been cancelled" and then hung up on when I mentioned the $100. I had to dispute the charge to finally get my money back, and it took two months. Sure hope they go out of business.
I thought they could only require a background check as a precondition for giving you the job, i.e., once they have interviewed you and decided that they will make an offer, they can do a credit/background check, and can then refuse you a job only if they find something bad in the check. I don't think they can check you before interviewing.
Besides, you seem to have missed the point of my original post. Linking to an illegal site is synonymous with fencing stolen goods. Not really. As others have pointed out, in this instance, intent can be very important. Consider the case of a newspaper reporting that there are lots of prostitutes frequenting a particular neighbourhood in the city. Are they then guilty of pimping? Or does it qualify as investigative reporting?
CVS only works on ASCII text. You'd have to re-implement a lot of the diff'ing to handle CAD file formats.
What about BSD's cvsup? Or CTM (patches by e-mail)? Most of the work is done by the server, especially for CTM. What's updated is source code, not `packages' which can be bought, but does that make a difference?
One thing that bugs me is that LILO doesn't have an option to force it to use my lilo.conf. So when you, say, install BSD, you have to boot into linux after the install, edit the lilo.conf, run lilo, and reboot, instead of being able to do it before installing. Also, a thing I like to do is have an other=floppy, so I can boot off of a floppy without having to change my BIOS setup. But to con lilo into this, you have to insert a bootable floppy before running it. And I couldn't get this trick to work with a cdrom drive.