I wrote to the FSF recently about this problem of license incompatibilities (it seems that every free software license that is out there is incompatible with the GPL) and whether anything could be done about it. My specific suggestion was to introduce a license in between the GPL (that allows linking only with software that is compatible with the GPL) and the LGPL (that allows linking with any kind of software); this "intermediate" GPL would allow linking with any software that satisfies some specific Free Software guidelines (included in the license).
The answer I got (from Bradley Kuhn) was rather unsatisfactory. He explained that this license either wouldn't work or wouldn't provide a true copyleft. Now I fail to see why that is. I didn't want to press the issue because I know he has more important things to do than answer my question, but I'd be glad if someone could explain this.
Another pet idea of mine: would it be possible for someone to formalize this whole license mumbo-jumbo in mathematical logic so that all the discussions which use vague rhetorical terms as to what can or cannot be done, can be made precise once and for all? And so we can write computer programs that will say definitely: "thou shallst not link this with that"? Formalizing this particular area of law seems doable.
(State the GPL.) As a special exception, you are allowed to link this program with programs distributed under the QPL. When redistributing this program, you may, at your option, choose to keep this special exception or not to.
Again, I must go in my usual rant: is there any reason why we insist in still writing operating systems in low-level programming languages like C (or C++, which I insist on considering as a low-level language)? It may be that low-level languages are better suited for writing the low-level stuff like the bootstrap code and the immediate hardware drivers (but even then, I don't see why a high-level language couldn't be extended with the appropriate functions to do the task), but some things in modern operating systems are definitely archaic.
Why is it for example that we still maintain the memory/filesystem dichotomy? It is about as absurd as requiring that a programmer have to handle the mainboard-level cache by hand. Why is it that whenever any program wants to save data, it must painstakingly convert it into a binary representation? Why is it that subroutines and programs still have to be distinguished? Why is it so painful to have reflexivity (e.g. for user-mode Linux you have to recompile a whole new kernel, the one already in place is not reflexive / reentrant in that sense)? Why is it that for security measures we rely on hardware control (aka MMU's) rather than formal invariance proofs? Why is it that our processors are so big and bloated and distribution / (asymmetric) multiprocessoring / clustering is so far behind?
For more information about what a high-level operating system might be, I refer to the Hurd (which is high-level, but at the cost of an abstraction inversion, because it is still written in C; notice that the Hurd Really Runs), to Erlang, which deserves to be better known because it's really impressive, and to the all-ambitious Tunes project.
Do we have a chance, for a change, of having free (as in speech) MP(EG)?4 players at some point, or are we going to learn that the format is covered by n different patents, that it's specs are semi-secret and that sort of things?
Whatever the case, I imagine there will be much pressure to suppress this format if it can fit a whole movie on a single CD-R without too much loss. The film industry is going to be scaaared to death, and we know too well the nasty things it does when it it scaaared to death.
it's on the compression method. The MP3 standard itself is an ISO standard (MPEG1/2) and it is not patented. Whether bladeenc actually uses the patented compression method or not, is another problem. It would also be nice to know in which countries this patent is supposed to hold (I know Fraunhofer's original patent is for Germany); incidentally, it would be nice to know in which countries, if any, software techniques can not be patented (I think France is like that, but I'm not sure).
Anyway, sadly, as we well know, what matters is not who's right but who has the best lawyers.
The way I heard it, the main problem was the absence of plate tectonics on Mars. If it certainly had an active core (as shown by the presence of the large volcanoes), this is no longer the case. Plate tectonics is an essential factor in renewing the atmosphere.
This is about having a dense atmosphere. But even then I doubt that Mars ever had a breathable atmosphere. Remember that the primitive Earth's atmosphere was not at all made of oxygen: it was reducing and not oxidizing. It changed from reducing to oxidizing billions of years ago under the action of certain bacteriæ. Unless you positively assume that Mars also had similar bacteriæ, something I find dubious at best, it was probably reducing all along.
As for the part about "keeping it there", please keep the time scale in mind: if all of a sudden Mars had an atmosphere of pure oxygen, 200hPa in pressure, it would take longer than the continued existence of the human species for that atmosphere to disappear (the human species has existed for around 3 million years: this is next to nothing compared to a planet that exists for billions of years).
Finally, the point you make about the balloon is misleading at best: helium rises because it is lighter than dioxygen, and that doesn't depend on the magnitude of the grav pull of the planet.
First of all, as another poster pointed out, it's not the proportion of oxygen that counts but the partial pressure. The oxygen partial pressure in the Earth's atmosphere is around 200hPa (hPa = hectopascal: sorry, I use SI units not p.s.i) and it's that figure which matters. Same for burning (even assuming there's anything to burn on Mars, which is dubious).
As for making water out of oxygen and hydrogen, that is not, I repeat emphatically not the way you want to do it. You don't want to use up all your hard-won oxygen to burn hydrogen: reflect upon the fact that a liter of oxygen at the abovementioned 200hPa pressure will, when used to transform the stoichiometric quantity of hydrogen, produce only (scribble, scribble) 0.16 grams of water. A ratio of over 6000 in volume: imagine how much oxygen you'd need to make an ocean of...
Actually, water is probably abundant enough on Mars, even igoring the ice caps. Extracting it might be much more delicate, however. Of course, there's no question of making an ocean either. There's no way you could have an ocean (again?) on Mars.
Even if water were very abundant, you couldn't use it the other way around, either, to produce oxygen. Electrolysis of large enough quantities to fill a whole atmosphere? Calculate the free enthalpy you'd need, and then forget it.
Would you mind explaining what might be wrong about terraforming Mars? It's not like destroying anything other than a dead planet, anyway. Nothing lives there, and spectacular claims to the contrary notwithstanding it doesn't seem like anything ever did live there.
However, I don't think we have the resources to terraform it anyway, so the issue is moot.
Yes, thank you very much, my school (translate: college) happens to be where Bourbaki's office is (and, essentially, his "birth place"), and I've read a significant portion of his "Éléments de Mathématiques".
I fail to see how that is relevant. Bourbaki was (were?) not interested in logic. His (their?)treatment of logic and set theory in his first book ("Théorie des Ensembles" - whose publication was long delayed as it remained in the state of a "fascicule de résultats") is sketchy at best, unelegant, and, in essence, as short as he could arrange it, just enough to provide the foundations for the other books.
Anyway, that is old. Currently, there are only about two groups doing logic in France: around Krivine in Paris and around Girard in Marseille (I think). Girard is the inventor of linear logic, so that's a clame to fame, but he's more the exception than the rule: logic is held in disrepute, if not contempt, in France (and I much regret it).
No, it's not available on-line. (Even after hearing it, I would really like to get it a copy.) Maybe by asking Professor Alain Connes (he seems to be the one who found the tape) very politely...
Professor Andrew Wiles was present at the meeting (he made a little speech to introduce Laurent Lafforgue and later John Tate - although the latter really needs no introduction). I can assure you he did not turn red.
All right. I posted the story, now here are a few comments of my own.
The problems are all fairly old. The Riemann hypothesis is the oldest, as it dates from around 1860 and it was already part of Hilbert's 1900 list. Surprisingly, almost no progress has been made toward its resolution (except for Deligne's proof in the generalized local case, aka the Weil conjectures, but that isn't really the same problem). The Poincaré conjecture is also rather old. The study of the Navier-Stokes equation is probably as old as the equations themselves, but the mathematical foundations for a rigorous study are more recent.
P=NP is the newest problem, coming as it does from computer science, and also the most likely to be of interest to Slashdot geeks. John Tate rather messed up (IMHO) in his presentation of it (he obviously didn't think it was very interesting), and I gather many mathematicians believe it isn't very rigorously refined (certainly, many French mathematicians, with their usual contempt for logic and computers science). In fact, it is perfectly rigorous and mathematicial. It is probably the easiest problem on the list, as the theory behind it is still not fully developped. For a start, I'd recommend Papadimitriou's book "Computational Complexity" for the present state of knowledge: it is very thorough, well-written and interesting.
Personally, I'm convinced P=NP is undecidable (in a nutshell, my point is that for Turing machines with oracles, by judiciously choosing the oracle we can arrange so that P=NP or P!=NP, see Papadimitriou's above-mentioned book for a proof, and I don't despair of the existence of a notion of forcing on oracles of some kind). It would be a very weird situation (for Pi^1 propositions, as a previous poster pointed out, if it is undecidable then it is true - proviso the consistency of arithmetic which is the hidden assumption in the meta-proof that "unrefutable=>true"; but for P=NP it just looks... weird). I don't think any of the other statements are undecidable (if any of them is, we are light-years away from being able to prove it). Naturally, it is possible for the undecidability of a statement to be undecidable, and so on up to (ordinal) heights of staggering difficulty (though by a theorem of Tarksi, at some point the proposition must be decidable - little comfort in practice).
Some have asked why Goldbach's conjecture (for which someone else is offering $1M) is not in the list. The fact is that it's not interesting. Every one of these seven problems, if solved, would have far-fetching consequences, and its proof would open vast new areas of research. Not so with Goldbach's conjecture. It is amusing because it is very simple, simple enough to be explained to laymen. But apart from a few additive number theorists, nobody is interested in it. Proving it would require ingenuity, certainly, and much technique in sieving methods and circle integrals; but nothing like opening new areas of mathematics. Don't waste your time on Goldbach's conjecture: it is highly technical and intellectually almost worthless.
Anyway, getting back to the seven problems, some people I know have been rather angry that such old problems have been selected, not more recent stuff. In a way the list is rather "conservative". For example, the global case of the Langlands programme, which is probably the most ambitious programme in mathematics (at any rate, in number theory and algebra), the global analogue of what Lafforgue proved in the local ("functions field") case, was not selected. Perhaps also because it is thought to be too difficult...
Yes, I do mean proofs of correctness. But it should be understood that because of the Curry-Howard isomorphism (in short: "programs=proofs", but that's a bit short; I used to have a page on Curry-Howard but it's gone; promise, some day I'll rewrite it, but for the moment that's quite low down on my TODO-list), typing is merely a form of proofs of correctness, but proofs that are checked by the compiler itself. What I want is the ability for the programmer to specify completely general invariance properties on her program (e.g., "all through execution, i will always be a power of two") and to prove it (naturally it is the programmer's task to prove things, otherwise the compiler's job is far too complex), and the compiler will (a)check the proof and (b)possibly optimize using the extra information thus obtained.
Other than that, I agree that Lisp is one of the very best programming languages in existence. Unfortunately, Scheme (which is the best as far as the core language is concerned, IMHO) is utterly worthless as far as the library is concerened; and Common Lisp (which has a very rich library) isn't nearly as elegant as a Lisp language could be.
My goal would be to make high-level languages (functional if possible) really usable - and really used.
Why is it that in the year 2000 we're still writing our operating systems and most of our programs in C (or C++, which, although messy, is not truly high-level)? Why is it that garbage-collection has never truly come out of the closet? Why is it that Java is compiled in byte-code rather than native code - and why is it so slow? Why is it that no programming language that I know of is able to handle program invariants and proofs that are any bit more complicated than ("i is an integer") (nothing like "i is a power of 2" for example). Why is it that anyone who wishes to program anything still has to spend half of his time writing things like if ( retval == -1 ) { perror ("frobnicating"); exit (EXIT_FAILURE); }? Why is it that buffer overruns still exist?
The great Faré has much talent for inventing abstractions, but very little for seeing the practical. The fact is, he has written as much documentation for Tunes as Linus Torvalds as written code for the Linux kernel, and Faré has written as much code for Tunes as Linux has written documentation for Linux.
Microkernel are one of Faré's pet peeves. He is constantly trolling on the subject. Logically, he's right, as he usually is; but he has this wonderful gift for saying the truest things in the wrongest ways...
I'm rather disappointed that there isn't a Solaris nightly build any longer. Where I am we have a network of PC's under Linux and Sparcstations under Solaris. To make Mozilla the default browser for all students we would need a Solaris build.
I discussed this on the netscape.public.mozilla.unix newsgroup, and it seems something broke the build automation process under Solaris and they didn't have time to look into it.
Speaking of which, I have never, ever, been able to build Mozilla myself, on any platform, to give something which looks even remotely like what they ship. Most of times it fails completely, and the reason for failure is not even systematic: it varies according to whether I made a CVS checkout or took a source tarball, it depends on whether I used "make" or "make all", on how I ran configure, and all sorts of things. Even typing make twice, with make clean in between does not give the same error twice. Mostly I get weird C++ errors which I don't understand because I only grok C (errors like "class fooBarMumbleBuz was instantiated with a virtual method frobnicateMeHarder whereas it only has non-virtual constructors", which really don't mean a thing). I also got a lot of unresolved symbols. Strange things.
Not even worth making a bug-report for, because nothing is systematic, every time I retry it's different.
First, what is Apple's point in having a BSD kernel on top of a Mach microkernel? The usual reason for using Mach is (a)to achieve better portability, because Mach is ported to a great variety of architectures, (b)so you don't have to worry about the low-level details but can concentrate on the higher-level stuff when writing the (mid-level) kernel (e.g. Hurd), or (c)to take advantage of the microkernel abstractions (tasks and all that). But I don't see that any of these apply here: (a)doesn't because Apple is interested in a single architecture, (b)doesn't because the BSD kernel is already there, it is certainly more work to port it as a layer over Mach than to use it as such, and (c)is contradicted by the article in question (it seems that the Mach abstractions will be hid by the BSD level).
So, MkLinux uses Mach because of reason (a) essentially. Hurd uses it because of reasons (b) and (c) (reason (a) doesn't apply since the Hurd only runs on Intel so far). But why Apple? I mean, the BSD kernel runs very well by itself, doesn't it?
The problem with Mach is that it tends to make everything so slooow whereas the pristine BSD kernel is quite fast.
On the other hand, if they had some reason for using Mach, what was the point of BSD? Evidently they are not interested in the Unix aspect of things, and MacOS has always been radically different from Unix in its conception. Wherefore BSD? Why not port the existing MacOS superstructure on the Mach core?
I fail to see how it all fits together. Will someone post a +2 (Informative), +1 (Interesting) reply to summarize the reasons?
And, of course, to answer the question, won't MacOSX be insanely slow?
(Ahem.) Our corporation (of whose name you must remain ignorant for security reasons) had similar plans for impressing people with a hydrogen (fusion) bomb.
So we built a fusion reactor nearly a million miles across, and we triggered it. It has been exploding for well over a billion years, now.
Unfortunately, people did not recognized its nature, and took it successively for a god (which it definitely is not) and for a star (which it is).
You may have a point against differences in gun control from place to place (criminals may move, within a certain radius of course, to places where gun control is greater). But I do not see a case against uniform gun control throughout the country / continent / planet(?).
As you point out, statistics can be made to say anything. Evidently criminality rates are much lower in Canada, which has gun control similar to that of Europe, than in the States, but I do not thing this is significant. I would be very prudent before giving any comparison of any sort, in fact.
When you state "Everyone doesn't have to own guns, but everyone should have the right to own guns", you should be careful: in essence, if some people are allowed to have guns, then everyone has to have one. This is a form of prisonner's dilemma (with defect = owning a gun, and cooperate = not owning a gun). It is a plain fact that people do not cooperate in prisonner's dilemmata unless they are forced to. (For more information about the prisonner's dilemma, read Metamagical Themas by Doug Hofstadter.)
One possible answer is that owning a gun is a "natural right" which should be upheld at all costs, no matter what the statistics say. I simply do not think it is so.
We Europeans are fascinated by the US' ability to incessantly argue over the issue of gun control. We have strong gun control everywhere in Europe, together with lower criminality rates than in the US (though the correlation between the two is, admittedly, not entirely clear). Most importantly, I do not think there exists any (non entirely negligible) pressure group here demanding the right to bear arms. Surely if it were a "natural right" of some kind, there would be more protest, wouldn't there? (Or are European citizens so oppressed by their governments that they don't even recognize the need for their freedom any more?)
I wish some Swiss citizen would recall the laws on guns in vigor in the Helvetian federation: because Switzerland is arguably the most democratic state on Earth, its laws being the clear expression, for the better or for the worse, of the will of the people, and since besides Switzerland is usually quite different from the rest of Europe, it would be interesting to know that they have decided (I seem to remember hearing some strange rules about how gun sales to Swiss citizens and to foreigners were very different).
Anyway, when we read stories from the US about a disoriented teen-ager coming in school with a big gun and shooting everyone (or the innumerable variants on the same theme), we Europeans just shake our head and wonder, why don't the Americans do something about this?
There is the question of the considerable reverence for the American constitution, despite (or because of) its age (except for England, that has no written constitution, European fundamental laws are usually post-WW2). The fact that it has remained impressively modern is a sign of the universal value of human rights, assuredly; and our societies are borne of the spirit of Enlightenment (the French have similarly kept the 1789 declaration of rights of man in the book). But is it prudent to let people from way back in the XVIIIth century, be they the Founding Fathers of the nation, make decisions on such contemporary problems as modern criminality? I think the matter requires consideration.
One thing is certain: introducing gun control in a country like the US that already has guns all over the place is very, very delicate.
And claiming a computer problem is probably the worse way to do it.
(For the background, I'm European, so I don't much care about whether US citizens are allowed to bear guns. I'm glad we have strict gun control on our side of the Atlantic though, and it is an undeniable fact that we also have lower criminality rate (though the causal link can be questioned, I agree). This being said,)
Sorry, your arguments don't hold water. The division of society into "outlaws" and "law-abiding citizens", although intellectually seducing, is worthless. What about the disoriented twelve-year old how suddenly feels an urge to commit suicide, but first destroying every(thing|one) around him: in which category does he fall? What about the elderly man who, after having led a quiet and peaceful life, suddenly decides to suppress his wife?
Granted, gun control will do nothing to protect you against the "international terrorist" kind. However I don't think guns will be of much help there either. Against the "ordinary criminal" criminal kind I described above, it is quite efficient. Naturally, the dichotomy I am trying to assume here ("international terrorist" vs. "ordinary criminal") is just as dubious as the one you suggest ("outlaw" vs. "law-abiding citizen"), but the point is that the matter is not simple and clear-cut.
But you make a very valuable point: the United States is pre-armed. Which means that trying to introduce gun control is going to be mightily difficult.
Let's be a little selfish for a while, OK? I think it's a (practically, not ethically) good thing that a browser that is destined to become a major product (or at any rate, let's hope so) should not have an ad blocker feature. If it did, too many people would activate it, the efficiency of ads would decrease and that would mean either (a)some other means of advertising being invented, probably not as nice, or (b)less money for the web, so more expensive connections or something of the sort.
In essence, this is a dilemma: I don't want to see the ads, but I want others to see them so that the system will work. This is why I want Mozilla (or at any rate Netscape 6) not to include a junkbuster feature, whereas I am capable of (i)patching the sources to add such a feature myself, or (ii)more simply, set up my/etc/hosts file to redirect some hosts like ad.doubleclick.net back to 127.0.0.1 (this is what I do: while it isn't as selective, it is still nice because it works with every browser and at the same time is not as complicated as using a proxy).
This is definitely selfish of me, but who cares? Seeing ads is not the end of the world. The use of the/etc/hosts file is well documented, as is the C++ programming language: it's not like the method were kept secret and undocumented. I just don't want to see 10^8 newbies getting rid of ads on the Web.
I remember at some point I had all three BSD's, plus RedHat Linux, Solaris7/i386 *and* the GNU/Hurd all installed on the same machine with Grub as multi-bootloader.
The major pain in the ass was the naming scheme for partitions. Also, it seemed that none of these OS's was able to mount the partitions of every other one in read/write mode.
After a while, I finally understood that, although it was geeky and fun, having six OS's on the same machine was a rather pointless waste of disk space...
I wrote to the FSF recently about this problem of license incompatibilities (it seems that every free software license that is out there is incompatible with the GPL) and whether anything could be done about it. My specific suggestion was to introduce a license in between the GPL (that allows linking only with software that is compatible with the GPL) and the LGPL (that allows linking with any kind of software); this "intermediate" GPL would allow linking with any software that satisfies some specific Free Software guidelines (included in the license).
The answer I got (from Bradley Kuhn) was rather unsatisfactory. He explained that this license either wouldn't work or wouldn't provide a true copyleft. Now I fail to see why that is. I didn't want to press the issue because I know he has more important things to do than answer my question, but I'd be glad if someone could explain this.
Another pet idea of mine: would it be possible for someone to formalize this whole license mumbo-jumbo in mathematical logic so that all the discussions which use vague rhetorical terms as to what can or cannot be done, can be made precise once and for all? And so we can write computer programs that will say definitely: "thou shallst not link this with that"? Formalizing this particular area of law seems doable.
The obvious solution would be to do this:
(State the GPL.)
As a special exception, you are allowed to link this program with programs distributed under the QPL. When redistributing this program, you may, at your option, choose to keep this special exception or not to.
Again, I must go in my usual rant: is there any reason why we insist in still writing operating systems in low-level programming languages like C (or C++, which I insist on considering as a low-level language)? It may be that low-level languages are better suited for writing the low-level stuff like the bootstrap code and the immediate hardware drivers (but even then, I don't see why a high-level language couldn't be extended with the appropriate functions to do the task), but some things in modern operating systems are definitely archaic.
Why is it for example that we still maintain the memory/filesystem dichotomy? It is about as absurd as requiring that a programmer have to handle the mainboard-level cache by hand. Why is it that whenever any program wants to save data, it must painstakingly convert it into a binary representation? Why is it that subroutines and programs still have to be distinguished? Why is it so painful to have reflexivity (e.g. for user-mode Linux you have to recompile a whole new kernel, the one already in place is not reflexive / reentrant in that sense)? Why is it that for security measures we rely on hardware control (aka MMU's) rather than formal invariance proofs? Why is it that our processors are so big and bloated and distribution / (asymmetric) multiprocessoring / clustering is so far behind?
For more information about what a high-level operating system might be, I refer to the Hurd (which is high-level, but at the cost of an abstraction inversion, because it is still written in C; notice that the Hurd Really Runs), to Erlang, which deserves to be better known because it's really impressive, and to the all-ambitious Tunes project.
Do we have a chance, for a change, of having free (as in speech) MP(EG)?4 players at some point, or are we going to learn that the format is covered by n different patents, that it's specs are semi-secret and that sort of things?
Whatever the case, I imagine there will be much pressure to suppress this format if it can fit a whole movie on a single CD-R without too much loss. The film industry is going to be scaaared to death, and we know too well the nasty things it does when it it scaaared to death.
All right. Your points are perfectly valid, I didn't see it that way.
it's on the compression method. The MP3 standard itself is an ISO standard (MPEG1/2) and it is not patented. Whether bladeenc actually uses the patented compression method or not, is another problem. It would also be nice to know in which countries this patent is supposed to hold (I know Fraunhofer's original patent is for Germany); incidentally, it would be nice to know in which countries, if any, software techniques can not be patented (I think France is like that, but I'm not sure).
Anyway, sadly, as we well know, what matters is not who's right but who has the best lawyers.
The way I heard it, the main problem was the absence of plate tectonics on Mars. If it certainly had an active core (as shown by the presence of the large volcanoes), this is no longer the case. Plate tectonics is an essential factor in renewing the atmosphere.
This is about having a dense atmosphere. But even then I doubt that Mars ever had a breathable atmosphere. Remember that the primitive Earth's atmosphere was not at all made of oxygen: it was reducing and not oxidizing. It changed from reducing to oxidizing billions of years ago under the action of certain bacteriæ. Unless you positively assume that Mars also had similar bacteriæ, something I find dubious at best, it was probably reducing all along.
As for the part about "keeping it there", please keep the time scale in mind: if all of a sudden Mars had an atmosphere of pure oxygen, 200hPa in pressure, it would take longer than the continued existence of the human species for that atmosphere to disappear (the human species has existed for around 3 million years: this is next to nothing compared to a planet that exists for billions of years).
Finally, the point you make about the balloon is misleading at best: helium rises because it is lighter than dioxygen, and that doesn't depend on the magnitude of the grav pull of the planet.
Sorry, you're a bit naïve there.
First of all, as another poster pointed out, it's not the proportion of oxygen that counts but the partial pressure. The oxygen partial pressure in the Earth's atmosphere is around 200hPa (hPa = hectopascal: sorry, I use SI units not p.s.i) and it's that figure which matters. Same for burning (even assuming there's anything to burn on Mars, which is dubious).
As for making water out of oxygen and hydrogen, that is not, I repeat emphatically not the way you want to do it. You don't want to use up all your hard-won oxygen to burn hydrogen: reflect upon the fact that a liter of oxygen at the abovementioned 200hPa pressure will, when used to transform the stoichiometric quantity of hydrogen, produce only (scribble, scribble) 0.16 grams of water. A ratio of over 6000 in volume: imagine how much oxygen you'd need to make an ocean of...
Actually, water is probably abundant enough on Mars, even igoring the ice caps. Extracting it might be much more delicate, however. Of course, there's no question of making an ocean either. There's no way you could have an ocean (again?) on Mars.
Even if water were very abundant, you couldn't use it the other way around, either, to produce oxygen. Electrolysis of large enough quantities to fill a whole atmosphere? Calculate the free enthalpy you'd need, and then forget it.
Would you mind explaining what might be wrong about terraforming Mars? It's not like destroying anything other than a dead planet, anyway. Nothing lives there, and spectacular claims to the contrary notwithstanding it doesn't seem like anything ever did live there.
However, I don't think we have the resources to terraform it anyway, so the issue is moot.
Yes, thank you very much, my school (translate: college) happens to be where Bourbaki's office is (and, essentially, his "birth place"), and I've read a significant portion of his "Éléments de Mathématiques".
I fail to see how that is relevant. Bourbaki was (were?) not interested in logic. His (their?)treatment of logic and set theory in his first book ("Théorie des Ensembles" - whose publication was long delayed as it remained in the state of a "fascicule de résultats") is sketchy at best, unelegant, and, in essence, as short as he could arrange it, just enough to provide the foundations for the other books.
Anyway, that is old. Currently, there are only about two groups doing logic in France: around Krivine in Paris and around Girard in Marseille (I think). Girard is the inventor of linear logic, so that's a clame to fame, but he's more the exception than the rule: logic is held in disrepute, if not contempt, in France (and I much regret it).
No, it's not available on-line. (Even after hearing it, I would really like to get it a copy.) Maybe by asking Professor Alain Connes (he seems to be the one who found the tape) very politely...
Professor Andrew Wiles was present at the meeting (he made a little speech to introduce Laurent Lafforgue and later John Tate - although the latter really needs no introduction). I can assure you he did not turn red.
All right. I posted the story, now here are a few comments of my own.
The problems are all fairly old. The Riemann hypothesis is the oldest, as it dates from around 1860 and it was already part of Hilbert's 1900 list. Surprisingly, almost no progress has been made toward its resolution (except for Deligne's proof in the generalized local case, aka the Weil conjectures, but that isn't really the same problem). The Poincaré conjecture is also rather old. The study of the Navier-Stokes equation is probably as old as the equations themselves, but the mathematical foundations for a rigorous study are more recent.
P=NP is the newest problem, coming as it does from computer science, and also the most likely to be of interest to Slashdot geeks. John Tate rather messed up (IMHO) in his presentation of it (he obviously didn't think it was very interesting), and I gather many mathematicians believe it isn't very rigorously refined (certainly, many French mathematicians, with their usual contempt for logic and computers science). In fact, it is perfectly rigorous and mathematicial. It is probably the easiest problem on the list, as the theory behind it is still not fully developped. For a start, I'd recommend Papadimitriou's book "Computational Complexity" for the present state of knowledge: it is very thorough, well-written and interesting.
Personally, I'm convinced P=NP is undecidable (in a nutshell, my point is that for Turing machines with oracles, by judiciously choosing the oracle we can arrange so that P=NP or P!=NP, see Papadimitriou's above-mentioned book for a proof, and I don't despair of the existence of a notion of forcing on oracles of some kind). It would be a very weird situation (for Pi^1 propositions, as a previous poster pointed out, if it is undecidable then it is true - proviso the consistency of arithmetic which is the hidden assumption in the meta-proof that "unrefutable=>true"; but for P=NP it just looks... weird). I don't think any of the other statements are undecidable (if any of them is, we are light-years away from being able to prove it). Naturally, it is possible for the undecidability of a statement to be undecidable, and so on up to (ordinal) heights of staggering difficulty (though by a theorem of Tarksi, at some point the proposition must be decidable - little comfort in practice).
Some have asked why Goldbach's conjecture (for which someone else is offering $1M) is not in the list. The fact is that it's not interesting. Every one of these seven problems, if solved, would have far-fetching consequences, and its proof would open vast new areas of research. Not so with Goldbach's conjecture. It is amusing because it is very simple, simple enough to be explained to laymen. But apart from a few additive number theorists, nobody is interested in it. Proving it would require ingenuity, certainly, and much technique in sieving methods and circle integrals; but nothing like opening new areas of mathematics. Don't waste your time on Goldbach's conjecture: it is highly technical and intellectually almost worthless.
Anyway, getting back to the seven problems, some people I know have been rather angry that such old problems have been selected, not more recent stuff. In a way the list is rather "conservative". For example, the global case of the Langlands programme, which is probably the most ambitious programme in mathematics (at any rate, in number theory and algebra), the global analogue of what Lafforgue proved in the local ("functions field") case, was not selected. Perhaps also because it is thought to be too difficult...
Yes, I do mean proofs of correctness. But it should be understood that because of the Curry-Howard isomorphism (in short: "programs=proofs", but that's a bit short; I used to have a page on Curry-Howard but it's gone; promise, some day I'll rewrite it, but for the moment that's quite low down on my TODO-list), typing is merely a form of proofs of correctness, but proofs that are checked by the compiler itself. What I want is the ability for the programmer to specify completely general invariance properties on her program (e.g., "all through execution, i will always be a power of two") and to prove it (naturally it is the programmer's task to prove things, otherwise the compiler's job is far too complex), and the compiler will (a)check the proof and (b)possibly optimize using the extra information thus obtained.
Other than that, I agree that Lisp is one of the very best programming languages in existence. Unfortunately, Scheme (which is the best as far as the core language is concerned, IMHO) is utterly worthless as far as the library is concerened; and Common Lisp (which has a very rich library) isn't nearly as elegant as a Lisp language could be.
My goal would be to make high-level languages (functional if possible) really usable - and really used.
Why is it that in the year 2000 we're still writing our operating systems and most of our programs in C (or C++, which, although messy, is not truly high-level)? Why is it that garbage-collection has never truly come out of the closet? Why is it that Java is compiled in byte-code rather than native code - and why is it so slow? Why is it that no programming language that I know of is able to handle program invariants and proofs that are any bit more complicated than ("i is an integer") (nothing like "i is a power of 2" for example). Why is it that anyone who wishes to program anything still has to spend half of his time writing things like if ( retval == -1 ) { perror ("frobnicating"); exit (EXIT_FAILURE); }? Why is it that buffer overruns still exist?
The great Faré has much talent for inventing abstractions, but very little for seeing the practical. The fact is, he has written as much documentation for Tunes as Linus Torvalds as written code for the Linux kernel, and Faré has written as much code for Tunes as Linux has written documentation for Linux.
Microkernel are one of Faré's pet peeves. He is constantly trolling on the subject. Logically, he's right, as he usually is; but he has this wonderful gift for saying the truest things in the wrongest ways...
I'm rather disappointed that there isn't a Solaris nightly build any longer. Where I am we have a network of PC's under Linux and Sparcstations under Solaris. To make Mozilla the default browser for all students we would need a Solaris build.
I discussed this on the netscape.public.mozilla.unix newsgroup, and it seems something broke the build automation process under Solaris and they didn't have time to look into it.
Speaking of which, I have never, ever, been able to build Mozilla myself, on any platform, to give something which looks even remotely like what they ship. Most of times it fails completely, and the reason for failure is not even systematic: it varies according to whether I made a CVS checkout or took a source tarball, it depends on whether I used "make" or "make all", on how I ran configure, and all sorts of things. Even typing make twice, with make clean in between does not give the same error twice. Mostly I get weird C++ errors which I don't understand because I only grok C (errors like "class fooBarMumbleBuz was instantiated with a virtual method frobnicateMeHarder whereas it only has non-virtual constructors", which really don't mean a thing). I also got a lot of unresolved symbols. Strange things.
Not even worth making a bug-report for, because nothing is systematic, every time I retry it's different.
Has anyone had more success?
First, what is Apple's point in having a BSD kernel on top of a Mach microkernel? The usual reason for using Mach is (a)to achieve better portability, because Mach is ported to a great variety of architectures, (b)so you don't have to worry about the low-level details but can concentrate on the higher-level stuff when writing the (mid-level) kernel (e.g. Hurd), or (c)to take advantage of the microkernel abstractions (tasks and all that). But I don't see that any of these apply here: (a)doesn't because Apple is interested in a single architecture, (b)doesn't because the BSD kernel is already there, it is certainly more work to port it as a layer over Mach than to use it as such, and (c)is contradicted by the article in question (it seems that the Mach abstractions will be hid by the BSD level).
So, MkLinux uses Mach because of reason (a) essentially. Hurd uses it because of reasons (b) and (c) (reason (a) doesn't apply since the Hurd only runs on Intel so far). But why Apple? I mean, the BSD kernel runs very well by itself, doesn't it?
The problem with Mach is that it tends to make everything so slooow whereas the pristine BSD kernel is quite fast.
On the other hand, if they had some reason for using Mach, what was the point of BSD? Evidently they are not interested in the Unix aspect of things, and MacOS has always been radically different from Unix in its conception. Wherefore BSD? Why not port the existing MacOS superstructure on the Mach core?
I fail to see how it all fits together. Will someone post a +2 (Informative), +1 (Interesting) reply to summarize the reasons?
And, of course, to answer the question, won't MacOSX be insanely slow?
(Ahem.) Our corporation (of whose name you must remain ignorant for security reasons) had similar plans for impressing people with a hydrogen (fusion) bomb.
So we built a fusion reactor nearly a million miles across, and we triggered it. It has been exploding for well over a billion years, now.
Unfortunately, people did not recognized its nature, and took it successively for a god (which it definitely is not) and for a star (which it is).
I believe you people know it as the "sun".
--
The possibilities aren't endless.
You may have a point against differences in gun control from place to place (criminals may move, within a certain radius of course, to places where gun control is greater). But I do not see a case against uniform gun control throughout the country / continent / planet(?).
As you point out, statistics can be made to say anything. Evidently criminality rates are much lower in Canada, which has gun control similar to that of Europe, than in the States, but I do not thing this is significant. I would be very prudent before giving any comparison of any sort, in fact.
When you state "Everyone doesn't have to own guns, but everyone should have the right to own guns", you should be careful: in essence, if some people are allowed to have guns, then everyone has to have one. This is a form of prisonner's dilemma (with defect = owning a gun, and cooperate = not owning a gun). It is a plain fact that people do not cooperate in prisonner's dilemmata unless they are forced to. (For more information about the prisonner's dilemma, read Metamagical Themas by Doug Hofstadter.)
One possible answer is that owning a gun is a "natural right" which should be upheld at all costs, no matter what the statistics say. I simply do not think it is so.
We Europeans are fascinated by the US' ability to incessantly argue over the issue of gun control. We have strong gun control everywhere in Europe, together with lower criminality rates than in the US (though the correlation between the two is, admittedly, not entirely clear). Most importantly, I do not think there exists any (non entirely negligible) pressure group here demanding the right to bear arms. Surely if it were a "natural right" of some kind, there would be more protest, wouldn't there? (Or are European citizens so oppressed by their governments that they don't even recognize the need for their freedom any more?)
I wish some Swiss citizen would recall the laws on guns in vigor in the Helvetian federation: because Switzerland is arguably the most democratic state on Earth, its laws being the clear expression, for the better or for the worse, of the will of the people, and since besides Switzerland is usually quite different from the rest of Europe, it would be interesting to know that they have decided (I seem to remember hearing some strange rules about how gun sales to Swiss citizens and to foreigners were very different).
Anyway, when we read stories from the US about a disoriented teen-ager coming in school with a big gun and shooting everyone (or the innumerable variants on the same theme), we Europeans just shake our head and wonder, why don't the Americans do something about this?
There is the question of the considerable reverence for the American constitution, despite (or because of) its age (except for England, that has no written constitution, European fundamental laws are usually post-WW2). The fact that it has remained impressively modern is a sign of the universal value of human rights, assuredly; and our societies are borne of the spirit of Enlightenment (the French have similarly kept the 1789 declaration of rights of man in the book). But is it prudent to let people from way back in the XVIIIth century, be they the Founding Fathers of the nation, make decisions on such contemporary problems as modern criminality? I think the matter requires consideration.
One thing is certain: introducing gun control in a country like the US that already has guns all over the place is very, very delicate.
And claiming a computer problem is probably the worse way to do it.
Just my EUR0.02 (a little below USD0.02, sorry).
--
Ceterum censeo carthaginem esse delendam.
(For the background, I'm European, so I don't much care about whether US citizens are allowed to bear guns. I'm glad we have strict gun control on our side of the Atlantic though, and it is an undeniable fact that we also have lower criminality rate (though the causal link can be questioned, I agree). This being said,)
Sorry, your arguments don't hold water. The division of society into "outlaws" and "law-abiding citizens", although intellectually seducing, is worthless. What about the disoriented twelve-year old how suddenly feels an urge to commit suicide, but first destroying every(thing|one) around him: in which category does he fall? What about the elderly man who, after having led a quiet and peaceful life, suddenly decides to suppress his wife?
Granted, gun control will do nothing to protect you against the "international terrorist" kind. However I don't think guns will be of much help there either. Against the "ordinary criminal" criminal kind I described above, it is quite efficient. Naturally, the dichotomy I am trying to assume here ("international terrorist" vs. "ordinary criminal") is just as dubious as the one you suggest ("outlaw" vs. "law-abiding citizen"), but the point is that the matter is not simple and clear-cut.
But you make a very valuable point: the United States is pre-armed. Which means that trying to introduce gun control is going to be mightily difficult.
Uh, I'm unaquainted with the US judicial system, but isn't the judge supposed to pass judgement based solely on what he has heard in court?
Let's be a little selfish for a while, OK? I think it's a (practically, not ethically) good thing that a browser that is destined to become a major product (or at any rate, let's hope so) should not have an ad blocker feature. If it did, too many people would activate it, the efficiency of ads would decrease and that would mean either (a)some other means of advertising being invented, probably not as nice, or (b)less money for the web, so more expensive connections or something of the sort.
In essence, this is a dilemma: I don't want to see the ads, but I want others to see them so that the system will work. This is why I want Mozilla (or at any rate Netscape 6) not to include a junkbuster feature, whereas I am capable of (i)patching the sources to add such a feature myself, or (ii)more simply, set up my /etc/hosts file to redirect some hosts like ad.doubleclick.net back to 127.0.0.1 (this is what I do: while it isn't as selective, it is still nice because it works with every browser and at the same time is not as complicated as using a proxy).
This is definitely selfish of me, but who cares? Seeing ads is not the end of the world. The use of the /etc/hosts file is well documented, as is the C++ programming language: it's not like the method were kept secret and undocumented. I just don't want to see 10^8 newbies getting rid of ads on the Web.
I remember at some point I had all three BSD's, plus RedHat Linux, Solaris7/i386 *and* the GNU/Hurd all installed on the same machine with Grub as multi-bootloader.
The major pain in the ass was the naming scheme for partitions. Also, it seemed that none of these OS's was able to mount the partitions of every other one in read/write mode.
After a while, I finally understood that, although it was geeky and fun, having six OS's on the same machine was a rather pointless waste of disk space...