As the size of the cache gets larger, the cache lookup gets slower. Hence it's better to have a hierarchy of caches rather than one big monstrosity, never mind the cost.
If they chose a word that had only offensive meanings then I could see people being offended by it, but the word Gimp is only offensive in some contexts.
Why isn't everyone left-handed? That too would be beneficial in a cooperative society (shared tools).
This probably reflects the assymetries in the human body (heart on one side, one lung smaller, etc). Anyway, if all was in reverse and the majority were left-handed, you'd be here asking "Why isn't everyone right-handed?":).
... and there still were utilities (I remember 'goslow' and 'slow') you could use to slow down the PC even more if the turbo button was not enough. On my PC depressing turbo slowed it from 20 MHz to 10 MHz, but if you wanted to play old XT (4.77 MHz) games ('sopwith', anyone?), you could run these.
My CS teacher used to turn turbo off by default 'so that all those outputs would not flash in front of her eyes so blazingly fast'.
Get reasonably recent compilers. GCC 4.3 already had some of the C++11 stuff implemented, as did Visual Studio 2010. Move up to GCC 4.7 and Visual Studio 11, and you get more complete C++11 implementations (as well as Clang).
That's a great idea, but it only works when you deliver executables. If you distribute sources and a configure script you can't reasonably expect all your targets to run gcc 4.7 today.
Wow... I haven't touched assembly since about 15 years ago. Trying to program your assembly to outperform a compiler with out-of-order instruction execution on the CPU takes a mad genius.
In defense of the post you're replying to -- they said "you will see assembly", not "you will write assembly", I take it they meant hand-optimized assembly code delivered by the vendor that makes the lowest level bottlenecks like matrix-vector multiplications or FFTs blazingly fast. The kind of code that takes different paths depending on the CPU model to carefully pipeline instructions, use extensions and to use the cache efficiently.
You can only "expect" it to be selected out of the genome over an infinite period of time. Over a finite period, even if it is not beneficial, it is just as likely to stay as it is to go.
Let me see, you're claiming that
a) expectation values cannot be calculated for finite intervals
and
b) the probability of a certain state of a part of the genome remaining constant for an arbitrary period of time is exactly 50%?
Isn't asking not to be eaten what a Lion Tamer does?
I think a lion tamer has some ad baculum arguments at his disposal, he's not asking. I meant more like a missionary asking "good animal, in the name of Jesus, spare me".
The meritum of your argument, though -- I'm not arguing with that.
I want to live on your planet. Every piece of numerical computing code I've ever seen is... well, discouraging. (Then again, most of it is written by biologists.)
My planet is quantum chemistry in the high-performance computing system and there are codes here that are maintainability nightmares as well. So I'd say it tends to be mutually exclusive, but doesn't have to be.
Other than occasionally using GAs, I don't have experience with computational biology, but I imagine biologists work a bit further from the metal, say in Python, R or Mathematica, whereas here there's almost always Fortran or C with assembly at the very bottom of everything. The stereotype is that biologists are not, on average, proficient programmers. Since you're a bioinformatitian, then, if the stereotype has some truth to it, I understand well what you mean.
You're funny. Maintainable, readable, etc. code is mutually exclusive with numerical computing.
Not necessarily.
In serious number-crunching the bottlenecks tend to be localized and the 'typical' paths through the code are easier to establish. Profiling is used routinely in the field to identify hot spots. These hot spots are usually algebra, which can be offloaded to BLAS, LAPACK, FFTW and the like, or something that is easily vectorizable, where things like VML are of help. In any case, one can mostly avoid making a mess of the code with loop unrolling and trying to be more clever than an optimizing compiler. The vast majority of the code can then be written in a readable and maintaintable fashion. The programmers must be competent enough not to pass by value, ensure cache-friendliness and so on.
The only readability nightmare is that the code is peppered with #ifdef VENDOR, #pragma omp, !$acc and the like. I prefer to turn the contrast down in the editor for these, almost to the level of comments.
Play major chords. If a note is incorrect then the chord is dissonant and you have an error condition.
or a sus4 chord :).
Have you considered an alternative sleep pattern? http://en.wikipedia.org/wiki/Polyphasic_sleep
LibreOffice and/or OpenOffice. You're welcome.
As the size of the cache gets larger, the cache lookup gets slower. Hence it's better to have a hierarchy of caches rather than one big monstrosity, never mind the cost.
Given the fact that D2O is referred to as deuterium oxide, H2O would be referred to as simply "hydrogen oxide."
Protium oxide, more like. After all, deuterium too is hydrogen.
Suddenly... I'm not half the man I used to be.
Or (s)he gets a kick out of surfing religious websites
Then they count as porn :). Rule 34 and all that.
Finally, I'd say many religious websites are probably made by amateurs and hence are easily exploitable by third parties to serve malware.
I only need it when I surf porn sites and there
Clearly you haven't read the next article.
Or he doesn't surf religious websites.
Also? That's what the word means. It can also be used as a mild euphemism for "arse".
Yup, just as ASS CRACK is freebase cocaine for donkeys.
If they chose a word that had only offensive meanings then I could see people being offended by it, but the word Gimp is only offensive in some contexts.
Sure, because an ass can also mean a donkey...
Its only natural selection if that event somehow stops said ppl passing on their genes.
You seem to imply that being blind has no influence on rate of mating.
If the sun is at your back, how can you look into it?
Rear-view mirror, obviously.
I'm struggling here to think of a primitive tool with handed-ness built into it. Anyone?
Shield.
Why isn't everyone left-handed? That too would be beneficial in a cooperative society (shared tools).
This probably reflects the assymetries in the human body (heart on one side, one lung smaller, etc). Anyway, if all was in reverse and the majority were left-handed, you'd be here asking "Why isn't everyone right-handed?" :).
... and there still were utilities (I remember 'goslow' and 'slow') you could use to slow down the PC even more if the turbo button was not enough. On my PC depressing turbo slowed it from 20 MHz to 10 MHz, but if you wanted to play old XT (4.77 MHz) games ('sopwith', anyone?), you could run these.
My CS teacher used to turn turbo off by default 'so that all those outputs would not flash in front of her eyes so blazingly fast'.
Get reasonably recent compilers. GCC 4.3 already had some of the C++11 stuff implemented, as did Visual Studio 2010. Move up to GCC 4.7 and Visual Studio 11, and you get more complete C++11 implementations (as well as Clang).
That's a great idea, but it only works when you deliver executables. If you distribute sources and a configure script you can't reasonably expect all your targets to run gcc 4.7 today.
Wow... I haven't touched assembly since about 15 years ago. Trying to program your assembly to outperform a compiler with out-of-order instruction execution on the CPU takes a mad genius.
In defense of the post you're replying to -- they said "you will see assembly", not "you will write assembly", I take it they meant hand-optimized assembly code delivered by the vendor that makes the lowest level bottlenecks like matrix-vector multiplications or FFTs blazingly fast. The kind of code that takes different paths depending on the CPU model to carefully pipeline instructions, use extensions and to use the cache efficiently.
You can only "expect" it to be selected out of the genome over an infinite period of time. Over a finite period, even if it is not beneficial, it is just as likely to stay as it is to go.
Let me see, you're claiming that
a) expectation values cannot be calculated for finite intervals
and
b) the probability of a certain state of a part of the genome remaining constant for an arbitrary period of time is exactly 50%?
That probably deserves a +1 Funny.
Isn't asking not to be eaten what a Lion Tamer does?
I think a lion tamer has some ad baculum arguments at his disposal, he's not asking. I meant more like a missionary asking "good animal, in the name of Jesus, spare me".
The meritum of your argument, though -- I'm not arguing with that.
I'm an american, and I understood what they were getting at with the hoover reference. So did you from the sound of it. What's the problem?
I think the word suck is the key.
Isn't that like asking a lion not to eat us?
1W x a billion computers is quite significant though, given that our energy use is destroying the habitability of the planet.
Not really. That's just 1E+09 W compared to some 1.5E+13 W of energy that humanity uses today. So less than 0.01%, even if those PCs were on 24/7.
I want to live on your planet. Every piece of numerical computing code I've ever seen is... well, discouraging. (Then again, most of it is written by biologists.)
My planet is quantum chemistry in the high-performance computing system and there are codes here that are maintainability nightmares as well. So I'd say it tends to be mutually exclusive, but doesn't have to be.
Other than occasionally using GAs, I don't have experience with computational biology, but I imagine biologists work a bit further from the metal, say in Python, R or Mathematica, whereas here there's almost always Fortran or C with assembly at the very bottom of everything. The stereotype is that biologists are not, on average, proficient programmers. Since you're a bioinformatitian, then, if the stereotype has some truth to it, I understand well what you mean.
You're funny. Maintainable, readable, etc. code is mutually exclusive with numerical computing.
Not necessarily.
In serious number-crunching the bottlenecks tend to be localized and the 'typical' paths through the code are easier to establish. Profiling is used routinely in the field to identify hot spots. These hot spots are usually algebra, which can be offloaded to BLAS, LAPACK, FFTW and the like, or something that is easily vectorizable, where things like VML are of help. In any case, one can mostly avoid making a mess of the code with loop unrolling and trying to be more clever than an optimizing compiler. The vast majority of the code can then be written in a readable and maintaintable fashion. The programmers must be competent enough not to pass by value, ensure cache-friendliness and so on.
The only readability nightmare is that the code is peppered with #ifdef VENDOR, #pragma omp, !$acc and the like. I prefer to turn the contrast down in the editor for these, almost to the level of comments.