I have been reading through the comments, and there does not seem to be much discussion about what IQ tests do well and what they do poorly. Generally there is an assertion that they are useful by some and an assertion that they are useless by others. As is typical in these cases, both sides are mostly wrong and only partially right.
Thinking about this, I believe there is one particular aspect of this discussion that needs more elaboration. Lets look at two ranges of the IQ test. The range from 80 to 120, and the range from 130 to 170. They are both 40 points apart and imply a wide difference in intelligence for those at the bottom vs those at the top of the range. However, the IQ test does much better (in my opinion and I suspect you can find independent literature to support this) on the range 80 to 120. Usually somebody with an IQ of 80 is not destined for a college degree and somebody with 120 has a good chance of finishing college. In this regard the test does fairly well. Whether it is actually measuring real mental talents of one type or another is a different issue.
Now, look at the range of 130 to 170. People with IQs of 170 are a bit different in nature to those who have 130. That seems fairly clear. But focused strengths in particular mental abilities are not well picked out and the IQ test seems to do a terrible job of predicting future grandmasters in chess, future professors at elite schools, future engaging storytellers, or even future great repositories of interesting trivia. Also when it comes to elite abilities, IQ tests at the high end of the range tend to discount the obsessive dedication that is required to become one of the best.
I think one of the issues is that IQ tests are good at finding deficiencies, places where somebody is lacking critical mental skills to learn what is required in our modern society, and does poorly at diagnosing elite mental talents. Those that praise the IQ test usually point out scenarios where the IQ test helped find people who needed additional resources to succeed. Those that criticize the IQ test tend to focus on how those with "genius IQs" tend not to necessarily do great acts that measure up to their numerical IQ score.
Take the relatively simple problem of determining potential skill at chess. Chess makes for a nice example because skill at chess is only somewhat coorelated with other mental abilities (making it possible to "isolate it" from other mental facets) and it is definitely measurable by competing with others. There is a clear cut state of "grandmaster" which all fairly accomplished chess players agree is a statement of real elite capability. It is (probably -- I am extrapolating on my own anecdotal experience) not hard to create a test to determine if somebody is going to play chess adequately and I suspect such a test is somewhat coorelated with an IQ test. A person with an IQ of 80 probably will never play chess that well, while a person with an IQ of 120 will likely learn to play the game adequately (counter examples are welcome). There are kids who clearly do not have much talent for the game and I doubt even focused study would help them. For them, learning how to mate with K and Q against K is a bit of a stretch.
But is it possible to create a test which will determine who is likely to be a future grandmaster (or even master) as compared to just playing "well"? I have recently been a chess coach for elementary school kids and there is one trait that I have determined that is coorelated with future ability. It is an obsessive interest in the game. I have kids who I thought were better natural talents, but they quickly fell behind those who made it their life mission to be better. In particular, I believe that an IQ test result of 170 is practically meaningless in predicting future great success in chess.
I use chess as an example, because I believe much the same can be said about any elite mental talent. Every time I hear debates about IQ, I ask myself, how well does it predict chess failure and how well does it predict elite chess success? I believe such a examination will produce results that are as valid as when the IQ test is used to predict future greatness in scientists and writers.
I actually don't have so much problem with "Finance as gambling" because such people can help create a stable market for securities such as stocks. They are the people who will sell you a stock at a reasonable price when nobody else will because they have "gambled" that the current negative opinion against the stock is wrong. Unless the "gamblers" are acting on illegally obtained information, the losers are not the people who are trying to use the financial markets for reasonable purposes but instead it is rich people gambling with money against other rich people which may be a non productive use of their time but it is not necessarily harmful.
What would be harmful is if the "best and brightest" were being hired just to aid this "amusement device" for the wealthy. It would be much like rich people hiring the best artists to create personal art works that would not be available to the general public. It is wrong, but not terribly wrong and in the long run it might not be that harmful. In the case of the artists, the artists might otherwise have given up doing art if not for funding from the wealthy. Likewise with engineers, some engineers may find finance closer to their "true calling" than anything they can get outside of finance.
I agree with your assessment in the use of CDOs, but my spin on it is different. In the case of the CDOs, the principal problem is that they disguised the risk from a big "negative event" (house prices stop going up). Because of this, they provided returns that appeared attractive and regulators that monitored risk at our large institutions allowed transactions to occur which should not have occurred. The "crime" here was that CDOs were advertised as a "safe" investment that provided returns better than other "safe" investments when the truth was that CDOs were far from being "safe". All the bad outcomes (banks using CDOs to give them more money to lend) are consequences of this basic fact. My question is how much of financial engineering goes into enabling these types of "crimes" and how much is for "gambling" (which in some cases can actually do good things)?
Unlike some of the posters, I do not have a clear opinion or understanding of exactly finance does for us, especially the part of finance that is done by MIT graduates. I have heard two opposing claims which I put into two opposing categories.
Is it:
* Finance is a fraudulent game designed to fleece others out of their money using complex financial instruments that cannot be understood by those who have the responsibility to prevent fraudulent activities in our financial institutions.
or:
* Finance more efficiently distributes money into investments in our economy so that our resources are more efficiently organized to maximize productivity. Complex financial instruments are used to distribute risk and allow creators of goods and services to protect themselves against risks which would otherwise potentially destroy their ability to provide those goods and services.
The problem is that I believe each of the above statements are true at least to some extent. What I don't know is the percentage to assign to each category or to some new category in between these two polar opposites of categories of results. In particular, I do not how mathematical financial engineering is distributed among these categories in terms of effective output.
If the best and brightest are being hired merely to create profit for the few and have no positive impact on the wealth of the many, then I believe that is wrong and I cannot see justification for this as a moral good. I cannot see any essential difference between this and successful recruitment efforts by the Mafia for new well paid enforcers. An enforcers job might be fun, have good comradeship, work with the "best", and be well paid, but it still does not make it a morally acceptable choice of occupation.
So for me, the key question is whether the mathematically complex part of finance is actually performing in the way capitalism is intended to perform or are the complex algorithms used to better enable parasites to enrich themselves at the expense of the larger body politic. Factual information on this is actually somewhat hard to come by. Certainly I have seen a lot of claims about CDOs, risky mortgages, investment pools, arbitrage and the root causes of recent failures. But when I try to dig a little further, real information based on real data is quite hard to find.
I'll give an example. One typical trick for extracting unfair money from others is to design an investment that pays better than average as long as a seemingly unlikely event does not occur. You get others to put money into the investment by lying or disguising the true risks about whether the event will occur. You then take a portion of the money that investment as your own (as a "fee") and then create a complex derivative to bet against the investment by buying "insurance that pays off if the event occurs". How much of the profit made by financial companies is made from tricks of this sort?
In particular, what percentage of the recent instability was caused by CDOs that packaged risky mortgages and how well did some of the principal players understand the true nature of the risk? Again, I can get vociferously stated opinions on this but I am finding it hard to find real fact. However, in defense of the financial industry, it seems very few were aware of the true risks of the mortgages and many of them lost considerable money (maybe not as much as they should have) after the crisis. But there were some who knew what was going on and many (even though ignorant about what was truly going on) who profited while the times were good who did not suffer proportionally when things went bad (the "private profit" and "socialized risk" that a couple of posters alluded to).
I do have one more thing to say. There is an old saying, "Democracy is the very worst form of government with the exception of all others". I have a similar opinion about capitalism. Capitalism is prone to "bubbles" that grow and burst and this seems to be inherent in its nature. When seen this w
A lot of responses that I have seen to this question are basically the following.
"Create your own CA (certificate authority) certificate and distribute them to the client workstations." Then they accuse the original poster of having asked an overly simple and uninteresting question.
I am going to say something nobody else seems to have said. SSL sucks big time for large workgroups inside a private intranet. It is an inappropriate solution that is being used for the lack of anything better. IE will give AD based authentication for browsers, but did not extend that to securing the communication channel itself.
This issue is much nastier and more complex then anybody has allowed for. SSL does a very good job of solving the problem of creating secure communications over untrusted anonymous networks. However, they are a real pain when the only thing you want to do is create a secure communication between two machines in the same room. In those cases, SSL comes with a lot of overhead that is really not needed. In the case of two machines in the same room (or workgroup), the machines are already on internal corporate IP addresses, so a lot of the issues that SSL was designed to solve (validating that the IP address really points to the expected entity) just are not applicable. Usually the only reason why you want to encrypt the data is so that somewhat private data won't be sniffed by other users. You are not trying to prove that you are a legitimate seller of any goods or services.
What really astounded me were the claims that it would be easy to get users to accept company controlled installs of browsers and tools. I have worked in such an environment and it was actively resisted and foiled because the choices were so limiting. For those who say "it would work it was done right", probably have not done cross browser development where you had to test on Linux, Mac, and variants of Windows machines. Nor have they done Java development where the Java has to communicate to the server (over https) as well (Java has its own client CA chain distribution).
Every place I have ever worked (big or small) has had http web sites when they really should have been https because of the pain of trying to use SSL. To say that this is because of bad IT management I think gets it wrong. SSL is a bad fit for this problem space and browsers (and Java) need to support other security solutions. It would be nice to recommend Kerberos, but Kerberos has really only gotten full implementation with AD and is even more painful for client adoption in most (with non Microsoft machines in the mix) real world scenarios I have seen. The state of intranet security is broken at its foundations and the proposed solutions that have been suggested here would not work (in practical, reliable, real world usage) for many workgroups working inside a much larger corporate entity.
There is another big difference between C# and Java. In Java, you are strongly discouraged from making native calls. For example, instead of using the native desktop GUI widgets, Java writes a large wrapper (Swing) around the desktop interface and tries to port all that complexity from platform to platform. In C# on Windows, I make Windows (C# friendly wrappers -- but still Windows) specific calls if I am trying to create a GUI user interface. Similar points go for certain other APIs such as ADSI, network pipes, registry, HTTP, and encryption. In fact, if you look at the general low level Windows APIs, there is a lot of functionality there that is not captured in Java.
I agree that C# is better than Java at doing the basics, but C# is hard to separate from the platform that birthed it. This makes C# a difficult language to deal with if you are not writing for a Windows platform. For example, from my understanding, the port to Linux of C# is not to make applications portable from Windows to Linux (except maybe some server apps), but to make C# a productive language for Linux the ways it is for Microsoft. I expect to call native Linux APIs from C# when I am running on Linux. Why not? The benefit of doing otherwise is not so clear given the general lack of portability of C#. This approach does create stress points. The.net API is a large collection of APIs, some of which run on Linux on C#, some that don't. Some are protected by GPL like licenses so you can use them without a fear of a lawsuit, others are not. As an example, I think there are still some controversies about some of the fancier parts of the WebForms APIs (some of the complicated dynamic HTML tables for example).
This post is in response to posts that say "Java is not important -- if we kill Java it won't matter that much". I disagree and the fact that Oracle is preventing the language from growing and potentially killing its future is big news and should not be dismissed lightly.
There is a saying, "democracy is the very worst form of government with the exception of all others." I have a similar opinion about Java.
Let me list four key strengths that Java has:
1. If you write code using primitives (such as byte arrays and char arrays) you can write parsing and syntax processing code that has near C-like performance. This applies to other tasks that need high performance such as querying or processing data. It is why higher level scripting languages can be written on top of Java.
2. It eliminates a lot of the dangerous, painful, and unstable aspects of programming in a non scripting language like C. It does garbage collection and does not allow you to corrupt your application memory or your heap in hard to detect ways. It provides clean stack dumps when errors do occur and prevents the application from crashing from silly programming mistakes.
3. It has excellent threading and synchronization support that can be used in a flexible and high performing way.
4. It can run on more than one platform with some success.
Other alternatives do not provide all four of these features (C# misses out on #4, Ruby, Python miss out on #1 and #3, and so on). I am not much of a fan of some of the libraries that have been built on Java (such as J2EE). Google and Eclipse's use of Java is much closer to how I think Java is supposed to be used for development projects. Because of the bad reputation that some Java libraries (such as J2EE and Swing) generate, some begin to associate Java with those libraries and rightfully believe that the world would be better off without them. But Java is used for much more than that. A lot of the more recent scripting languages are now written in Java or have popular ports to Java. As an example, some large portal applications use a variant of PHP ported to Java. And of course, there is Android. If you remember Oracle is suing Google right now for Android's use of Java so Oracle is quite aware of its importance for the future.
I remember back when I was a graduate student reading about an alternate real number line where there existed a new number called "delta".
It was defined as being smaller than any positive real number and bigger than zero. Of course, this was not our normal real numbers that come from closing the rational numbers (using classes of Cauchy sequences) under the standard metric.
In these real numbers, 1/3 and.333... were not the same number, but were considered sufficiently close to be presented as the same answer to real world problems.
The advantage of this real number system is that it did interesting things to Calculus. All the complicated Epsilon & Delta limit theorems were trivialized and a lot of operations became simple algebraic manipulations. Also, things like integrals being the reverse of derivatives had interesting simplified proofs.
I also remember an argument being made that one could argue that this approach is not so far from reality. The reality is that in most cases we don't need more than 10 to 20 digits of precision. If we treated 10 to negative 80 as being this "delta" or essentially the same thing as zero (but not zero for calculus), you will find that mathematics does not fall apart as quickly as you might think and can still be essentially manipulated to give you most of the theorems and proofs of results critical to real world manipulations (including such things as General Relativity). And in fact, a lot of proofs become easier. This is not such a surprise to Physicists because they have been short cutting some of these types of proofs from the very beginning (starting we Newton who really did not quite grasp limits).
I agree with the above comment, though I do not think the differences are so severe. But I did want to go into the particulars of why Oracle has the best database product out there. This is from somebody who has developed a product that can run on most databases and has been deployed at 1000s of customers, some of whom have scaled up to billions of records. Here is my itemized list in order of importance (at least for the product I worked on).
1. Oracle has true row level transaction isolation. You start a transaction and you do not interfere with anybody who may be reading the rows you are updating. You also do not interfere with the updates to rows that are stored in the same "page". Databases that do not do this properly get two problems. The first is dirty reads where other transactions read rows that are temporarily in an inconsistent state with other rows (add a number to one row, subtract it from another, the other transaction sees the add but not the subtract). But the real problem is transaction deadlocks where each transaction is locking each other because they locked rows they were not supposed to. If you write code that is constantly "transactionally" grooming statistical data about the relative ranking of some row versus others, you will find it impossible to avoid these deadlocks. Only Oracle gives you true full row level (not "page level" as in SQL Server) transaction isolation. Developers in my group have written test programs specifically to prove this.
2. Oracle has sophisticated diagnostic tools that can help diagnose things such as: Why is this query running slowly? Is this data possibly corrupted? Where are my indexes stored and how well are they working? You have a lot of control over these things and that can really help scale a system from a million records to a billion records in a reliable way.
3. Ways to take advantage of multiple disks and fast independent IO to each disk. You can write your transaction log to one disk, partition data based on a particular column's value to various disks (for example if a column indicates "branch" of a company, each branch can have its own disk to store its data), write indexes to yet another disk. When you read or write, the database will read and write from these disks concurrently (really powerful on multi CPU/Core boxes). If the database determines that the query is targeting only a particular partition (for example, the query targets a particular "branch"), then it may figure out that it does not have to read data from the other disks at all. So if two such queries come in targeting different partitions, they will be doing IO to independent disks with independent hardware IO streams. I have had systems that were non functional for a customer become quite useful after applying clever tricks of this type (especially the partitioning when you have more than 20 partitions).
You may argue that most applications that are out there do not need these things. This is true, but nobody is going to make money from selling products to deployers of those applications -- they can usually get by on the free stuff (or close to free). If you need something from a database for which you are willing to pay real money, then Oracle still has some unmatched features.
Now change the problem slightly so that you stop only if a card from deck 1 is a spade. Note how the answer changes. This is at the heart of the debate about problems like these.
Here is a less ambiguous problem that shows the same effects.
Take two decks of cards. Shuffle each deck. Deal a card from deck 1 and another card from deck 2. If one of the cards is a spade, stop. If no card is a space, put the cards back into their original decks, shuffle again and repeat. Continue repeating until one of the cards dealt is a space.
Question: At the time you stop, what is the probability that the other card is black?
You do know the general brevity and slandering nature of your comment reduces its validity.
Could you identify the "giants" for me? My general claim is that Apple is winning because they have a superior technology (not because of marketing). I also believed that was true about Windows 95/Windows NT/Microsoft Office (against the competitors available at that time). Do you disagree and why? I also believe that there are fundamental architectural decisions at the foundations of products that greatly influence their success or failure. Successful (note -- I did not say "good", as a programmer I find some choices made by Microsoft and Apple morally objectionable) software needs well designed foundations. Do you disagree with that? Or do agree with my general assertions but think I have picked lesser arguments to support my statements? What would be stronger arguments?
There is a theme to some of the comments which I wish to rebut. Essentially the theme is that Apple products really are not that good and they sell well only because Apple does such good marketing. The implied assumption here is that if you buy Apple's products, such as the iPod, you are just a sucker fooled by Apple's marketing campaign. Since I have bought Apple products because I thought they were the best products available for my needs, I see these statements as declaring that I am also a sucker and lacking in any real tech smarts. Essentially I feel like I am being called an idiot.
I remember when this debate was between Linux and PCs, and the Linux crowd was trying to argue that nobody should need to run Microsoft software to do their jobs or get things done. This was at time when you could not get Linux to legally read a DVD or use algorithms to do reasonable font rendering. Of course, these limitations were because of licensing issues, some of the most useful software productivity features were protected by commercial licenses or patents. The Linux advocates would argue that I should not be running such software in the first place because it was not "open" software. But that is a different argument. I have far more sympathy for the argument that running Linux is a superior moral choice. But arguing that Linux was a better OS for getting my job done was nonsense.
I am going to come at my argument in a backwards way. Instead of touting features of the iPad, I am going to describe artfully chosen limitations. The biggest limitation is that a developer cannot develop an application that can run as a persistent multi-threaded process. Any application that is not being used at any current moment is torn down and a new one instantiated. This is even more limited than the old Windows 3.x OS with its event driven model for task switching (for those you who don't remember -- Windows 3.x had only one running thread and all applications shared memory). Another limitation is that applications cannot use a shared file system or use shared libraries. You cannot build an application out of other applications or write applications whose purpose is to interact with other applications in useful ways. A user cannot even freely write code for their own application, build it, and run it.
For anybody who likes to tinker with their computers (I consider myself somewhat in that breed, I do programming for a living), this seems almost mind boggling stupid. But there is a method to this madness.
So what do you get back for these choices.
1. A very stable device that does not need to worry about applications doing semi-permanent bad things to your computer requiring a reboot. It is not stable just because applications have a hard time doing bad things, but the basic logic of behavior is so simple that you can "audit" and control it in a way that you cannot control a standard modern OS. This eliminates tangled logic scenarios that come up when you have interactions between device drivers, OS interrupts, glitches in hardware, and complicated applications. Also, it is far easier to write protections against hostile software, especially if you control the distribution of all software for your device.
I think many in the Slashdot crowd underestimate the importance of stability in a portable device. I reboot computers all the time because of glitches of various sorts. It is true that the OS is rarely to blame, it might be the device driver for my mouse, or a disk glitch, a misbehaving network router, or a bad application but generally such issues are fatal. And because of the complexity of the OS, the OS really has no chance at diagnosing the true cause of the problem.
That is not something I will tolerate in a lightweight portable device used for limited but useful activities. I have heard rumors that Android phones, once you start trying to run some of the same application that make the iPhone popular, have far more problems with various issues, such as unwanted battery run down for processes that
Let us suppose for a moment that mathematics is invented and not discovered. Just how far do you want to push this.
Was the concept of 0 and 1 discovered or invented? You can argue that because of quantum mechanics and the probability that there is a nonzero (though immeasurably small) chance that any particle (or group of particles) could exist at any point in space and time, that the idea of 0 and 1 cannot truly be represented in nature (if you tried to show me 0 blocks and 1 block, quantum mechanics would say that there is a small probability that my 0 block might actually be a small fraction of a block -- of course the odds against this are ridiculously small, but that is not the point). So even for something this simple, you can claim that mathematics is only a model that is not truly represented in nature.
The existence of 0 and 1 is an "axiom" in mathematics (for set theorists, they usually describe this as the existence of Set with nothing -- the nothing is 0 and 1 is the Set that contains nothing). It is not provable, but it does not mean that it cannot assume it to be true and work from there.
I want to find anybody rational that believes that there can be "intelligence" of any reasonable complexity and sophistication that does not intuitively understand the difference between the absence of something and something. I want to go further and say that this idea was discovered and not invented. The symbols and notations that we use to represent this idea were invented but the underlying idea exists and is true even if all of existence were to vanish and nothing ever existed anywhere.
Once you believe in 0 and 1, there is a nicely built up sequence of logic that will lead you to circles and PI. Some of it requires advance graduate mathematics to fully understand, but there is an unavoidable discoverable chain of logic. For example, the existence of numbers following 1. This is one of the Peano axioms. Again you have to assume it is true, but nothing breaks down in logic if you do and you work from there. Again, in Set theory, which is one way to build up the axiomatic foundations of mathematics, if 1 is the Set that contains nothing, then 2 is the Set that contains the Set that contains nothing. Once you believe in positive integers as being discovered and not invented, then the rest of the big construct called mathematics followed and was "discovered" just as much as 0 and 1 were "discovered".
I have more to say. I forgot to mention another reason why I think this result is so exciting.
Assume you have a game being played by N people (N > 2, but think of N > 8 as a typical example). By what I said in the prior post, everybody is playing a BAD strategy, a strategy that is far from the Nash Equilibrium because it is IMPOSSIBLE to effectively calculate a better strategy in a reasonable amount of time.
Although it is impossible to create a perfect strategy, it is possible to create an exploiting strategy. If you can accurately predict the strategies of your opponents (where the accuracy does not have to be that great -- the strategies of your opponents are that intrinsically BAD), it is easy to create an exploiting strategy in any game of sufficient complexity involving enough players. I will give a simple example. Suppose you play poker and after a sequence of bets (with the same type of sequence occurring reasonably often), you notice that an opponent tends to fold to large bets almost all the time, you would then exploit that player by always bluffing after that sequence of events and "slow calling" (that is not raising) when you have a monster hand. In a two player game, that opponent would correct his play successfully by calling more often, but in multi-player games, the information can be more muddled because the opponent does not notice the correlation between a sequence of prior bets involving multiple players and his tendency to fold. In other words, the opponent may think that he is correctly calling big bets half the time but not notice that if a second player raises, he tends to fold more often when another player enters the pot with a big bet (there is more I can say here, but I don't want to get into the strategy of poker in great detail -- but I will say that the folding player is not being stupid).
But here is where things get interesting. In order to effectively exploit the strategies of others, you have to adopt a highly exploitable strategy yourself (for example, "always bluffing after a certain sequence of events" is a fairly exploitable strategy). In stock market terms, it would be the equivalent of going into a highly vulnerable "short position" on a stock. This brings up the issue of "counter-exploitation" and the need to disguise your actions when playing in the game.
So what happens in such games.
The games are highly unstable. People are always doing crazy exploiting moves that create great risk for themselves (and potentially for the infrastructure of the game itself). The games are highly exploitative by colluding players (the "old boys network" as some would call it). Getting "inside information" on the actual strategies pursued by other players is highly valuable. Likewise, hiding what you are doing is very important. A big danger is acting in a predictable manner that is too similar to what others are doing (the "herd" mentality problem). There is no safe way to play the game. Researching potential ways to exploit the current state of the game is a must, particularly to see if anybody else is pursuing such strategies against you (example: there might be an opportunity to artificially squeeze somebody else's short position on a stock that you own).
So what do I conclude from this. The more we make our "markets" (stock & other assets) more "perfect" the crazier they are going to become. Derivatives made the "market" more perfect because it allowed people to act on "risk factors" in a more precise way. It is not a surprise that they have also caused problems. Derivatives removed "frictions" in the market and made the market better. But it is the friction in the "markets" that prevents greater craziness. This is not because people are irrational. Far from it. It is the nature of game theory itself that says this will be the out come. To put it another way, cleverness and rationality are actually the enemy. If we were stupider and less rational there would be less of a problem.
I am pleased to see this result. It agrees with some of my own suspicions. Let me describe a simple three person game (players A, B, and C). Here is the rule for each player when it is their turn.
A player must take $1.00 away from one opponent and give at least half of it to the other opponent. Whatever is not given to the other opponent can be kept by the acting player.
Each player in turn gets to choose which player to steal a $1.00 from and how much of it they will keep (they can keep at most half) and how much to give to the other opponent. Assume you do 50 rounds of this game (each player is visited 50 times).
Here is the problem: construct an optimal strategy for each player.
What makes this problem so difficult is the issue of collusion. If two players decide to gang up on another player, they can both profit at that other player's expense. But if you assume that none of the players have friendships or other factors that might induce collusion, then the only way to get collusion is to offer "bribes". A bribe can be both an offer to not take away a $1.00 and it can be an offer to give more than the standard half of the $1.00 to the other opponent. An optimal strategy is based on deciding who is likely to be giving you better bribes in the future and how do you induce such behavior with your own bribes.
Now, here is the part I consider exciting. The claim is that calculating the Nash Equilibrium is hard (in a computer calculating sense) for three person games, this one being an example. The claim is actually stronger than that. Getting even somewhat close to a Nash Equilibrium is hard (if it were not, then you would evolve slowly towards the Nash equilibrium by slowly refining "good" solutions into "better" ones -- that would be most likely doable in polynomial time). In other words, not only is it hard to calculate the perfect strategy, it is hard to even calculate a good one.
To see why that might be the case, let us assume that the three players have chosen a strategy which causes player A to think "it really does not matter if I choose to steal $1.00 from one opponent or another -- my expected outcome is the same." Then player B could offer just 0.01 more of a bribe to induce player A to favor B over C consistently. In other words, a very small adjustment in strategy by one player can have a huge potential impact on their future expected out come. It is this instability of outcome which is the mark of an NP computational problem. A small wiggle in inputs creates huge "chaotic" changes in outputs.
Side note: This "large change" in outcome based on small change in input is at the heart of what makes factoring large numbers hard. If you multiply two large numbers together, and change just one digit in one number, it will have a large and somewhat unpredictable (until you actually calculate it -- but then that means you are still having to try out all different products to factor a number) outcome.
As usual when I hear a debate like this (debate about activities in the middle east being another good example), I believe both sides to be wrong. Or I agree (at least partially) with the accusations made by each side against the other. The problem becomes trying to sort out the mess and figure out who the greater offender might be.
If I understand correctly, RMS claims that Miguel is willing to overlook the fact that Microsoft may have devious and evil intent behind C# (and Silverlight) and in their general relationship with the open source community. In particular, Microsoft has been made it clear that they have in no way released any patent claims on the technologies underlying C# and all the libraries built on top of it. Proof to the contrary is welcome. In fact, they have made it clear that there may be patentable material by giving Novell a special "free-usage-of-patents" dispensation to allow the shipping of Microsoft technologies without being particularly clear about what that exactly means. Both Novell and Microsoft are being disingenuously ambiguous on this point (in a way that reminds me of how some politicians talk about what they would do to balance the budget).
Miguel's claim is that RMS has a "no compromise" position towards open source. RMS would prefer a clear firewall between the non commercial "free" software and the "commercial" for sale software. RMS has attacked software developers (or more precisely the things that they do) who take a more pragmatic approach to the usage of open source code (which means he is attacking a large part of the open source community). RMS is right that breaching this firewall can compromise the future of some open source projects, but he is unwilling to balance that against the potential virtues that such "breaches" might give you.
I agree with both of the above claims, but only up to a certain point. In a better world, I would have Miguel admit that some of the practices of Microsoft and Novell are highly suspect and threaten to quit if some of the ambiguity about patent usage are not made clearer. Miguel has said that there are no known "patent" infringements and that all software can have unknown patent infringements. This is a misleading statement, because he is cooperating with a very large Monopolistic company with a vested interest in the software he is developing that is known to sue for patent infringement. The risks of using some of the libraries built on C# is much greater than software that was not written to the specification outlined in a commercial software package. Both Microsoft and Novell need to make clearer (that passes muster with lawyers) statements about patent risks of using C# libraries (note the focus on libraries and not C# language syntax -- this is deliberate -- usually trouble comes from the things built on top of a technology not the underlying root technology itself).
Also in a better world, I would have RMS be more accepting of Linux and the general compromise that it has taken between commercial interests and non commercial interests. Programmers want to make money, but some would like to do it in a way that allows them to contribute something (but not all) back to the community at large. RMS has limited utility for such people in his vision of the future of software.
As to who is the greater offender. I would say Miguel. RMS is a known entity with a public position and nothing in his writing suggests a particular antipathy towards Miguel in particular (counter examples of unproductive inflammatory rhetoric are welcome). I may disagree with RMS, but I have never felt that he was trying to fool or mislead me. I am not so sure about Miguel.
This whole issue of home schooling is complex. Since there have been multiple child A vs. child B, let me give my own.
Child A -- given standard curriculum surrounded by some kids brighter and some kids not so bright. Once in a while the curriculum is challenging, but most of the time it is easy and a little bit boring.
Child B -- Has a teacher that constantly challenges the child to push themselves so that at no point are they allowed to coast doing repetitive easy things.
I don't think I would get much disagreement if we were to say that Child B got the better education.
Who is one of the best people to give a "Child B" style education? It is clearly the parent and this is where home schooling can be a big winner. But this assumes that the parent has the intelligence, patience, and time (I have a full time job -- so this is not a trivial thing to ask for) to do this for their child. Most home schooled children I have met have clearly been quite well ahead of their peers and generally did quite well with their lives. But, like most Slashdotters, I tend to hang around people who know how to give a "Child B" style education and they are hardly representative of the general slice of humanity.
There is one point that is being missed here. I believe that the "child B" education is so dramatically effective, that probably it only needs to be done a few hours of the day leaving a lot of time for the child to pursue whatever interests they like. It can be so effective that a clever parent can sneak in such an education over the course of the day without even the child knowing it. It is because of this that some times "Home schooling" and "Unschooling" can seem to be the same.
I feel uncomfortable with the idea that any child can opt out of public education without any type of mechanism to confirm that dropping out was actually beneficial for that child. I can see certain religious cult groups taking advantage of this in ways that would make worry about what is being inflicted on the child. I am also uncomfortable with the idea that it would be a generally good practice for a random normal child to let them "pursue" their own agenda in education and pretty much let them do whatever they want. I have never met a child that succeeded this way that was not discernibly gifted at an early age. But my "sample set" is small, so maybe it is possible to let a "sports" oriented child to idle away their time choosing how they would like to be educated. But I don't think so.
I always had a question about MySQL's limitations on use.
Suppose I created a GPL module that wrappered MySQL and created a more standardized SQL interface (one that used tricks to support nulls for dates, and so on) and when I installed MySQL I also installed this GPL library. Then if I created an application that would work with SQL Server and using exactly the same SQL calls would work with my GPL MySQL wrapper module, I don't think this would be a breach of the MySQL license.
I didn't see anybody give their experience with the "new math" experiment that was done a while back. If you think about this from a little distance you can see that there are two camps in mathematics education, the "Creatives" and the "Pedantics", the "new math" was an attempt by the "Creatives" (who Lockhart is clearly a member of) to inject "thinking" and "creative thought" into the mathematics curriculum. It was a total bust, primarily because the teachers teaching it really didn't understand the intentions behind this new curriculum and they reduced it to rote. Those in favor of "back to basics" would be in the "Pedantics" camp and have been making a comeback recently.
So here in a nutshell is the two opposing camps arguments.
Creatives argument against the Pedantics -- The Pedantic curriculum is a soul destroying exercise in rote and memorization leaving no room for a child to feel any inspiration or creativity.
Pedantics argument against the Creatives -- The Creatives assume the world to be filled with inspired teachers that won't reduce any curriculum to a pedantic exercise. If the quality of teachers is such that they can only teach pedantic material, you might as well have the children learn something useful and constructive even if it is boring and soul destroying.
I am an ex-mathematician and I am firmly in the "Pedantics" camp. I hate to see children that cannot add two digit number to two digit numbers without a calculator. That is the world that well meaning "Creatives" create.
Also, is there really that strong a correlation between the percentage of students that pass standardized tests on calculus and the overall success of the community? Russia has a very strong educational system, see what that got them. The general population of the U.S. would be considered be woefully uneducated by the standards of many other countries. But if you were to take any country with as large an immigrant population, I suspect you would see similar numbers. Over time the immigrants are absorbed into the main stream and their children do better. But could it be possible that these immigrants are also the source of the vitality of the U.S. economy and their education (or lack of it) is not the primary reason for why they make this nation so successful?
I always wonder what the parents are thinking when they push their kid through the entire K-12-BA school system at such a fast rate. Do they really believe that the kid is better set up for life at that point then if they were to take their time and send the kid to a better college where the kid would get an early exposure to professors who are leaders in research in their respective fields? Better yet, have the kid skip out on the normal curriculum and find some more challenging instructional texts that the kid can do with remote supervision by a professor at a local college.
There is a quote that I remember from one of my professors in college. When talking about a particularly bright kid, he said "that kid is sufficiently bright that our classes and curriculum are more of a hindrance than an aid". The implication is that accomplishing a BA degree is many times more about grinding through material than something that shows a real difference between those who are truly educated than those who are not. I can still remember Jay Leno's "Jay Walks" where he would ask college graduates questions that many (admittedly unusually smart) 12 year old kids (still not in high school) without a BA could answer easily.
I have read enough biographies of those who end up with great achievements in their fields (Einstein and Newton being good examples). Almost none of them had abnormally accelerated the normal learning track. They almost always just side-stepped it. For example, in his teen age years Einstein was thinking thoughts that only specialized masters of those fields would be able to fully comprehend. Did his track record in school reflect this? No. (And if you follow Newton as a model, then you should force your child to be a farmer for a while so that they really will do anything they can to avoid that fate).
This common fallacy comes up again. Poker is not just an estimation of probabilities. Poker is a raw and pure example of a very complicated multi-way "game theory" problem. Such problems are far from NP-complete (not computable in polynomial time relative to number of inputs on a computer) and much more interesting than they might first appear. Nobel prizes in economics have been given for insight into such problems. There is a book called "Mathematics of Poker" (those interested can do a Google search) which uses Poker to introduce game theory. Please read that before trivializing the theory that underlies poker.
A good poker player models his or her opponents and then creates optimized exploiting strategies -- strategies which are far more sophisticated than you might first imagine (once you have started giving up chances to raise up pots with strong hands in order to catch bluffs you have started down the first step of this long road). This optimization takes into account that your opponents are trying to exploit you and how well you believe you have misled them. The skills to master this are not too different from the skills required by a chess grandmaster (the analogy is not exact -- poker is more like a large look up into a vast reservoir of experience than a deep computational think, but an expert can beat up an non expert very quickly -- even a non expert who knows all the odds).
The one thing I found strange about String theory is that it made Physicists study Algebraic Geometry (with Sheaves and such). Algebraic Geometry got started as a field when mathematicians tried to link up the algebraic properties of polynomial equations (what "algebraic solutions" does it have is one of the questions you might ask) with the differential/topological (how much curvature does it have, how many "multi-dimensional" pseudo-holes does it have -- think about the questions of curvature and "holes" you might ask about multi-holed doughnut in many dimensions -- this is a gross simplification, but I am grasping for intuitive analogies).
What I remember about Algebraic Geometry is that it was one of the harder fields of study in all of mathematics and only a few mathematicians in the world could wield the theory with any real authority and skill (Faltings is a famous such Mathematician).
At the time it made me worry that maybe humans would never be clever enough to truly figure out the rules of the universe. Because if we are already have to understand some Algebraic Geometry to get a handle on the current most respected "theory of everything", what would happen if the "theory of everything" required one level of abstraction complication beyond that? There has been a constant progression of theories in Physics from the less abstracted to the crazier highly abstracted (quantum mechanics and general relativity already can only truly be understood by at most a few hundred people in the world). Maybe this time we are going beyond the ability of us poor human mortals to understand.
In defense of String theory, though it may give no predictions, it does give those who study it a feeling of "enlightenment", as if they are getting a potential intuitive understanding of how the universe is put together. Studying mathematics in general can create such a feeling (I think in general that is why mathematicians love their field of study), but it is way cooler to think that the theory and the real world might have some linkage. Also, from what I understand, competing theories all have the feeling of artificial glitchy repairs to existing theories without granting much enlightenment. If you give me a bunch of data, I can create an equation which will spit out the data. But if the equation does not offer insight into the nature of the data (for example, you cannot see that it is actually a "repeating wave pattern of visual distortions"), then though it may be useful, it really does not offer much in the way of "enlightenment".
Some may view the usage of the word "enlightenment" as an allusion to some type of religious feeling. That may be, but it is NOT connected to any type of statement that could be read as "this vision that I see is true and those who disagree with me are morally inferior beings and will be viewed as a lesser person by the higher powers that rule the universe". In fact I suspect that those who disagree with me about the worthiness of understanding mathematics may have spent more time worrying about their morality (as opposed to their "faith") and may actually be superior human beings (and may be viewed as such by the higher powers in the universe).
I would second this notion. This is the classic way to solve this problem. Modern databases provide many mechanisms to periodically push over changes to another cloned copy of the database. The advantage of doing this is you can do interesting things to the cloned data that you would be unwilling to do to a live database. For example, you can create temporary reports that get stored in another temporary database table and which in turn allow other reports to be created from this derived table. Oracle lets you do this pretty easily by creating "views". There is a whole industry built around this approach called "data cubing" with specialized tools to let you construct more involved data mining types of queries based on massaging the data in interesting ways.
Wow. What a link. Parts of it are quite persuasive. I really like the quotes from academically researched material. If China had worked a lot harder on having a better reputation for fair and accurate statements (by actually being fairer and more accurate), this type of data might actually help them.
Some parts (though fewer parts because it has more of the feel of hearsay and uses references to other politicized documents) of it are persuasive as well.
My general consensus is that both sides are lying and both sides have good points. Much the same as in a lot of similar disputes. But I still don't feel I have accurate answers to my originally proposed questions.
I have been reading through the comments, and there does not seem to be much discussion about what IQ tests do well and what they do poorly. Generally there is an assertion that they are useful by some and an assertion that they are useless by others. As is typical in these cases, both sides are mostly wrong and only partially right.
Thinking about this, I believe there is one particular aspect of this discussion that needs more elaboration. Lets look at two ranges of the IQ test. The range from 80 to 120, and the range from 130 to 170. They are both 40 points apart and imply a wide difference in intelligence for those at the bottom vs those at the top of the range. However, the IQ test does much better (in my opinion and I suspect you can find independent literature to support this) on the range 80 to 120. Usually somebody with an IQ of 80 is not destined for a college degree and somebody with 120 has a good chance of finishing college. In this regard the test does fairly well. Whether it is actually measuring real mental talents of one type or another is a different issue.
Now, look at the range of 130 to 170. People with IQs of 170 are a bit different in nature to those who have 130. That seems fairly clear. But focused strengths in particular mental abilities are not well picked out and the IQ test seems to do a terrible job of predicting future grandmasters in chess, future professors at elite schools, future engaging storytellers, or even future great repositories of interesting trivia. Also when it comes to elite abilities, IQ tests at the high end of the range tend to discount the obsessive dedication that is required to become one of the best.
I think one of the issues is that IQ tests are good at finding deficiencies, places where somebody is lacking critical mental skills to learn what is required in our modern society, and does poorly at diagnosing elite mental talents. Those that praise the IQ test usually point out scenarios where the IQ test helped find people who needed additional resources to succeed. Those that criticize the IQ test tend to focus on how those with "genius IQs" tend not to necessarily do great acts that measure up to their numerical IQ score.
Take the relatively simple problem of determining potential skill at chess. Chess makes for a nice example because skill at chess is only somewhat coorelated with other mental abilities (making it possible to "isolate it" from other mental facets) and it is definitely measurable by competing with others. There is a clear cut state of "grandmaster" which all fairly accomplished chess players agree is a statement of real elite capability. It is (probably -- I am extrapolating on my own anecdotal experience) not hard to create a test to determine if somebody is going to play chess adequately and I suspect such a test is somewhat coorelated with an IQ test. A person with an IQ of 80 probably will never play chess that well, while a person with an IQ of 120 will likely learn to play the game adequately (counter examples are welcome). There are kids who clearly do not have much talent for the game and I doubt even focused study would help them. For them, learning how to mate with K and Q against K is a bit of a stretch.
But is it possible to create a test which will determine who is likely to be a future grandmaster (or even master) as compared to just playing "well"? I have recently been a chess coach for elementary school kids and there is one trait that I have determined that is coorelated with future ability. It is an obsessive interest in the game. I have kids who I thought were better natural talents, but they quickly fell behind those who made it their life mission to be better. In particular, I believe that an IQ test result of 170 is practically meaningless in predicting future great success in chess.
I use chess as an example, because I believe much the same can be said about any elite mental talent. Every time I hear debates about IQ, I ask myself, how well does it predict chess failure and how well does it predict elite chess success? I believe such a examination will produce results that are as valid as when the IQ test is used to predict future greatness in scientists and writers.
Small typo in above. Replace "sell you a stock" with "buy your stock".
I actually don't have so much problem with "Finance as gambling" because such people can help create a stable market for securities such as stocks. They are the people who will sell you a stock at a reasonable price when nobody else will because they have "gambled" that the current negative opinion against the stock is wrong. Unless the "gamblers" are acting on illegally obtained information, the losers are not the people who are trying to use the financial markets for reasonable purposes but instead it is rich people gambling with money against other rich people which may be a non productive use of their time but it is not necessarily harmful.
What would be harmful is if the "best and brightest" were being hired just to aid this "amusement device" for the wealthy. It would be much like rich people hiring the best artists to create personal art works that would not be available to the general public. It is wrong, but not terribly wrong and in the long run it might not be that harmful. In the case of the artists, the artists might otherwise have given up doing art if not for funding from the wealthy. Likewise with engineers, some engineers may find finance closer to their "true calling" than anything they can get outside of finance.
I agree with your assessment in the use of CDOs, but my spin on it is different. In the case of the CDOs, the principal problem is that they disguised the risk from a big "negative event" (house prices stop going up). Because of this, they provided returns that appeared attractive and regulators that monitored risk at our large institutions allowed transactions to occur which should not have occurred. The "crime" here was that CDOs were advertised as a "safe" investment that provided returns better than other "safe" investments when the truth was that CDOs were far from being "safe". All the bad outcomes (banks using CDOs to give them more money to lend) are consequences of this basic fact. My question is how much of financial engineering goes into enabling these types of "crimes" and how much is for "gambling" (which in some cases can actually do good things)?
Unlike some of the posters, I do not have a clear opinion or understanding of exactly finance does for us, especially the part of finance that is done by MIT graduates. I have heard two opposing claims which I put into two opposing categories.
Is it:
* Finance is a fraudulent game designed to fleece others out of their money using complex financial instruments that cannot be understood by those who have the responsibility to prevent fraudulent activities in our financial institutions.
or:
* Finance more efficiently distributes money into investments in our economy so that our resources are more efficiently organized to maximize productivity. Complex financial instruments are used to distribute risk and allow creators of goods and services to protect themselves against risks which would otherwise potentially destroy their ability to provide those goods and services.
The problem is that I believe each of the above statements are true at least to some extent. What I don't know is the percentage to assign to each category or to some new category in between these two polar opposites of categories of results. In particular, I do not how mathematical financial engineering is distributed among these categories in terms of effective output.
If the best and brightest are being hired merely to create profit for the few and have no positive impact on the wealth of the many, then I believe that is wrong and I cannot see justification for this as a moral good. I cannot see any essential difference between this and successful recruitment efforts by the Mafia for new well paid enforcers. An enforcers job might be fun, have good comradeship, work with the "best", and be well paid, but it still does not make it a morally acceptable choice of occupation.
So for me, the key question is whether the mathematically complex part of finance is actually performing in the way capitalism is intended to perform or are the complex algorithms used to better enable parasites to enrich themselves at the expense of the larger body politic. Factual information on this is actually somewhat hard to come by. Certainly I have seen a lot of claims about CDOs, risky mortgages, investment pools, arbitrage and the root causes of recent failures. But when I try to dig a little further, real information based on real data is quite hard to find.
I'll give an example. One typical trick for extracting unfair money from others is to design an investment that pays better than average as long as a seemingly unlikely event does not occur. You get others to put money into the investment by lying or disguising the true risks about whether the event will occur. You then take a portion of the money that investment as your own (as a "fee") and then create a complex derivative to bet against the investment by buying "insurance that pays off if the event occurs". How much of the profit made by financial companies is made from tricks of this sort?
In particular, what percentage of the recent instability was caused by CDOs that packaged risky mortgages and how well did some of the principal players understand the true nature of the risk? Again, I can get vociferously stated opinions on this but I am finding it hard to find real fact. However, in defense of the financial industry, it seems very few were aware of the true risks of the mortgages and many of them lost considerable money (maybe not as much as they should have) after the crisis. But there were some who knew what was going on and many (even though ignorant about what was truly going on) who profited while the times were good who did not suffer proportionally when things went bad (the "private profit" and "socialized risk" that a couple of posters alluded to).
I do have one more thing to say. There is an old saying, "Democracy is the very worst form of government with the exception of all others". I have a similar opinion about capitalism. Capitalism is prone to "bubbles" that grow and burst and this seems to be inherent in its nature. When seen this w
A lot of responses that I have seen to this question are basically the following.
"Create your own CA (certificate authority) certificate and distribute them to the client workstations." Then they accuse the original poster of having asked an overly simple and uninteresting question.
I am going to say something nobody else seems to have said. SSL sucks big time for large workgroups inside a private intranet. It is an inappropriate solution that is being used for the lack of anything better. IE will give AD based authentication for browsers, but did not extend that to securing the communication channel itself.
This issue is much nastier and more complex then anybody has allowed for. SSL does a very good job of solving the problem of creating secure communications over untrusted anonymous networks. However, they are a real pain when the only thing you want to do is create a secure communication between two machines in the same room. In those cases, SSL comes with a lot of overhead that is really not needed. In the case of two machines in the same room (or workgroup), the machines are already on internal corporate IP addresses, so a lot of the issues that SSL was designed to solve (validating that the IP address really points to the expected entity) just are not applicable. Usually the only reason why you want to encrypt the data is so that somewhat private data won't be sniffed by other users. You are not trying to prove that you are a legitimate seller of any goods or services.
What really astounded me were the claims that it would be easy to get users to accept company controlled installs of browsers and tools. I have worked in such an environment and it was actively resisted and foiled because the choices were so limiting. For those who say "it would work it was done right", probably have not done cross browser development where you had to test on Linux, Mac, and variants of Windows machines. Nor have they done Java development where the Java has to communicate to the server (over https) as well (Java has its own client CA chain distribution).
Every place I have ever worked (big or small) has had http web sites when they really should have been https because of the pain of trying to use SSL. To say that this is because of bad IT management I think gets it wrong. SSL is a bad fit for this problem space and browsers (and Java) need to support other security solutions. It would be nice to recommend Kerberos, but Kerberos has really only gotten full implementation with AD and is even more painful for client adoption in most (with non Microsoft machines in the mix) real world scenarios I have seen. The state of intranet security is broken at its foundations and the proposed solutions that have been suggested here would not work (in practical, reliable, real world usage) for many workgroups working inside a much larger corporate entity.
There is another big difference between C# and Java. In Java, you are strongly discouraged from making native calls. For example, instead of using the native desktop GUI widgets, Java writes a large wrapper (Swing) around the desktop interface and tries to port all that complexity from platform to platform. In C# on Windows, I make Windows (C# friendly wrappers -- but still Windows) specific calls if I am trying to create a GUI user interface. Similar points go for certain other APIs such as ADSI, network pipes, registry, HTTP, and encryption. In fact, if you look at the general low level Windows APIs, there is a lot of functionality there that is not captured in Java.
.net API is a large collection of APIs, some of which run on Linux on C#, some that don't. Some are protected by GPL like licenses so you can use them without a fear of a lawsuit, others are not. As an example, I think there are still some controversies about some of the fancier parts of the WebForms APIs (some of the complicated dynamic HTML tables for example).
I agree that C# is better than Java at doing the basics, but C# is hard to separate from the platform that birthed it. This makes C# a difficult language to deal with if you are not writing for a Windows platform. For example, from my understanding, the port to Linux of C# is not to make applications portable from Windows to Linux (except maybe some server apps), but to make C# a productive language for Linux the ways it is for Microsoft. I expect to call native Linux APIs from C# when I am running on Linux. Why not? The benefit of doing otherwise is not so clear given the general lack of portability of C#. This approach does create stress points. The
This post is in response to posts that say "Java is not important -- if we kill Java it won't matter that much". I disagree and the fact that Oracle is preventing the language from growing and potentially killing its future is big news and should not be dismissed lightly.
There is a saying, "democracy is the very worst form of government with the exception of all others." I have a similar opinion about Java.
Let me list four key strengths that Java has:
1. If you write code using primitives (such as byte arrays and char arrays) you can write parsing and syntax processing code that has near C-like performance. This applies to other tasks that need high performance such as querying or processing data. It is why higher level scripting languages can be written on top of Java.
2. It eliminates a lot of the dangerous, painful, and unstable aspects of programming in a non scripting language like C. It does garbage collection and does not allow you to corrupt your application memory or your heap in hard to detect ways. It provides clean stack dumps when errors do occur and prevents the application from crashing from silly programming mistakes.
3. It has excellent threading and synchronization support that can be used in a flexible and high performing way.
4. It can run on more than one platform with some success.
Other alternatives do not provide all four of these features (C# misses out on #4, Ruby, Python miss out on #1 and #3, and so on). I am not much of a fan of some of the libraries that have been built on Java (such as J2EE). Google and Eclipse's use of Java is much closer to how I think Java is supposed to be used for development projects. Because of the bad reputation that some Java libraries (such as J2EE and Swing) generate, some begin to associate Java with those libraries and rightfully believe that the world would be better off without them. But Java is used for much more than that. A lot of the more recent scripting languages are now written in Java or have popular ports to Java. As an example, some large portal applications use a variant of PHP ported to Java. And of course, there is Android. If you remember Oracle is suing Google right now for Android's use of Java so Oracle is quite aware of its importance for the future.
I remember back when I was a graduate student reading about an alternate real number line where there existed a new number called "delta".
It was defined as being smaller than any positive real number and bigger than zero. Of course, this was not our normal real numbers that come from closing the rational numbers (using classes of Cauchy sequences) under the standard metric.
In these real numbers, 1/3 and .333... were not the same number, but were considered sufficiently close to be presented as the same answer to real world problems.
The advantage of this real number system is that it did interesting things to Calculus. All the complicated Epsilon & Delta limit theorems were trivialized and a lot of operations became simple algebraic manipulations. Also, things like integrals being the reverse of derivatives had interesting simplified proofs.
I also remember an argument being made that one could argue that this approach is not so far from reality. The reality is that in most cases we don't need more than 10 to 20 digits of precision. If we treated 10 to negative 80 as being this "delta" or essentially the same thing as zero (but not zero for calculus), you will find that mathematics does not fall apart as quickly as you might think and can still be essentially manipulated to give you most of the theorems and proofs of results critical to real world manipulations (including such things as General Relativity). And in fact, a lot of proofs become easier. This is not such a surprise to Physicists because they have been short cutting some of these types of proofs from the very beginning (starting we Newton who really did not quite grasp limits).
I agree with the above comment, though I do not think the differences are so severe. But I did want to go into the particulars of why Oracle has the best database product out there. This is from somebody who has developed a product that can run on most databases and has been deployed at 1000s of customers, some of whom have scaled up to billions of records. Here is my itemized list in order of importance (at least for the product I worked on).
1. Oracle has true row level transaction isolation. You start a transaction and you do not interfere with anybody who may be reading the rows you are updating. You also do not interfere with the updates to rows that are stored in the same "page". Databases that do not do this properly get two problems. The first is dirty reads where other transactions read rows that are temporarily in an inconsistent state with other rows (add a number to one row, subtract it from another, the other transaction sees the add but not the subtract). But the real problem is transaction deadlocks where each transaction is locking each other because they locked rows they were not supposed to. If you write code that is constantly "transactionally" grooming statistical data about the relative ranking of some row versus others, you will find it impossible to avoid these deadlocks. Only Oracle gives you true full row level (not "page level" as in SQL Server) transaction isolation. Developers in my group have written test programs specifically to prove this.
2. Oracle has sophisticated diagnostic tools that can help diagnose things such as: Why is this query running slowly? Is this data possibly corrupted? Where are my indexes stored and how well are they working? You have a lot of control over these things and that can really help scale a system from a million records to a billion records in a reliable way.
3. Ways to take advantage of multiple disks and fast independent IO to each disk. You can write your transaction log to one disk, partition data based on a particular column's value to various disks (for example if a column indicates "branch" of a company, each branch can have its own disk to store its data), write indexes to yet another disk. When you read or write, the database will read and write from these disks concurrently (really powerful on multi CPU/Core boxes). If the database determines that the query is targeting only a particular partition (for example, the query targets a particular "branch"), then it may figure out that it does not have to read data from the other disks at all. So if two such queries come in targeting different partitions, they will be doing IO to independent disks with independent hardware IO streams. I have had systems that were non functional for a customer become quite useful after applying clever tricks of this type (especially the partitioning when you have more than 20 partitions).
You may argue that most applications that are out there do not need these things. This is true, but nobody is going to make money from selling products to deployers of those applications -- they can usually get by on the free stuff (or close to free). If you need something from a database for which you are willing to pay real money, then Oracle still has some unmatched features.
Now change the problem slightly so that you stop only if a card from deck 1 is a spade. Note how the answer changes. This is at the heart of the debate about problems like these.
Here is a less ambiguous problem that shows the same effects.
Take two decks of cards. Shuffle each deck. Deal a card from deck 1 and another card from deck 2. If one of the cards is a spade, stop. If no card is a space, put the cards back into their original decks, shuffle again and repeat. Continue repeating until one of the cards dealt is a space.
Question: At the time you stop, what is the probability that the other card is black?
You do know the general brevity and slandering nature of your comment reduces its validity.
Could you identify the "giants" for me? My general claim is that Apple is winning because they have a superior technology (not because of marketing). I also believed that was true about Windows 95/Windows NT/Microsoft Office (against the competitors available at that time). Do you disagree and why? I also believe that there are fundamental architectural decisions at the foundations of products that greatly influence their success or failure. Successful (note -- I did not say "good", as a programmer I find some choices made by Microsoft and Apple morally objectionable) software needs well designed foundations. Do you disagree with that? Or do agree with my general assertions but think I have picked lesser arguments to support my statements? What would be stronger arguments?
There is a theme to some of the comments which I wish to rebut. Essentially the theme is that Apple products really are not that good and they sell well only because Apple does such good marketing. The implied assumption here is that if you buy Apple's products, such as the iPod, you are just a sucker fooled by Apple's marketing campaign. Since I have bought Apple products because I thought they were the best products available for my needs, I see these statements as declaring that I am also a sucker and lacking in any real tech smarts. Essentially I feel like I am being called an idiot.
I remember when this debate was between Linux and PCs, and the Linux crowd was trying to argue that nobody should need to run Microsoft software to do their jobs or get things done. This was at time when you could not get Linux to legally read a DVD or use algorithms to do reasonable font rendering. Of course, these limitations were because of licensing issues, some of the most useful software productivity features were protected by commercial licenses or patents. The Linux advocates would argue that I should not be running such software in the first place because it was not "open" software. But that is a different argument. I have far more sympathy for the argument that running Linux is a superior moral choice. But arguing that Linux was a better OS for getting my job done was nonsense.
I am going to come at my argument in a backwards way. Instead of touting features of the iPad, I am going to describe artfully chosen limitations. The biggest limitation is that a developer cannot develop an application that can run as a persistent multi-threaded process. Any application that is not being used at any current moment is torn down and a new one instantiated. This is even more limited than the old Windows 3.x OS with its event driven model for task switching (for those you who don't remember -- Windows 3.x had only one running thread and all applications shared memory). Another limitation is that applications cannot use a shared file system or use shared libraries. You cannot build an application out of other applications or write applications whose purpose is to interact with other applications in useful ways. A user cannot even freely write code for their own application, build it, and run it.
For anybody who likes to tinker with their computers (I consider myself somewhat in that breed, I do programming for a living), this seems almost mind boggling stupid. But there is a method to this madness.
So what do you get back for these choices.
1. A very stable device that does not need to worry about applications doing semi-permanent bad things to your computer requiring a reboot. It is not stable just because applications have a hard time doing bad things, but the basic logic of behavior is so simple that you can "audit" and control it in a way that you cannot control a standard modern OS. This eliminates tangled logic scenarios that come up when you have interactions between device drivers, OS interrupts, glitches in hardware, and complicated applications. Also, it is far easier to write protections against hostile software, especially if you control the distribution of all software for your device.
I think many in the Slashdot crowd underestimate the importance of stability in a portable device. I reboot computers all the time because of glitches of various sorts. It is true that the OS is rarely to blame, it might be the device driver for my mouse, or a disk glitch, a misbehaving network router, or a bad application but generally such issues are fatal. And because of the complexity of the OS, the OS really has no chance at diagnosing the true cause of the problem.
That is not something I will tolerate in a lightweight portable device used for limited but useful activities. I have heard rumors that Android phones, once you start trying to run some of the same application that make the iPhone popular, have far more problems with various issues, such as unwanted battery run down for processes that
Let us suppose for a moment that mathematics is invented and not discovered. Just how far do you want to push this.
Was the concept of 0 and 1 discovered or invented? You can argue that because of quantum mechanics and the probability that there is a nonzero (though immeasurably small) chance that any particle (or group of particles) could exist at any point in space and time, that the idea of 0 and 1 cannot truly be represented in nature (if you tried to show me 0 blocks and 1 block, quantum mechanics would say that there is a small probability that my 0 block might actually be a small fraction of a block -- of course the odds against this are ridiculously small, but that is not the point). So even for something this simple, you can claim that mathematics is only a model that is not truly represented in nature.
The existence of 0 and 1 is an "axiom" in mathematics (for set theorists, they usually describe this as the existence of Set with nothing -- the nothing is 0 and 1 is the Set that contains nothing). It is not provable, but it does not mean that it cannot assume it to be true and work from there.
I want to find anybody rational that believes that there can be "intelligence" of any reasonable complexity and sophistication that does not intuitively understand the difference between the absence of something and something. I want to go further and say that this idea was discovered and not invented. The symbols and notations that we use to represent this idea were invented but the underlying idea exists and is true even if all of existence were to vanish and nothing ever existed anywhere.
Once you believe in 0 and 1, there is a nicely built up sequence of logic that will lead you to circles and PI. Some of it requires advance graduate mathematics to fully understand, but there is an unavoidable discoverable chain of logic. For example, the existence of numbers following 1. This is one of the Peano axioms. Again you have to assume it is true, but nothing breaks down in logic if you do and you work from there. Again, in Set theory, which is one way to build up the axiomatic foundations of mathematics, if 1 is the Set that contains nothing, then 2 is the Set that contains the Set that contains nothing. Once you believe in positive integers as being discovered and not invented, then the rest of the big construct called mathematics followed and was "discovered" just as much as 0 and 1 were "discovered".
I have more to say. I forgot to mention another reason why I think this result is so exciting.
Assume you have a game being played by N people (N > 2, but think of N > 8 as a typical example). By what I said in the prior post, everybody is playing a BAD strategy, a strategy that is far from the Nash Equilibrium because it is IMPOSSIBLE to effectively calculate a better strategy in a reasonable amount of time.
Although it is impossible to create a perfect strategy, it is possible to create an exploiting strategy. If you can accurately predict the strategies of your opponents (where the accuracy does not have to be that great -- the strategies of your opponents are that intrinsically BAD), it is easy to create an exploiting strategy in any game of sufficient complexity involving enough players. I will give a simple example. Suppose you play poker and after a sequence of bets (with the same type of sequence occurring reasonably often), you notice that an opponent tends to fold to large bets almost all the time, you would then exploit that player by always bluffing after that sequence of events and "slow calling" (that is not raising) when you have a monster hand. In a two player game, that opponent would correct his play successfully by calling more often, but in multi-player games, the information can be more muddled because the opponent does not notice the correlation between a sequence of prior bets involving multiple players and his tendency to fold. In other words, the opponent may think that he is correctly calling big bets half the time but not notice that if a second player raises, he tends to fold more often when another player enters the pot with a big bet (there is more I can say here, but I don't want to get into the strategy of poker in great detail -- but I will say that the folding player is not being stupid).
But here is where things get interesting. In order to effectively exploit the strategies of others, you have to adopt a highly exploitable strategy yourself (for example, "always bluffing after a certain sequence of events" is a fairly exploitable strategy). In stock market terms, it would be the equivalent of going into a highly vulnerable "short position" on a stock. This brings up the issue of "counter-exploitation" and the need to disguise your actions when playing in the game.
So what happens in such games.
The games are highly unstable. People are always doing crazy exploiting moves that create great risk for themselves (and potentially for the infrastructure of the game itself).
The games are highly exploitative by colluding players (the "old boys network" as some would call it).
Getting "inside information" on the actual strategies pursued by other players is highly valuable.
Likewise, hiding what you are doing is very important.
A big danger is acting in a predictable manner that is too similar to what others are doing (the "herd" mentality problem).
There is no safe way to play the game.
Researching potential ways to exploit the current state of the game is a must, particularly to see if anybody else is pursuing such strategies against you (example: there might be an opportunity to artificially squeeze somebody else's short position on a stock that you own).
So what do I conclude from this. The more we make our "markets" (stock & other assets) more "perfect" the crazier they are going to become. Derivatives made the "market" more perfect because it allowed people to act on "risk factors" in a more precise way. It is not a surprise that they have also caused problems. Derivatives removed "frictions" in the market and made the market better. But it is the friction in the "markets" that prevents greater craziness. This is not because people are irrational. Far from it. It is the nature of game theory itself that says this will be the out come. To put it another way, cleverness and rationality are actually the enemy. If we were stupider and less rational there would be less of a problem.
Let me give an example of this "stupid
I am pleased to see this result. It agrees with some of my own suspicions. Let me describe a simple three person game (players A, B, and C). Here is the rule for each player when it is their turn.
A player must take $1.00 away from one opponent and give at least half of it to the other opponent. Whatever is not given to the other opponent can be kept by the acting player.
Each player in turn gets to choose which player to steal a $1.00 from and how much of it they will keep (they can keep at most half) and how much to give to the other opponent. Assume you do 50 rounds of this game (each player is visited 50 times).
Here is the problem: construct an optimal strategy for each player.
What makes this problem so difficult is the issue of collusion. If two players decide to gang up on another player, they can both profit at that other player's expense. But if you assume that none of the players have friendships or other factors that might induce collusion, then the only way to get collusion is to offer "bribes". A bribe can be both an offer to not take away a $1.00 and it can be an offer to give more than the standard half of the $1.00 to the other opponent. An optimal strategy is based on deciding who is likely to be giving you better bribes in the future and how do you induce such behavior with your own bribes.
Now, here is the part I consider exciting. The claim is that calculating the Nash Equilibrium is hard (in a computer calculating sense) for three person games, this one being an example. The claim is actually stronger than that. Getting even somewhat close to a Nash Equilibrium is hard (if it were not, then you would evolve slowly towards the Nash equilibrium by slowly refining "good" solutions into "better" ones -- that would be most likely doable in polynomial time). In other words, not only is it hard to calculate the perfect strategy, it is hard to even calculate a good one.
To see why that might be the case, let us assume that the three players have chosen a strategy which causes player A to think "it really does not matter if I choose to steal $1.00 from one opponent or another -- my expected outcome is the same." Then player B could offer just 0.01 more of a bribe to induce player A to favor B over C consistently. In other words, a very small adjustment in strategy by one player can have a huge potential impact on their future expected out come. It is this instability of outcome which is the mark of an NP computational problem. A small wiggle in inputs creates huge "chaotic" changes in outputs.
Side note: This "large change" in outcome based on small change in input is at the heart of what makes factoring large numbers hard. If you multiply two large numbers together, and change just one digit in one number, it will have a large and somewhat unpredictable (until you actually calculate it -- but then that means you are still having to try out all different products to factor a number) outcome.
As usual when I hear a debate like this (debate about activities in the middle east being another good example), I believe both sides to be wrong. Or I agree (at least partially) with the accusations made by each side against the other. The problem becomes trying to sort out the mess and figure out who the greater offender might be.
If I understand correctly, RMS claims that Miguel is willing to overlook the fact that Microsoft may have devious and evil intent behind C# (and Silverlight) and in their general relationship with the open source community. In particular, Microsoft has been made it clear that they have in no way released any patent claims on the technologies underlying C# and all the libraries built on top of it. Proof to the contrary is welcome. In fact, they have made it clear that there may be patentable material by giving Novell a special "free-usage-of-patents" dispensation to allow the shipping of Microsoft technologies without being particularly clear about what that exactly means. Both Novell and Microsoft are being disingenuously ambiguous on this point (in a way that reminds me of how some politicians talk about what they would do to balance the budget).
Miguel's claim is that RMS has a "no compromise" position towards open source. RMS would prefer a clear firewall between the non commercial "free" software and the "commercial" for sale software. RMS has attacked software developers (or more precisely the things that they do) who take a more pragmatic approach to the usage of open source code (which means he is attacking a large part of the open source community). RMS is right that breaching this firewall can compromise the future of some open source projects, but he is unwilling to balance that against the potential virtues that such "breaches" might give you.
I agree with both of the above claims, but only up to a certain point. In a better world, I would have Miguel admit that some of the practices of Microsoft and Novell are highly suspect and threaten to quit if some of the ambiguity about patent usage are not made clearer. Miguel has said that there are no known "patent" infringements and that all software can have unknown patent infringements. This is a misleading statement, because he is cooperating with a very large Monopolistic company with a vested interest in the software he is developing that is known to sue for patent infringement. The risks of using some of the libraries built on C# is much greater than software that was not written to the specification outlined in a commercial software package. Both Microsoft and Novell need to make clearer (that passes muster with lawyers) statements about patent risks of using C# libraries (note the focus on libraries and not C# language syntax -- this is deliberate -- usually trouble comes from the things built on top of a technology not the underlying root technology itself).
Also in a better world, I would have RMS be more accepting of Linux and the general compromise that it has taken between commercial interests and non commercial interests. Programmers want to make money, but some would like to do it in a way that allows them to contribute something (but not all) back to the community at large. RMS has limited utility for such people in his vision of the future of software.
As to who is the greater offender. I would say Miguel. RMS is a known entity with a public position and nothing in his writing suggests a particular antipathy towards Miguel in particular (counter examples of unproductive inflammatory rhetoric are welcome). I may disagree with RMS, but I have never felt that he was trying to fool or mislead me. I am not so sure about Miguel.
This whole issue of home schooling is complex. Since there have been multiple child A vs. child B, let me give my own.
Child A -- given standard curriculum surrounded by some kids brighter and some kids not so bright. Once in a while the curriculum is challenging, but most of the time it is easy and a little bit boring.
Child B -- Has a teacher that constantly challenges the child to push themselves so that at no point are they allowed to coast doing repetitive easy things.
I don't think I would get much disagreement if we were to say that Child B got the better education.
Who is one of the best people to give a "Child B" style education? It is clearly the parent and this is where home schooling can be a big winner. But this assumes that the parent has the intelligence, patience, and time (I have a full time job -- so this is not a trivial thing to ask for) to do this for their child. Most home schooled children I have met have clearly been quite well ahead of their peers and generally did quite well with their lives. But, like most Slashdotters, I tend to hang around people who know how to give a "Child B" style education and they are hardly representative of the general slice of humanity.
There is one point that is being missed here. I believe that the "child B" education is so dramatically effective, that probably it only needs to be done a few hours of the day leaving a lot of time for the child to pursue whatever interests they like. It can be so effective that a clever parent can sneak in such an education over the course of the day without even the child knowing it. It is because of this that some times "Home schooling" and "Unschooling" can seem to be the same.
I feel uncomfortable with the idea that any child can opt out of public education without any type of mechanism to confirm that dropping out was actually beneficial for that child. I can see certain religious cult groups taking advantage of this in ways that would make worry about what is being inflicted on the child. I am also uncomfortable with the idea that it would be a generally good practice for a random normal child to let them "pursue" their own agenda in education and pretty much let them do whatever they want. I have never met a child that succeeded this way that was not discernibly gifted at an early age. But my "sample set" is small, so maybe it is possible to let a "sports" oriented child to idle away their time choosing how they would like to be educated. But I don't think so.
I always had a question about MySQL's limitations on use.
Suppose I created a GPL module that wrappered MySQL and created a more standardized SQL interface (one that used tricks to support nulls for dates, and so on) and when I installed MySQL I also installed this GPL library. Then if I created an application that would work with SQL Server and using exactly the same SQL calls would work with my GPL MySQL wrapper module, I don't think this would be a breach of the MySQL license.
I didn't see anybody give their experience with the "new math" experiment that was done a while back. If you think about this from a little distance you can see that there are two camps in mathematics education, the "Creatives" and the "Pedantics", the "new math" was an attempt by the "Creatives" (who Lockhart is clearly a member of) to inject "thinking" and "creative thought" into the mathematics curriculum. It was a total bust, primarily because the teachers teaching it really didn't understand the intentions behind this new curriculum and they reduced it to rote. Those in favor of "back to basics" would be in the "Pedantics" camp and have been making a comeback recently.
So here in a nutshell is the two opposing camps arguments.
Creatives argument against the Pedantics -- The Pedantic curriculum is a soul destroying exercise in rote and memorization leaving no room for a child to feel any inspiration or creativity.
Pedantics argument against the Creatives -- The Creatives assume the world to be filled with inspired teachers that won't reduce any curriculum to a pedantic exercise. If the quality of teachers is such that they can only teach pedantic material, you might as well have the children learn something useful and constructive even if it is boring and soul destroying.
I am an ex-mathematician and I am firmly in the "Pedantics" camp. I hate to see children that cannot add two digit number to two digit numbers without a calculator. That is the world that well meaning "Creatives" create.
Also, is there really that strong a correlation between the percentage of students that pass standardized tests on calculus and the overall success of the community? Russia has a very strong educational system, see what that got them. The general population of the U.S. would be considered be woefully uneducated by the standards of many other countries. But if you were to take any country with as large an immigrant population, I suspect you would see similar numbers. Over time the immigrants are absorbed into the main stream and their children do better. But could it be possible that these immigrants are also the source of the vitality of the U.S. economy and their education (or lack of it) is not the primary reason for why they make this nation so successful?
I always wonder what the parents are thinking when they push their kid through the entire K-12-BA school system at such a fast rate. Do they really believe that the kid is better set up for life at that point then if they were to take their time and send the kid to a better college where the kid would get an early exposure to professors who are leaders in research in their respective fields? Better yet, have the kid skip out on the normal curriculum and find some more challenging instructional texts that the kid can do with remote supervision by a professor at a local college.
There is a quote that I remember from one of my professors in college. When talking about a particularly bright kid, he said "that kid is sufficiently bright that our classes and curriculum are more of a hindrance than an aid". The implication is that accomplishing a BA degree is many times more about grinding through material than something that shows a real difference between those who are truly educated than those who are not. I can still remember Jay Leno's "Jay Walks" where he would ask college graduates questions that many (admittedly unusually smart) 12 year old kids (still not in high school) without a BA could answer easily.
I have read enough biographies of those who end up with great achievements in their fields (Einstein and Newton being good examples). Almost none of them had abnormally accelerated the normal learning track. They almost always just side-stepped it. For example, in his teen age years Einstein was thinking thoughts that only specialized masters of those fields would be able to fully comprehend. Did his track record in school reflect this? No. (And if you follow Newton as a model, then you should force your child to be a farmer for a while so that they really will do anything they can to avoid that fate).
This common fallacy comes up again. Poker is not just an estimation of probabilities. Poker is a raw and pure example of a very complicated multi-way "game theory" problem. Such problems are far from NP-complete (not computable in polynomial time relative to number of inputs on a computer) and much more interesting than they might first appear. Nobel prizes in economics have been given for insight into such problems. There is a book called "Mathematics of Poker" (those interested can do a Google search) which uses Poker to introduce game theory. Please read that before trivializing the theory that underlies poker.
A good poker player models his or her opponents and then creates optimized exploiting strategies -- strategies which are far more sophisticated than you might first imagine (once you have started giving up chances to raise up pots with strong hands in order to catch bluffs you have started down the first step of this long road). This optimization takes into account that your opponents are trying to exploit you and how well you believe you have misled them. The skills to master this are not too different from the skills required by a chess grandmaster (the analogy is not exact -- poker is more like a large look up into a vast reservoir of experience than a deep computational think, but an expert can beat up an non expert very quickly -- even a non expert who knows all the odds).
The one thing I found strange about String theory is that it made Physicists study Algebraic Geometry (with Sheaves and such). Algebraic Geometry got started as a field when mathematicians tried to link up the algebraic properties of polynomial equations (what "algebraic solutions" does it have is one of the questions you might ask) with the differential/topological (how much curvature does it have, how many "multi-dimensional" pseudo-holes does it have -- think about the questions of curvature and "holes" you might ask about multi-holed doughnut in many dimensions -- this is a gross simplification, but I am grasping for intuitive analogies).
What I remember about Algebraic Geometry is that it was one of the harder fields of study in all of mathematics and only a few mathematicians in the world could wield the theory with any real authority and skill (Faltings is a famous such Mathematician). At the time it made me worry that maybe humans would never be clever enough to truly figure out the rules of the universe. Because if we are already have to understand some Algebraic Geometry to get a handle on the current most respected "theory of everything", what would happen if the "theory of everything" required one level of abstraction complication beyond that? There has been a constant progression of theories in Physics from the less abstracted to the crazier highly abstracted (quantum mechanics and general relativity already can only truly be understood by at most a few hundred people in the world). Maybe this time we are going beyond the ability of us poor human mortals to understand.
In defense of String theory, though it may give no predictions, it does give those who study it a feeling of "enlightenment", as if they are getting a potential intuitive understanding of how the universe is put together. Studying mathematics in general can create such a feeling (I think in general that is why mathematicians love their field of study), but it is way cooler to think that the theory and the real world might have some linkage. Also, from what I understand, competing theories all have the feeling of artificial glitchy repairs to existing theories without granting much enlightenment. If you give me a bunch of data, I can create an equation which will spit out the data. But if the equation does not offer insight into the nature of the data (for example, you cannot see that it is actually a "repeating wave pattern of visual distortions"), then though it may be useful, it really does not offer much in the way of "enlightenment".
Some may view the usage of the word "enlightenment" as an allusion to some type of religious feeling. That may be, but it is NOT connected to any type of statement that could be read as "this vision that I see is true and those who disagree with me are morally inferior beings and will be viewed as a lesser person by the higher powers that rule the universe". In fact I suspect that those who disagree with me about the worthiness of understanding mathematics may have spent more time worrying about their morality (as opposed to their "faith") and may actually be superior human beings (and may be viewed as such by the higher powers in the universe).
I would second this notion. This is the classic way to solve this problem. Modern databases provide many mechanisms to periodically push over changes to another cloned copy of the database. The advantage of doing this is you can do interesting things to the cloned data that you would be unwilling to do to a live database. For example, you can create temporary reports that get stored in another temporary database table and which in turn allow other reports to be created from this derived table. Oracle lets you do this pretty easily by creating "views". There is a whole industry built around this approach called "data cubing" with specialized tools to let you construct more involved data mining types of queries based on massaging the data in interesting ways.
Wow. What a link. Parts of it are quite persuasive. I really like the quotes from academically researched material. If China had worked a lot harder on having a better reputation for fair and accurate statements (by actually being fairer and more accurate), this type of data might actually help them.
Here is a completely contrasting link.
http://www.tibet.net/en/diir/pubs/wp/tb96/Tibet%20Proving%20Truth.pdf
Some parts (though fewer parts because it has more of the feel of hearsay and uses references to other politicized documents) of it are persuasive as well.
My general consensus is that both sides are lying and both sides have good points. Much the same as in a lot of similar disputes. But I still don't feel I have accurate answers to my originally proposed questions.