Of course. A magnetic field has energy, which is the same as mass under relativity, and anything which has mass produces a gravitational field. And light does get deflected by gravitational fields. This is utterly negligible, of course, but then, so are the quantum interferences.
I suggest turning the patenters' weapon against themselves and patenting the very idea of patenting the obvious. Obvious, isn't it? That way, nobody can patent the obvious any more without my permission.
Contrary to what some readers seem to think, the paintings were not done beforehand and then the people asked to choose between them. Rather, the artists made the paintings based on the answers to a survey.
The decision to put the mountain at the left and the tree at the right was made by the artists, not drawn from the results of the poll. I do agree that it borders on mania, but then, insofar as the countries did not express differences on these subjects, why change?
As you pointed out, quantum interference might deflect the beam. Another thing might: the energy of the magnetic field will create a gravitational field that would bend the light. Stupid question: which effect is the greater (assume a 1kW argon laser and a 10 tesla magnetic field in a volume of one cubic meter - you have four hours to give a detailed answer:-)
The key point is ``trade secret''. Disclosing a trade secret is Evil if you signed a nondisclosure agreement and promised not to disclose it. I would condemn (morally) this giving out the code to crack DVD encryption if it had been obtained by stealing the description of the algorithm from the DVD Forum's safes. But that is not what happened: they used a weak algorithm, and the algorithm was cracked. It is not a matter of distributing something which they gave, or which was stolen from them, it is a matter of distributing something which was deduced by someone else. They have no moral rights over this.
This is all nice and well, except that those are US laws, and they don't apply to the UK any more than Nigerian or Chilian law does. The Berne convention, of course, says nothing about copy protection since it was signed in 1886:-)
...he can be sued for infringement of the US Copyright laws? This makes no sense! And it is specifically the US Copyright law: the references stated are to the US Copyright law, and this form of copying is not forbidden by the Berne convention, and probably not by the UK or Norwegian copyright laws.
The lawyer strikes. The lawyer hits. You feel confused.
If it had been a patent, distributing the decryption software might have been illegal (provided you assume that patents on these sort of things are legally valid, which is uncertain in the States and certainly false in many countries, such as France). But it is not a patent issue, because they wanted to keep the details secret, and you can't file a patent unless you give the details (in theory, at least).
The copyright hypothesis doesn't hold much water, either: you can copyright a literary work, or a program, but not a standard, nor an algorithm, nor a technique.
The DVD Forum tried to keep the encryption secret. They failed. Too bad for them. Now let's enjoy the fruit of their failure.
But there's something I don't understand: they can't just change the format, like that, with all the existing DVD players around, can they? People who bought one of those will be mad (and you can't say - oh, sorry, you've got to buy a new one because some guy cracked our stupid format and we had to change it).
The world isn't really *that* rotten, is it? - Famous last words.
Number one, I think this excessive worry about whether PNG support in existing browsers is sufficient, is another instance of this sin of ``worrying about appearance more than about content'' pointed out by ESR in his HTML Hell Page. The whole idea of having transparency in images seems dubious at best.
Even if you insist on having transparent images, please don't let the fact that PNG browser support is not perfect prevent you from using them anyway. If you do, it never will be perfect (spell ``vicious cycle''). This (refusing PNG's because browsers don't fully support them) is a form of bugware: don't indulge in bugware. Just like you should write correct HTML even though buggy HTML might look better on some (or even on all) browsers. (One canonical example of this is — which I insist on using even though Netscape — under Linux at least — bugs on it.)
Secondly, I have a proposal for action, to show how ridiculous this whole patent issue is. Create a small image that reads something like ``PATENTS SUCK''. Draw it on a piece of paper. Get a copy of the GIF standard, and do the LZW compression by hand. This is not nearly as hard as Huffman, it should be doable if the image is small enough. Then distribute the image as widely as possible. Even better: sell it, so you can claim you made a commercial use of it.
Suddenly your brain is worth $5000. Impressive isn't it?
The text of the bill itself is available here. I will attempt to translate it, but my ignorance of legal jargon (English, and, to some extent, French also) will probably show: this is hardly better than Babelfish.
Keep in mind that this is not really a bill. It is only a suggestion of a bill, made by a small parliamentary group (the RDSE group, which isn't even a political party as far as I know). Also note that the Senate is the less powerful of the two house of parliament in France, and normally the more conservative one (curiously enough, the Senate's web site runs on Apache, whereas that of the other house of the French Parliament, the Assemblée Nationale, runs on Netscape Entreprise).
As Senator Laffite points out, this draft is concomitant with another bill proposed by French Justice Minister Elisabeth Guigou which would make digital signatures legally binding, and both bills might be merged into one.
Anyway, here's my translation:
Article 1 Communication between state and local administrations, as well as between the local administrations shall be performed by electronic means. The conditions of the switch from the current means (circulars, letters, summons, etc.) and generalized electronic mail shall be specified by a decree.
Article 2 So as to insure a good transparency and a more rapid access to information for business, public calls to bids and their ancillary documents will use electronic communication.
Responses will likewise be sent by electronic means.
During a transitional period, a paper communication may be added to the electronic communication. A decree shall specify the duration of this transitional period and the cost of the paper communication made on demand.
Article 3 The state and local administration and the administrative services, except as stated under article 4, may only use software that is free of rights and whose source code is available.
A decree shall specify the means of transition from the current situation.
Article 4 Certain specific software programs may be used and obtained by administrations and services mentioned in article 3 after authorization by a competent service. A decree shall specify the geographical location of this service and the conditions for obtaining this authorization.
Article 5 So as to hasten the application of this bill, a service of electronic information shall be created in each prefecture for public services and local administrations, and consular assemblies for the companies involved.
It seems to me that the HURD already has this concept of capabilities: Mach port rights are exactly that, capabilities. The Hurd ``auth'' server emulates users using these capabilities, so the OS can function as Unix (with multiple UIDs per process), but you have all the libraries and stuff to bypass this and use the basic Mach mechanisms.
HURD is admittedly not very advanced, but it is still more so than EROS right now.
This is not the only exasperating thing with Lycos. Another one is that if you try to access www.lycos.com from a computer with domain name ending in.fr they redirect you to www.fr.lycos.de (which means you get a page in French; it also means all the links on this/. discussion are broken for me). This is irritating at best. If I wanted a page in French I would put ``fr'' before ``en'' in my Accept-Language header, damn it! At least, Accept-Language is something I can change; not so with my domain name.
I didn't say they were great names of computer science, I just said they would probably be remembered as such;-)
The real great names of computer science are people like Dijkstra, Tarjan, Sussman, Knuth and such. Still, Torvalds and Stallman did some things worth remembering besides the Free Software aspect: Torvalds did make a point about the efficiency of a monolithic kernel, and Stallman about the possibility of writing a reasonably efficient cross-platform C compiler.
I agree. Bill Gates is full of good intentions. Only, as we well know, ``the road to hell is paved with good intentions''.
He has a relatively good idea of what can be done with a computer; only he is obviously clueless as to how things can be done.
He perceives the existence of the Internet Revolution, a phenomenon that is probably just starting, and he rightly knows that many client computers (as opposed to servers) are running Windows; by a considerably fallacious syllogism he concludes that Windows is somehow responsible for the revolution. I am (as most slashdot readers, I suppose) persuaded that the revolution would not have taken place any slower had it not been for Windows. (Hope I put the right number of negatives in the previous sentence;-) I also think it would not have happened any slower, though - I think it's a sort of ``psychohistorical'' necessity that cannot be slowed or hastened without great effort.
Will Gates be remembered as one of the Great Names of computer science? I like to think not. Cerf will be remembered in the future, probably more than he is now; perhaps Postel will be also; Torvalds and Stallman might; and so might Schneier (because I think cryptography is destined to become far more important in daily life than it is now). But Gates will be remembered only as a great businessman (along with Rockafeller). Or is that just me hoping?
I agree with Brian: Bach is definitely best suited for coding. I suggest the ``Art of the Fugue'' or the ``Musical Offering'' for writing difficult bits that require a lot of thinking. For more easy and repetitive stuff (mainly ``coding by M-w''), the ``Well-Tempered Clavier'' is fine. When debugging, use the ``Goldberg Variations''. Händel can be an acceptable substitute if you get bored of Bach.
For more romantic stuff, try Bruckner (or possibly Mendelssohn or Schumann - say the ``Children Scenes''). By all means avoid Wagner and Tchaikovsky: very beautiful, but it will distract you from your code. Some pieces by Brahms (variations on a theme by Haydn for example) can be fine, too.
There's a story a friend of mine (whom we suspect works for the French secret services although he won't admit it) likes to tell. DES encoding was, as we know, introduced by the NSA. When, some twenty years later (slight exaggeration there), differential and linear cryptoanalysis were invented, one of the obvious ideas was to try those upon DES. And, much to everyone's surprise, it was discovered that DES was already protected against differential and linear cryptoanalysis. This could be no accident: it meant that the NSA already knew about these methods long before anyone else did. Kindda scary.
However, I like to think that this isn't the general rule. Simply because I don't think efficient research (on mathematics, cryptography or any such thing) can be conducted in secret. The NSA might get the best brains - and even then, I doubt it (which math genius would prefer to work in secret rather than get due recognition for his work?). They might have the most expensive computer equipment in the world. They might intensively specialize on certain topics such as cryptography and cryptoanalysis. But even then, it won't get much ahead of the rest of the world scientific community. Simply because research does not work that way. There might be exceptions, naturally, but on the whole, I think the advance they may hold exists mainly in the conspiration-lovers' fertile imagination.
I'm quite persuaded the NSA doesn't have a P-time algorithm for factoring integers. Simply because I'm quite persuaded that no such algorithm exists (and then, they can put all the money in the world forth, you just can't buy math). That being so, RSA is probably secure forever (however, symmetric ciphers, or hash functions, being used in PGP might be more vulnerable, that is another problem).
To conclude with a blasphemously political statement: I think secret services are mainly a waste of the taxpayer's money. Using which money ``they'' can buy expensive guns, or, as it were, huge supercomputers, and show off a lot. But that's about the full extent of their usefulness.
They have been experiencing various difficulties. Their NFS server had a faulty motherboard and must be replaced, and they had various difficulties with their ISDN modem (which I helped their sysadmin in solving). Release is expected Real Soon Now (tm).
This is the sort of topic on which everyone would comment by advocating h(is|er) Favorite Programming Language. Since I am not one not to rush along with the fools, I will do likewise.
Of course, in theory, the choice of a programming language should be irrelevant, by a weak form of the Church-Turing thesis (``at the bottom'', all programming languages are isomorphic). Teaching how to program should be that, teaching how to program, and not teaching the use of a particular language, be it the hype of the moment. But in fact we don't believe that — if we did we might as well use the Pure Lambda Calculus, or Turing Machines in the teaching, and something tells me that this would be disastrous. There is, as fortune says, no difference between theory and practice — in theory.
So the ideal programming language should be a high-level one, where the syntactic sugar is kept to a minimum, and where the important concepts are emphasized. And it should be garbage-collected. That obviously rules out C, even more C++, and I don't think Python is such a good choice either. IMHO, the three natural candidates would be:
Scheme
ML (either SML/NJ or OCAML)
Java
Scheme is probably the best choice if we want to give students good habits from the start: very limited syntactic sugar (no fear of cancer of the semicolon), simple and logical structure, first-class citizenship for almost all objects (so that students can get used to manipulating all sorts of abstractions, without having to climb out of the Turing tar-pit first by wrapping the instruction in needless layers of content-free material). It might be argued that it is too difficult: I really don't think so; the difficulty most people have in dealing with Scheme is more cultural (and acquired) than intrinsic. Scheme's main disadvantage, though, is its lack of a decent (standardized) run-time library. If, however, we really want to teach the students the essentials of programming (i.e. algorithms), and not the bells and whistles of the cute graphics and so, Scheme is the best choice.
ML is in the same line. Its syntax is not nearly as logical as that of Scheme (rather ad hoc and inelegant), but it does have two features which may be viewed as advantages. One, it is strongly typed; that can be an advantage (teaches good habits) but also an inconvenience (look up ``bondage-and-discipline'' in the Jargon File). Two, it offers the possibility of programming imperatively (which is much harder in Scheme), because it is a relative of Pascal; so students could be shown both styles of programming (functional and imperative) in the same language.
Java is more of a compromise. It is not nearly as ``mathematical'' as the two other ones (and hence, some would say, not nearly as difficult). It is akin to C, but has the considerable advantage of being GC'ed. (Teaching students how to free() memory themselves is an anachronism, like Knuth teaching us how to bootstrap a computer with a punched card.) It also has a rich run-time library. Data abstraction can be satisfactorily achieved in Java; however, first-class citizenship of all concepts is still far.
I can see that. Nevertheless, there's a whole profound mathematical theory on summing divergent series. 1+2+4+8+... sums to -1 (and 1+1+1+... sums to -1/2 and 1+2+3+4+... sums to -1/12). Obviously, Knuth knows all that quite well.
Knuth went far beyond this. He offered to pay $0.01 for the first bug found in TeX and double each time. It seems up to now he paid only $327.67. Imagine Gates doing the same thing... Well, mathematicians tell us that the sum of $0.01, $0.02, $0.04 up to infinity is actually -$0.01. Let's hope they're right.
Well, I'm happy to see that/. is not the only place where the poll questions are absurd (only this one is probably not on purpose). Still, there is a kind of geeky pleasure in answering an absurd question, and the more absurd the question the geekier the pleasure.
To say that someone had a great influence on the century can mean two different things. What we would really like to say is that, had s?he not been there, future history would have been quite different. This is quite evidently the case of someone like Lenin: had he not been there (or even, had the Germans not let him return to Russia), the first Russian revolution would have been the Russian revolution, the socio-democrats would have taken power in Russia, and communism would probably never have been anything else than a theoretical philosophy. Probably the same could be said of Hitler.
On the other hand, some great people did great things that would certainly have been done anyway (only later) had they not been there. (This does not necessarily diminish their credit, btw.) If Einstein had not discovered relativity, Poincaré or someone else would have done so (and indeed, there is reason to claim that Poincaré did discover relativity).
So there are two different meanings to ``having a great influence on the century'': one can actually bring about things that would not have been brought about otherwise, or one can be the instrument of a great event that would probably have taken place in any case. I tend to think that most ``bad guys'' are in the first case whereas ``good guys'' are in the second. That is, Good is necessary whereas Evil is contingent. (Maybe this is my Hegelian way of seeing history.)
Let us recapitulate. This century has seen two world wars (not one, but two) and one Cold War; it has seen the rise and fall of communism; the invention and first use of the atom bomb; the discovery of relativity and quantum mechanics, and such advance in medicine as had never been dreamt before (remember how deadly tuberculosis used to be); the fall of such once mighty empires as those of Germany, Austria, Russia, China and (in a way) Japan; the end of colonialism (and the Bandoeng conference); the appearance and disappearance of the League of Nations, and the foundation of the United Nations; the beginning of the conquest of space (and man's first step on the moon); the widespread use of the telephone and the automobile; and the invention of the computer. That makes a lot for just one century, and to each of these events is associated one or several names (some might not be widely known but that is beside the point: we are not concerned with fame but with importance). So the list is crowded indeed.
Pardon me for being rude, but the idea that in all this the most important person might be the author of a piece of software seems patently ridiculous. Even if Linus had not started Linux, we would probably still have a BSD kernel with the GNU project on top, so even a free OS would be available. And if it is the concept of freedom itself which we find important, then put the credit with such people as RMS, not Torvalds.
Why, as another poster pointed out, the entire field of computer science appeared in this century. Turing is the important name there, and, possibly even more than Turing, John von Neumann (who was also in some ways responsible for quantum mechanics). To insisist in giving too much importance to people much nearer us is a case of temporal myopia. (I don't dare imagine what would happen if somebody asked for the most important person in the millenium! I think it would be much more interesting to ask for the most important person in the XIXth century, now that we have some distance.)
Even if we want to be so near-sighted, and even if we insist on being geeks and giving computer science the importance it deserves, please remember what the most important phenomenon in computer science of these recent years is: it is not Windows, and it is not Linux. It is, obviously, the Internet. So I would name the man who invented the Internet, that is, Vinton Cerf.
Of course. A magnetic field has energy, which is the same as mass under relativity, and anything which has mass produces a gravitational field. And light does get deflected by gravitational fields. This is utterly negligible, of course, but then, so are the quantum interferences.
I suggest turning the patenters' weapon against themselves and patenting the very idea of patenting the obvious. Obvious, isn't it? That way, nobody can patent the obvious any more without my permission.
Contrary to what some readers seem to think, the paintings were not done beforehand and then the people asked to choose between them. Rather, the artists made the paintings based on the answers to a survey.
The decision to put the mountain at the left and the tree at the right was made by the artists, not drawn from the results of the poll. I do agree that it borders on mania, but then, insofar as the countries did not express differences on these subjects, why change?
As you pointed out, quantum interference might deflect the beam. Another thing might: the energy of the magnetic field will create a gravitational field that would bend the light. Stupid question: which effect is the greater (assume a 1kW argon laser and a 10 tesla magnetic field in a volume of one cubic meter - you have four hours to give a detailed answer :-)
The key point is ``trade secret''. Disclosing a trade secret is Evil if you signed a nondisclosure agreement and promised not to disclose it. I would condemn (morally) this giving out the code to crack DVD encryption if it had been obtained by stealing the description of the algorithm from the DVD Forum's safes. But that is not what happened: they used a weak algorithm, and the algorithm was cracked. It is not a matter of distributing something which they gave, or which was stolen from them, it is a matter of distributing something which was deduced by someone else. They have no moral rights over this.
Sorry, I meant to reply to nstrug, not to taniwha, of course.
This is all nice and well, except that those are US laws, and they don't apply to the UK any more than Nigerian or Chilian law does. The Berne convention, of course, says nothing about copy protection since it was signed in 1886 :-)
...he can be sued for infringement of the US Copyright laws? This makes no sense! And it is specifically the US Copyright law: the references stated are to the US Copyright law, and this form of copying is not forbidden by the Berne convention, and probably not by the UK or Norwegian copyright laws.
The lawyer strikes. The lawyer hits. You feel confused.
If it had been a patent, distributing the decryption software might have been illegal (provided you assume that patents on these sort of things are legally valid, which is uncertain in the States and certainly false in many countries, such as France). But it is not a patent issue, because they wanted to keep the details secret, and you can't file a patent unless you give the details (in theory, at least).
The copyright hypothesis doesn't hold much water, either: you can copyright a literary work, or a program, but not a standard, nor an algorithm, nor a technique.
The DVD Forum tried to keep the encryption secret. They failed. Too bad for them. Now let's enjoy the fruit of their failure.
But there's something I don't understand: they can't just change the format, like that, with all the existing DVD players around, can they? People who bought one of those will be mad (and you can't say - oh, sorry, you've got to buy a new one because some guy cracked our stupid format and we had to change it).
The world isn't really *that* rotten, is it? - Famous last words.
I call this a victory against obfuscation and closed standards.
I hope the keys - and all the relevant details - were widely published, and I hope this means we'll have Linux software that reads DVD's soon.
I have two comments to make about this.
Number one, I think this excessive worry about whether PNG support in existing browsers is sufficient, is another instance of this sin of ``worrying about appearance more than about content'' pointed out by ESR in his HTML Hell Page. The whole idea of having transparency in images seems dubious at best.
Even if you insist on having transparent images, please don't let the fact that PNG browser support is not perfect prevent you from using them anyway. If you do, it never will be perfect (spell ``vicious cycle''). This (refusing PNG's because browsers don't fully support them) is a form of bugware: don't indulge in bugware. Just like you should write correct HTML even though buggy HTML might look better on some (or even on all) browsers. (One canonical example of this is — which I insist on using even though Netscape — under Linux at least — bugs on it.)
Secondly, I have a proposal for action, to show how ridiculous this whole patent issue is. Create a small image that reads something like ``PATENTS SUCK''. Draw it on a piece of paper. Get a copy of the GIF standard, and do the LZW compression by hand. This is not nearly as hard as Huffman, it should be doable if the image is small enough. Then distribute the image as widely as possible. Even better: sell it, so you can claim you made a commercial use of it.
Suddenly your brain is worth $5000. Impressive isn't it?
The text of the bill itself is available here. I will attempt to translate it, but my ignorance of legal jargon (English, and, to some extent, French also) will probably show: this is hardly better than Babelfish.
Keep in mind that this is not really a bill. It is only a suggestion of a bill, made by a small parliamentary group (the RDSE group, which isn't even a political party as far as I know). Also note that the Senate is the less powerful of the two house of parliament in France, and normally the more conservative one (curiously enough, the Senate's web site runs on Apache, whereas that of the other house of the French Parliament, the Assemblée Nationale, runs on Netscape Entreprise).
As Senator Laffite points out, this draft is concomitant with another bill proposed by French Justice Minister Elisabeth Guigou which would make digital signatures legally binding, and both bills might be merged into one.
Anyway, here's my translation:
Article 1 Communication between state and local administrations, as well as between the local administrations shall be performed by electronic means. The conditions of the switch from the current means (circulars, letters, summons, etc.) and generalized electronic mail shall be specified by a decree.
Article 2 So as to insure a good transparency and a more rapid access to information for business, public calls to bids and their ancillary documents will use electronic communication.
Responses will likewise be sent by electronic means.
During a transitional period, a paper communication may be added to the electronic communication. A decree shall specify the duration of this transitional period and the cost of the paper communication made on demand.
Article 3 The state and local administration and the administrative services, except as stated under article 4, may only use software that is free of rights and whose source code is available.
A decree shall specify the means of transition from the current situation.
Article 4 Certain specific software programs may be used and obtained by administrations and services mentioned in article 3 after authorization by a competent service. A decree shall specify the geographical location of this service and the conditions for obtaining this authorization.
Article 5 So as to hasten the application of this bill, a service of electronic information shall be created in each prefecture for public services and local administrations, and consular assemblies for the companies involved.
It seems to me that the HURD already has this concept of capabilities: Mach port rights are exactly that, capabilities. The Hurd ``auth'' server emulates users using these capabilities, so the OS can function as Unix (with multiple UIDs per process), but you have all the libraries and stuff to bypass this and use the basic Mach mechanisms.
HURD is admittedly not very advanced, but it is still more so than EROS right now.
This is not the only exasperating thing with Lycos. Another one is that if you try to access www.lycos.com from a computer with domain name ending in .fr they redirect you to www.fr.lycos.de (which means you get a page in French; it also means all the links on this /. discussion are broken for me). This is irritating at best. If I wanted a page in French I would put ``fr'' before ``en'' in my Accept-Language header, damn it! At least, Accept-Language is something I can change; not so with my domain name.
I didn't say they were great names of computer science, I just said they would probably be remembered as such ;-)
The real great names of computer science are people like Dijkstra, Tarjan, Sussman, Knuth and such. Still, Torvalds and Stallman did some things worth remembering besides the Free Software aspect: Torvalds did make a point about the efficiency of a monolithic kernel, and Stallman about the possibility of writing a reasonably efficient cross-platform C compiler.
I agree. Bill Gates is full of good intentions. Only, as we well know, ``the road to hell is paved with good intentions''.
;-) I also think it would not have happened any slower, though - I think it's a sort of ``psychohistorical'' necessity that cannot be slowed or hastened without great effort.
He has a relatively good idea of what can be done with a computer; only he is obviously clueless as to how things can be done.
He perceives the existence of the Internet Revolution, a phenomenon that is probably just starting, and he rightly knows that many client computers (as opposed to servers) are running Windows; by a considerably fallacious syllogism he concludes that Windows is somehow responsible for the revolution. I am (as most slashdot readers, I suppose) persuaded that the revolution would not have taken place any slower had it not been for Windows. (Hope I put the right number of negatives in the previous sentence
Will Gates be remembered as one of the Great Names of computer science? I like to think not. Cerf will be remembered in the future, probably more than he is now; perhaps Postel will be also; Torvalds and Stallman might; and so might Schneier (because I think cryptography is destined to become far more important in daily life than it is now). But Gates will be remembered only as a great businessman (along with Rockafeller). Or is that just me hoping?
I agree with Brian: Bach is definitely best suited for coding. I suggest the ``Art of the Fugue'' or the ``Musical Offering'' for writing difficult bits that require a lot of thinking. For more easy and repetitive stuff (mainly ``coding by M-w''), the ``Well-Tempered Clavier'' is fine. When debugging, use the ``Goldberg Variations''. Händel can be an acceptable substitute if you get bored of Bach.
For more romantic stuff, try Bruckner (or possibly Mendelssohn or Schumann - say the ``Children Scenes''). By all means avoid Wagner and Tchaikovsky: very beautiful, but it will distract you from your code. Some pieces by Brahms (variations on a theme by Haydn for example) can be fine, too.
There's a story a friend of mine (whom we suspect works for the French secret services although he won't admit it) likes to tell. DES encoding was, as we know, introduced by the NSA. When, some twenty years later (slight exaggeration there), differential and linear cryptoanalysis were invented, one of the obvious ideas was to try those upon DES. And, much to everyone's surprise, it was discovered that DES was already protected against differential and linear cryptoanalysis. This could be no accident: it meant that the NSA already knew about these methods long before anyone else did. Kindda scary.
However, I like to think that this isn't the general rule. Simply because I don't think efficient research (on mathematics, cryptography or any such thing) can be conducted in secret. The NSA might get the best brains - and even then, I doubt it (which math genius would prefer to work in secret rather than get due recognition for his work?). They might have the most expensive computer equipment in the world. They might intensively specialize on certain topics such as cryptography and cryptoanalysis. But even then, it won't get much ahead of the rest of the world scientific community. Simply because research does not work that way. There might be exceptions, naturally, but on the whole, I think the advance they may hold exists mainly in the conspiration-lovers' fertile imagination.
I'm quite persuaded the NSA doesn't have a P-time algorithm for factoring integers. Simply because I'm quite persuaded that no such algorithm exists (and then, they can put all the money in the world forth, you just can't buy math). That being so, RSA is probably secure forever (however, symmetric ciphers, or hash functions, being used in PGP might be more vulnerable, that is another problem).
To conclude with a blasphemously political statement: I think secret services are mainly a waste of the taxpayer's money. Using which money ``they'' can buy expensive guns, or, as it were, huge supercomputers, and show off a lot. But that's about the full extent of their usefulness.
They have been experiencing various difficulties. Their NFS server had a faulty motherboard and must be replaced, and they had various difficulties with their ISDN modem (which I helped their sysadmin in solving). Release is expected Real Soon Now (tm).
This is the sort of topic on which everyone would comment by advocating h(is|er) Favorite Programming Language. Since I am not one not to rush along with the fools, I will do likewise.
Of course, in theory, the choice of a programming language should be irrelevant, by a weak form of the Church-Turing thesis (``at the bottom'', all programming languages are isomorphic). Teaching how to program should be that, teaching how to program, and not teaching the use of a particular language, be it the hype of the moment. But in fact we don't believe that — if we did we might as well use the Pure Lambda Calculus, or Turing Machines in the teaching, and something tells me that this would be disastrous. There is, as fortune says, no difference between theory and practice — in theory.
So the ideal programming language should be a high-level one, where the syntactic sugar is kept to a minimum, and where the important concepts are emphasized. And it should be garbage-collected. That obviously rules out C, even more C++, and I don't think Python is such a good choice either. IMHO, the three natural candidates would be:
Scheme is probably the best choice if we want to give students good habits from the start: very limited syntactic sugar (no fear of cancer of the semicolon), simple and logical structure, first-class citizenship for almost all objects (so that students can get used to manipulating all sorts of abstractions, without having to climb out of the Turing tar-pit first by wrapping the instruction in needless layers of content-free material). It might be argued that it is too difficult: I really don't think so; the difficulty most people have in dealing with Scheme is more cultural (and acquired) than intrinsic. Scheme's main disadvantage, though, is its lack of a decent (standardized) run-time library. If, however, we really want to teach the students the essentials of programming (i.e. algorithms), and not the bells and whistles of the cute graphics and so, Scheme is the best choice.
ML is in the same line. Its syntax is not nearly as logical as that of Scheme (rather ad hoc and inelegant), but it does have two features which may be viewed as advantages. One, it is strongly typed; that can be an advantage (teaches good habits) but also an inconvenience (look up ``bondage-and-discipline'' in the Jargon File). Two, it offers the possibility of programming imperatively (which is much harder in Scheme), because it is a relative of Pascal; so students could be shown both styles of programming (functional and imperative) in the same language.
Java is more of a compromise. It is not nearly as ``mathematical'' as the two other ones (and hence, some would say, not nearly as difficult). It is akin to C, but has the considerable advantage of being GC'ed. (Teaching students how to free() memory themselves is an anachronism, like Knuth teaching us how to bootstrap a computer with a punched card.) It also has a rich run-time library. Data abstraction can be satisfactorily achieved in Java; however, first-class citizenship of all concepts is still far.
I can see that. Nevertheless, there's a whole profound mathematical theory on summing divergent series. 1+2+4+8+... sums to -1 (and 1+1+1+... sums to -1/2 and 1+2+3+4+... sums to -1/12). Obviously, Knuth knows all that quite well.
Knuth went far beyond this. He offered to pay $0.01 for the first bug found in TeX and double each time. It seems up to now he paid only $327.67. Imagine Gates doing the same thing... Well, mathematicians tell us that the sum of $0.01, $0.02, $0.04 up to infinity is actually -$0.01. Let's hope they're right.
Well, I'm happy to see that /. is not the only place where the poll questions are absurd (only this one is probably not on purpose). Still, there is a kind of geeky pleasure in answering an absurd question, and the more absurd the question the geekier the pleasure.
To say that someone had a great influence on the century can mean two different things. What we would really like to say is that, had s?he not been there, future history would have been quite different. This is quite evidently the case of someone like Lenin: had he not been there (or even, had the Germans not let him return to Russia), the first Russian revolution would have been the Russian revolution, the socio-democrats would have taken power in Russia, and communism would probably never have been anything else than a theoretical philosophy. Probably the same could be said of Hitler.
On the other hand, some great people did great things that would certainly have been done anyway (only later) had they not been there. (This does not necessarily diminish their credit, btw.) If Einstein had not discovered relativity, Poincaré or someone else would have done so (and indeed, there is reason to claim that Poincaré did discover relativity).
So there are two different meanings to ``having a great influence on the century'': one can actually bring about things that would not have been brought about otherwise, or one can be the instrument of a great event that would probably have taken place in any case. I tend to think that most ``bad guys'' are in the first case whereas ``good guys'' are in the second. That is, Good is necessary whereas Evil is contingent. (Maybe this is my Hegelian way of seeing history.)
Let us recapitulate. This century has seen two world wars (not one, but two) and one Cold War; it has seen the rise and fall of communism; the invention and first use of the atom bomb; the discovery of relativity and quantum mechanics, and such advance in medicine as had never been dreamt before (remember how deadly tuberculosis used to be); the fall of such once mighty empires as those of Germany, Austria, Russia, China and (in a way) Japan; the end of colonialism (and the Bandoeng conference); the appearance and disappearance of the League of Nations, and the foundation of the United Nations; the beginning of the conquest of space (and man's first step on the moon); the widespread use of the telephone and the automobile; and the invention of the computer. That makes a lot for just one century, and to each of these events is associated one or several names (some might not be widely known but that is beside the point: we are not concerned with fame but with importance). So the list is crowded indeed.
Pardon me for being rude, but the idea that in all this the most important person might be the author of a piece of software seems patently ridiculous. Even if Linus had not started Linux, we would probably still have a BSD kernel with the GNU project on top, so even a free OS would be available. And if it is the concept of freedom itself which we find important, then put the credit with such people as RMS, not Torvalds.
Why, as another poster pointed out, the entire field of computer science appeared in this century. Turing is the important name there, and, possibly even more than Turing, John von Neumann (who was also in some ways responsible for quantum mechanics). To insisist in giving too much importance to people much nearer us is a case of temporal myopia. (I don't dare imagine what would happen if somebody asked for the most important person in the millenium! I think it would be much more interesting to ask for the most important person in the XIXth century, now that we have some distance.)
Even if we want to be so near-sighted, and even if we insist on being geeks and giving computer science the importance it deserves, please remember what the most important phenomenon in computer science of these recent years is: it is not Windows, and it is not Linux. It is, obviously, the Internet. So I would name the man who invented the Internet, that is, Vinton Cerf.
#ifdef RANT
Ah, if people could only learn to use a GC rather than trying to free memory by hand...
#endif