Precocity is overrated. To me, believing that genius is decided at age 0/5/10 whatever means that you are just rationalizing not working hard enough with "I am not a genius. I will not make it. Therefore no point in working hard".
The primary test really is :
a) Are you having fun (with maths in this case)?
b) Are you willing to put time and effort into it?
Note that the amount of time available may be one hurdle if you are starting at mid-age since its likely that you are pursuing it as a side hobby instead of a full time profession.
See Hamming's lecture on PG's site. Search particularly for "hard work is compounded" and "why is he so much smarter than me" or roughly along those lines.
If you are self-learning, then wikipedia is not a good way to do learn computer science. Its way better to actually read a good book, think a great deal and read/write code when appropriate. Computer science is not history where you learn just by reading. Thinking and problem solving are very critical too.
I have read a bit about stackless. Neat implementation but it still suffers from GIL? You can launch thousands of microthreads but apparently they still run on single core?
Well there are more problems than pointed out in the blog. Many of the "problems" cited are actually just effects of the real problems. Corporates not upgrading and OEMs offering XP are not causes themselves.
One problem is that the UI changed quite a bit from XP but without any added value. Why rename My Documents to Documents? Just for the heck of it? Why change the network connections dialog? For the first time in my life, I had to spend more time setting up a wireless connection in windows than Linux. Change in UI can be good but only if the changed UI offers something new. Just renaming things or moving options around without any reason is plainly annoying.
Second problem is bloat. Why is the OS eating up so much RAM. Isnt the OS meant to run applications on top? Or is the OS just meant to run(or in this case limp) itself somehow. Again I dont see what Vista is doing with all that RAM. Is it doing something useful which XP didnt do? Then go ahead and use the RAM. But if it isnt, then why is it eating RAM?
I havent faced much problem with hardware incompatibility thankfully and as pointed out thats an issue with any OS upgrade. UAC is annoying but can be useful.
edit : I feel the blog only raised strawmen and then beat them up but did not tackle with the real issues.
Well can you give more info about these ports? Sounds like you want to do interprocess communication of some kind with the JVM?
1. How exactly would you setup the JVM? Will you need to wrap every Java class you want to use with some kind of communication mechanism? What about callbacks?
2. Can you subclass a Java class?
3. What is the overhead of calling Java methods from Erlang?
4. Has anyone demonstrated a bridge to a non-trivial Java library using a language not running on the JVM?
I feel interprocess communication might be ok for some apps but not all apps.
You forgot to mention Turing :)
Turing doesnt get much space in school textbooks.
And von Neumann too despite being one of the giants of mathematics in 20th century.
Well everything "social" certainly has a very large mindshare and buzzshare nowadays. This is due to very nature of social apps and also due to the fact "social" apps are relatively new. The buzz of social apps is also much greater in the developer community since the basic ideas are something that everyone understands. Not every developer will be able to talk about hospital software for example but every Joe can talk about "chat widgets".
But it certainly does not have an equivalent revenue share. Put the PROJECTED revenue in 2009 of all "social" apps/platforms together and still you would still be at far less than $10bn.
You certainly can make a lot of money by building useful non-social software. It just wont be as visible or talked about.
1. Outsourcing may not be a good option particularly for work that can be done by 1-2 developers. Approach a local developer, try and negotiate a contract where you give equity but not salary.
2. The runaway developer has 35% equity still? That might be very problematic in the future.
3. I do not about Django particularly but learning Python is not tough. Python is a very easy language to pickup and you should devote some time to learning the language so that you can at least understand what your fellow dev is doing.