Graham is confusing the arts and the crafts. You probably need to be a decent craftsman to be a good artist, but you just being an excellent craftsman isn't sufficient. Painting is not just a skillful depiction of objects and people, it's about the human condition. Most software is not.
borrowing features from Lisp (code metadata, auto boxing/unboxing)
For just about every language feature, you are going to find some Lisp variant that had those features. But these particular features are not all that characteristic of Lisp and lots of other languages have had them, too. Since several of the JDK 1.5 features are exactly where C# differs from java (e.g., foreach, metadata, autoboxing), it stands to reason that the adoption of them in JDK 1.5 was in reaction to C#.
And what the hell is wrong with that? Sun has been dragging their feet far too long. If Microsoft finally forces them to get their stuff together, all the better. Unfortunately, even the 1.5 changes still leave many very serious problems with Java unaddressed.
being a better C++ (typesafe enums and parameterized types)
Neither Java nor C# are a "better C++", they are completely different languages with a somewhat similar syntax.
No, the way Sun has implemented it, it does not require modification to the JVM. That's a problem because it ends up being not entirely type safe across compilation boundaries, and because it is less efficient than it could be otherwise.
Most of the "Bayesian" spam filtering is naive Bayesian, which is really just an important-sounding excuse for using a computationally expensive and simplistic classification method.
If you want computationally efficient methods for detecting spam, look into decision trees (search on Google for decision trees and spam filtering). If you set them up properly, they result in a sequence of simple tests like "Is this addressed to me?", "Does the subject line contain the word 'penis' or 'breast'?", etc. Like the so-called Bayesian spam filters, decision trees also give you probabilities. Properly trained, they probably work at least as well as Bayesian methods, and they should run a lot faster.
There are a bunch of open source packages available for deriving decision trees from data. Furthermore, while computing decision trees is non-trivial, they can be converted automatically into a few lines of Perl or C code--no runtime libraries required.
It won't really "scoop"--it flies by and catches particles in an aerogel. That may be scientifically as valuable, but it seems like a much simpler engineering feat than what the Japanese are doing.
The shuttle fleet is an outdated, hugely expensive boondoggle for contractors. They shouldn't just be grounded for a while, they should be converted to scrap metal and be replaced by something better. I rarely agree with Republican representatives from Texas, but I think he is right on this one (even if he can't divide).
As for this being due to Lockheed's campaign contributions, I kind of doubt it. I suspect Lockheed makes lots of money on the current shuttle contracts. Opening up this issue just risks that more of the development of the next craft will be done in-house, as contracting is more and more viewed as being responsible for safety problems.
Scan your manuals in 300dpi or 600dpi grayscale and archive them that way. This will allow you to go back and use better OCR as OCR technology improves.
Then, use something like Adobe Acrobat to put them on-line: Acrobat uses OCR internally to make the text searchable, but it still displays the original page image. That means that formulas and appearance will be preserved even if the OCR screws up.
Sun is finally rolling this out because of competition from Microsoft and C#. Until C# looked real, Java had mostly stagnated.
Unfortunately, this doesn't quite make Java competitive with C# yet. Major missing features are:
JVM support for generics. Lack of JVM support makes generics not type-safe across compilation units, and it also makes them less efficient. The result is that the current generics implementation for Java is a stop-gap measure that isn't a good long-term solution. C#/CLR doesn't have generics yet, but Microsoft is planning on CLR changes to support them.
Lack of value classes. Value classes are essential for scientific programming, and automatic optimization cannot infer them reliably.
Lack of operator overloading. Again, that's essential for scientific programming. Some people worry that they lead to unmaintainable code. Of course, andy feature can be abused, but that's really a problem with overloading, not operator overloading.
Also, Sun's patents on core Java technologies and the lack of a well-defined, open Java standard are still serious problems. The fact that Swing is de-facto part of the Java standard but that Swing is as ill-defined as the Windows API is another problem because it makes it hard to create open source implementations of Java.
A space shuttle launch costs more than the launch for this probe. Furthermore, astronauts are not qualified to assemble this probe, they would be unable to perform the necessary testing, and their time in orbit costs so much per hour that that wouldn't be cost-effective either.
Japan just launched a space probe for a sample return mission from an asteroid. Here is a home page for the mission (but rather outdated). Apparently, it also uses electric propulsion.
XFCE is great in many ways. But its icons/drawer stuff is quite confusing to me: you right click on them, they open up, and they stay open, and you have to click on the little arrow to close it again.
I think XFCE with a simple Macintosh-like toolbar would be better, rather than the CDE clone that it is.
Some window managers have those as options and give you clear, in-your-face focus indications and decorations. IceWM, when set up properly, is probably pretty good for this.
But equally depressing is a fact we can't dodge: without bold and innovative schemes to protect ourselves, we're sitting ducks.
The eternal mantra of totalitarianism and fascism: "we need more government powers, more secrecy, and more government/industry collaboration in order to 'protect' the citizen; otherwise you could be killed."
Yes, freedom comes with risks: people can somewhat more easily move around bombs, germs, and other bad stuff. That's not been invented on 9/11, it's been there since the beginning of human societies. You have to accept those risks if you want a free society.
Statistically, terrorism is not going to kill you or me. And whatever terrorism level there may be is more effectively reduced by a combination of simple security measures, international development, and more careful foreign policy. Most likely, what is going to get you is that SUV you are going to collide with, your lack of decent preventive medical care, or the heart disease or cancer you get from your bad nutrition.
The US can become just like the USSR. Oh, they didn't bother with the Internet, they just had people watch each other directly.
It goes great with current economic policies: people lose their jobs, then the government hires them to do this. Again, just like the USSR.
You can pay them even less if you stick them in prison first. Prisoners are already doing customer support for your airline tickets--why not have them watch you, too?
Surely, Walker has patented this, so it's a great example of entrepreneurial spirit.
The idea of having lots of people watch lots of other people has been around for a while. Brin explored it in his book Kiln People. It may happen the way it is described in Kiln People: people deploying private web cams and making the images available.
As a government-paid activity, it doesn't have a prayer. Just hiring, screening, and supervising the people involved would be a major undertaking and the system is open to abuse.
To make software interoperate, developers need to create interfaces before writing their software.
Interoperability relies on standards that come from standards bodies. As long as the software conforms to those standards and works correctly, it interoperates. Interoperability with standards requires less planning on the part of the programmer because the standards have already been written by other people.
Often no planning is done and developers start writing their code without a clear vision of what they want to write.
Good. More software projects should start off with that kind of openness and willingness to adapt to changing circumstances.
Even Linus is against the creation of standard interfaces internal to the Linux kernel. That decision inhibits the creation of a truly modular system.
That part I fully agree with. But it has nothing much to do with "interoperability" because it is an issue within a single project.
Also, Linus's stance is unreasonable: it is quite possible to define interfaces and yet to maintain the same flexibility that exists in Linux. The problems of the Linux kernel with modularity are cultural problems; technically and managerially, they are solvable if people wanted to solve them.
The premise is wrong. Interoperating is hard, often not worth it, and sometimes downright bad. But to the degree that anything interoperates, open source probably generally does a whole lot better than proprietary software.
Its not about retaliations. Its about protecting the citizenry before an attack as such can be launched and people get killed.
We are not disagreeing on that, we are disagreeing on whether that's a good thing. You seem to think it is. I don't think so. US foreign policy should be aimed at improving the conditions in the rest of the world so that such attacks don't happen. But if US voters have the impression that they live behind an impenetrable shield (an illusion, but just as dangerous as an illusion), they aren't going to make the economic and political sacrifices to make that happen.
Don't worry LA or New York or DC are taken out, trust your NATO brothers or friendly UN to... uh, nevermind I'm an idiot.
Yes. The rest of the world has to trust the UN and organizations like NATO. The rest of the world has to live with the possibility that Russia or Iraq or North Korea or India can drop a bomb on them. Or, for that matter, that some US president declares them undesirable and drops a bomb on them. It's what gets people to negotiate and work towards better international cooperation. But the US wants to remove itself from all that and be able to send its military anywhere in the world with impunity, with no international checks and balances, and without the need to talk to anybody about it. And it's already happening: Bush has given the finger to numerous major international compromises that he didn't like for short term economic reasons.
The only thing that makes this worse is that, in the end, SDI isn't even going to be effective: the US will behave as if it worked, but the US population will still be at grave risk. And enormous sums of money will have been consumed in the process.
A far more reasonable and effective alternative is to invest all that money in international aid, education, and nuclear weapons destruction and control. But, of course, defense contractors wouldn't make much money from that.
Recent history argues otherwise. NATO invoked Article V, but used it as an excuse to try to stop the attack on Al-Quaeda in Afghanistan.
In complaining that NATO members may have tried to stop it, you are presuming that that attack was, in fact, necessary, justified, and effective. That was certainly not clear then, and it still is far from clear. It is something that would have warranted more discussion before going ahead, and there was no time pressure to rush into it, other than domestic US politics.
In fact, NATO was, if anything, quite supportive of the US efforts and it was the US that declined more NATO participation.
It is not just the iPod. The iBook is the pinicle of good battery life, small size and a full featured laptop that is sub $1000.
The iBook uses a processor that is years behind the state of the art--that's why it's so cheap. If you buy a G3 iBook today, I think it will have pretty limited life.
Something like the Fujitsu LifeBook P-2000 beats the iBook in terms of features, battery life (with extended battery), size, and weight for only a little more money (if you want something really light, the LifeBook P-1000 is even smaller, but you get an external CD/DVD drive)
You can't charge through USB 2.0, as it's not powered.
Sure you can: USB 2.0 runs and charges some rotating media players just fine. It doesn't have as much power as FireWire, but it's enough with careful design. Hopefully, we'll see more compact and energy efficient devices than either the iPod and the Zen in the future and then this will be even less of an issue.
iPod has benn able to store data since generation 1. In fact, you can even boot from it if needed. Can't say that about the Nomad.
Most of the disk-based players are basically just standard USB or FireWire drives with extra firmware. Whether you can boot from them or not depends on your laptop or desktop and your boot loader, not on the drive.
Oh, and you speak as if there is not a HUGE iPod community?
Graham is confusing the arts and the crafts. You probably need to be a decent craftsman to be a good artist, but you just being an excellent craftsman isn't sufficient. Painting is not just a skillful depiction of objects and people, it's about the human condition. Most software is not.
For just about every language feature, you are going to find some Lisp variant that had those features. But these particular features are not all that characteristic of Lisp and lots of other languages have had them, too. Since several of the JDK 1.5 features are exactly where C# differs from java (e.g., foreach, metadata, autoboxing), it stands to reason that the adoption of them in JDK 1.5 was in reaction to C#.
And what the hell is wrong with that? Sun has been dragging their feet far too long. If Microsoft finally forces them to get their stuff together, all the better. Unfortunately, even the 1.5 changes still leave many very serious problems with Java unaddressed.
being a better C++ (typesafe enums and parameterized types)
Neither Java nor C# are a "better C++", they are completely different languages with a somewhat similar syntax.
No, the way Sun has implemented it, it does not require modification to the JVM. That's a problem because it ends up being not entirely type safe across compilation boundaries, and because it is less efficient than it could be otherwise.
Software like Acrobat will keep scans as images but still do OCR to let you do searching, cutting, and pasting.
"ICR" is a meaningless marketing buzzword, not a specific feature of an OCR package.
If you want computationally efficient methods for detecting spam, look into decision trees (search on Google for decision trees and spam filtering). If you set them up properly, they result in a sequence of simple tests like "Is this addressed to me?", "Does the subject line contain the word 'penis' or 'breast'?", etc. Like the so-called Bayesian spam filters, decision trees also give you probabilities. Properly trained, they probably work at least as well as Bayesian methods, and they should run a lot faster.
There are a bunch of open source packages available for deriving decision trees from data. Furthermore, while computing decision trees is non-trivial, they can be converted automatically into a few lines of Perl or C code--no runtime libraries required.
It won't really "scoop"--it flies by and catches particles in an aerogel. That may be scientifically as valuable, but it seems like a much simpler engineering feat than what the Japanese are doing.
As for this being due to Lockheed's campaign contributions, I kind of doubt it. I suspect Lockheed makes lots of money on the current shuttle contracts. Opening up this issue just risks that more of the development of the next craft will be done in-house, as contracting is more and more viewed as being responsible for safety problems.
Then, use something like Adobe Acrobat to put them on-line: Acrobat uses OCR internally to make the text searchable, but it still displays the original page image. That means that formulas and appearance will be preserved even if the OCR screws up.
Unfortunately, this doesn't quite make Java competitive with C# yet. Major missing features are:
Also, Sun's patents on core Java technologies and the lack of a well-defined, open Java standard are still serious problems. The fact that Swing is de-facto part of the Java standard but that Swing is as ill-defined as the Windows API is another problem because it makes it hard to create open source implementations of Java.
A space shuttle launch costs more than the launch for this probe. Furthermore, astronauts are not qualified to assemble this probe, they would be unable to perform the necessary testing, and their time in orbit costs so much per hour that that wouldn't be cost-effective either.
Japan just launched a space probe for a sample return mission from an asteroid. Here is a home page for the mission (but rather outdated). Apparently, it also uses electric propulsion.
It launched in October 2002 and won't arrive until mid-2004. So, what's the news?
Actually, it has about twice the battery life, and small size and battery life were the features the poster was touting.
If you want a 4 pound x86 laptop with a 12" screen, there are lots of those around, and they run about twice as fast as the iBook.
I think XFCE with a simple Macintosh-like toolbar would be better, rather than the CDE clone that it is.
Some window managers have those as options and give you clear, in-your-face focus indications and decorations. IceWM, when set up properly, is probably pretty good for this.
The eternal mantra of totalitarianism and fascism: "we need more government powers, more secrecy, and more government/industry collaboration in order to 'protect' the citizen; otherwise you could be killed."
Yes, freedom comes with risks: people can somewhat more easily move around bombs, germs, and other bad stuff. That's not been invented on 9/11, it's been there since the beginning of human societies. You have to accept those risks if you want a free society.
Statistically, terrorism is not going to kill you or me. And whatever terrorism level there may be is more effectively reduced by a combination of simple security measures, international development, and more careful foreign policy. Most likely, what is going to get you is that SUV you are going to collide with, your lack of decent preventive medical care, or the heart disease or cancer you get from your bad nutrition.
- The US can become just like the USSR. Oh, they didn't bother with the Internet, they just had people watch each other directly.
- It goes great with current economic policies: people lose their jobs, then the government hires them to do this. Again, just like the USSR.
- You can pay them even less if you stick them in prison first. Prisoners are already doing customer support for your airline tickets--why not have them watch you, too?
- Surely, Walker has patented this, so it's a great example of entrepreneurial spirit.
The idea of having lots of people watch lots of other people has been around for a while. Brin explored it in his book Kiln People. It may happen the way it is described in Kiln People: people deploying private web cams and making the images available.As a government-paid activity, it doesn't have a prayer. Just hiring, screening, and supervising the people involved would be a major undertaking and the system is open to abuse.
Interoperability relies on standards that come from standards bodies. As long as the software conforms to those standards and works correctly, it interoperates. Interoperability with standards requires less planning on the part of the programmer because the standards have already been written by other people.
Often no planning is done and developers start writing their code without a clear vision of what they want to write.
Good. More software projects should start off with that kind of openness and willingness to adapt to changing circumstances.
Even Linus is against the creation of standard interfaces internal to the Linux kernel. That decision inhibits the creation of a truly modular system.
That part I fully agree with. But it has nothing much to do with "interoperability" because it is an issue within a single project.
Also, Linus's stance is unreasonable: it is quite possible to define interfaces and yet to maintain the same flexibility that exists in Linux. The problems of the Linux kernel with modularity are cultural problems; technically and managerially, they are solvable if people wanted to solve them.
The premise is wrong. Interoperating is hard, often not worth it, and sometimes downright bad. But to the degree that anything interoperates, open source probably generally does a whole lot better than proprietary software.
We are not disagreeing on that, we are disagreeing on whether that's a good thing. You seem to think it is. I don't think so. US foreign policy should be aimed at improving the conditions in the rest of the world so that such attacks don't happen. But if US voters have the impression that they live behind an impenetrable shield (an illusion, but just as dangerous as an illusion), they aren't going to make the economic and political sacrifices to make that happen.
Don't worry LA or New York or DC are taken out, trust your NATO brothers or friendly UN to... uh, nevermind I'm an idiot.
Yes. The rest of the world has to trust the UN and organizations like NATO. The rest of the world has to live with the possibility that Russia or Iraq or North Korea or India can drop a bomb on them. Or, for that matter, that some US president declares them undesirable and drops a bomb on them. It's what gets people to negotiate and work towards better international cooperation. But the US wants to remove itself from all that and be able to send its military anywhere in the world with impunity, with no international checks and balances, and without the need to talk to anybody about it. And it's already happening: Bush has given the finger to numerous major international compromises that he didn't like for short term economic reasons.
The only thing that makes this worse is that, in the end, SDI isn't even going to be effective: the US will behave as if it worked, but the US population will still be at grave risk. And enormous sums of money will have been consumed in the process.
A far more reasonable and effective alternative is to invest all that money in international aid, education, and nuclear weapons destruction and control. But, of course, defense contractors wouldn't make much money from that.
In complaining that NATO members may have tried to stop it, you are presuming that that attack was, in fact, necessary, justified, and effective. That was certainly not clear then, and it still is far from clear. It is something that would have warranted more discussion before going ahead, and there was no time pressure to rush into it, other than domestic US politics.
In fact, NATO was, if anything, quite supportive of the US efforts and it was the US that declined more NATO participation.
The iBook uses a processor that is years behind the state of the art--that's why it's so cheap. If you buy a G3 iBook today, I think it will have pretty limited life.
Something like the Fujitsu LifeBook P-2000 beats the iBook in terms of features, battery life (with extended battery), size, and weight for only a little more money (if you want something really light, the LifeBook P-1000 is even smaller, but you get an external CD/DVD drive)
Sure you can: USB 2.0 runs and charges some rotating media players just fine. It doesn't have as much power as FireWire, but it's enough with careful design. Hopefully, we'll see more compact and energy efficient devices than either the iPod and the Zen in the future and then this will be even less of an issue.
Most of the disk-based players are basically just standard USB or FireWire drives with extra firmware. Whether you can boot from them or not depends on your laptop or desktop and your boot loader, not on the drive.
Oh, and you speak as if there is not a HUGE iPod community?
Why do you care?