TriinT
When you design an algorithm and implement it in code, the computer will not allow you to be ambiguous and imprecise. You made a wrong assumption? Sorry, your program won't work. No partial credit for you. It's tough, but it's fair.
However, I also think the Bourbakists created a monster, which was this notion that the "Greek method" was the only valid one, and that the "Babylonian method" was to be avoided. Even Combinatorics was considered "unworthy" of great minds. All geometrical intuition was frowned upon. Applications were laughed at. All of a sudden, Math became sterile. Interestingly, Turing's work, in a sense, derived from Hilbert's program to make the foundations of Math solid. The fact that Theoretical CS exists outside of traditional Math is nothing more than an historical accident. Computability is pure Math. Computational Complexity is still a bit "dirty" but it's also rather fundamental.
"Computer Science is no more about computers than astronomy is about telescopes."
In my most humble opinion, the value of CS education is not to prepare young people for a job in IT. Instead, its value is in teaching young people how to think in an abstract and rigorous manner. This is much more valuable, and it's useful regardless of what one's future career path is.
These days students think they can hack everything. They think they can BS on their homework essays, they think they can BS on their exams, they abstain from precise reasoning because it's too much work. Well, guess what? You can't BS a computer. All those sub-human morons commenting on the NYTimes article, the ones who work in IT and who are so afraid of outsourcing, should keep in mind that CS education is, at its core, applied philosophy and applied math. The label "Computer Science" is a misnomer. Yet once again, I blame the Bourbakists. If Turing had lived a few decades before, Theoretical CS would be a part of Math, not a separate field.
Counterfeit coins and rare diseases
A Theory of Goal-Oriented Communication
Why NYC is not ready for the iPhone
Physics of Wireless Broadband
Why we write: a modern Greek tragi-comedy
Saying that "we have a lot to learn from nature" is almost a vacuous statement. Nature is so complex, that there are billions of opportunities to learn from it and to design bio-inspired systems. An example: neural processing is orders of magnitude more power-efficient that CMOS. Sure, our brain can't do arithmetic at high-speed, but if we lose a bunch of neurons, our brain still works. Humans can literally lose parts of their brain and survive and function. It's amazing. By contrast, a dust particle on a Silicon wafer is enough for a CPU to malfunction.
This fascination with nature has a dark side, too. Just because evolution has attained such quasi-perfect designs, it does not mean we can do the same. Neuromorphic electronic systems never got anywhere. People in the 1980s talked so much about analog VLSI and neural networks, and I haven't seen that much coming out of it.
The problem with being fascinated by something is that being in awe is not always the most productive way. Sometimes despizing something works much better. Whatever. I am not saying anything deep, and cheap philosophy never got anyone to actual achievement, to building actual things that actually work. Hence, I shut up.
USB Hourglass Random Number Generator
The Kruskal Count
Salespeople and Programmers
"I confess that, in 1901, I said to my brother Orville that men would not fly for 50 years. Two years later, we ourselves were making flights. This demonstration of my inability as a prophet gave me such a shock that I have ever since distrusted myself and have refrained from all prediction."
No one has ever been able to predict where technology is going. This one is for you to tame your forecasting proclivities and for the moron who's downvoting my comments without explaining where my argument is weak. Cheers.
In any case, you're picking on the wrong issue. The hummingbird can hover better than a Harrier or a JSF. If you want to start an argument, pick on that.
I would say that open-source is not of great interest in optimization software. The idea is to write as little code as possible, and to trust that everything performance-critical has been optimized. Even speed is not the main issue for me. I want something that is flexible. I want to write little code because the less I write the less bugs there are. Correctness trumps everything else.
If I am using SF to allocate investments, I want to make sure an optimal solution is found, even if it takes a little longer. Computer time is cheap. Buy a bigger computer. Developer time is more precious. There are only 24 hours in a day.
You want to change the source code? With all due respect, but I would speculate that 99,9999% of HN users are not qualified to write numerical optimization code. Looking at it is of little use unless you have a PhD in Applied Math and years and years of experience.
Of limited use to HN readers? To those writing web-apps, perhaps. Those doing Machine Learning will probably be ecstatic to find this.
http://hanselminutes.com/default.aspx?showID=209
Regarding similar software, there's MOSEK and a bunch of others whose logos show up on Solver Foundation's website. If you like to code in Python, there's CVXOPT and CVXMOD. If you're into MATLAB, there's CVX and Yalmip.
Last but not least: never say never, and never predict more than 10 years into the future. In 20 years your predictions might be ridiculed.
Leonardo da Vinci and his flying machines
For starters, please do note that I wrote flying machines. As far as I know, ostriches do not fly. Besides, supersonic is not that impressive. Hell, a rocket can move at hypersonic speeds. When you design a fighter jet that is as maneuverable and energy-efficient as a hummingbird, please let me know.