"Paleontologists are sure that the fossil record is biased."...
"Land animals are probably very poorly represented as well. For example, most animals that are now alive, or ever have lived, are insects, but the fossil record of insects is poor."...
No dimensionality limits but I wouldn't use this for truly high-dimensional problems like text analysis and inverted indexes (1000s of dimensions). It might work but I wasn't really thinking about those kinds of use cases when building this.
"For it to end up with the right value at the end (M x N), two things need to be true." <-- the two things (immediate visibility and atomicity) are not strictly required. this is only required if all intermediate values are to be observed by the running threads. otherwise you can end up with the correct answer (M x N) without requiring threads to coordinate each write.
What I was trying to get across is that, in the trivial implementation, visibility and atomicity are required. There are obviously better ways for threads to correctly count in parallel with much better performance - but not ones that Java will automatically recognize based on the obvious implementation of the code.
Thanks for the interest and the feedback. I've updated the readme and added a roadmap as well as a faq after getting some good input over the last couple of days.
some observations:
1. when content changes every hyperlink to that content must change along with it.
2. pass by reference (url) is no longer possible.
no matter how many times I read this, I'm always slightly caught off guard. The image many people seem to engender of fb is one of a public service -- ie they only "see" their friends on fb, not some abstract CEO.
With that reasoning, it makes sense that people pour so much blind faith into the Web site as they do -- they simply do not see a corporate structure to their giant online playground.
I expect Facebook to archive my profile and everything I've ever posted there or publicly. I don't really expect them to archive my private chat and not give me a way to delete it.
You get to be a good developer by repeatedly building software that solves problems and creates utility. Heed the advice of others who suggest learning different classes of languages that affect the way you think about problem solving. But pick something and don't toil over it too long.
The other part of the "doing" side of things is finding something to do. A good place to start is by solving a problem you have yourself or that you are interested in. Maybe you think all the todo list managers suck, or maybe you want a tool that helps to organize your porn collection. Great, pick a language and get to work.
Another secret is to hang out with smart people and other good programmers. Talk to others about their work and learn from them. The rising tide raises all ships.
"Land animals are probably very poorly represented as well. For example, most animals that are now alive, or ever have lived, are insects, but the fossil record of insects is poor."...
http://www.k5geosource.org/1content/1sc/fossils/pg6.html