apw
http://fodava.gatech.edu/files/uploaded/DLS/Vapnik.pdf
In particular, I was unsure after reading the original article whether the additional information--for example, the poetry--was available to the learner on test inputs. The above slides explicitly state that it is not.
See this paper at ASPLOS '14 for details:
http://hips.seas.harvard.edu/content/asc-automatically-scala...
With a core dump one can explore the execution environment at the time of the crash.
A nice compromise is a macro that prints an error message and then calls __builtin_trap().
Even fairly simple quantum systems (which are "purely physical phenomena") cannot be emulated by any classical computer in any meaningful sense, since the computational complexity of integrating the dynamical equations is exponential. Even if we could recruit all the atoms in the known Universe, we still couldn't build a classical computer capable of emulating many simple quantum systems.
$ perf stat make
...
116,222 page-faults # 0.046 M/sec
...
https://perf.wiki.kernel.org/index.php/TutorialIt would learn all the worst insults at a particular school, then apply them to the entire student body at random intervals. After a while, nobody could tell the actual malicious posts from the random posts, so all would be ignored.
Or so I would hope.
Leaving rigour aside for the moment: think of functions f : R -> R as infinite-dimensional vectors. The integer harmonics of sine and cosine comprise a set of orthonormal "vectors" that form a basis for all functions on R (some fine print goes here).
Now compute the inner product of your desired function with every element of that basis. Each such inner product is a real number which we will call a coefficient. The list of nonzero coefficients, once you have computed them, is a complete description of your function.
Now it is clear why those sine and cosine functions "magically" add up to your desired function, since we are simply multiplying each of them by their corresponding coefficient that we computed above.
That visualization is no more (or less!) amazing than the fact that (1, 2, 3) = 1(1, 0, 0) + 2(0, 1, 0) + 3(0, 0, 1).
Imagine that you needed to download a tar archive, unpack it, then run several simulations followed by regressions followed by figure plotting on the data. You could write a shell script to do this, but it would be hard to make the shell script simulate the capabilities of `make -j', and you'd have to do a lot of timestamping and file existence checking to simulate the incremental computation capabilities of make.
The global debris layer created by the end-Cretaceous
impact at Chicxulub contained enough soot to indicate
that the entire terrestrial biosphere had burned.
Source:K-Pg extinction: Reevaluation of the heat-fire hypothesis; Robertson, Lewis, Sheehan & Toon, 2013; Journal of Geophysical Research: Biogeosciences
http://onlinelibrary.wiley.com/doi/10.1002/jgrg.20018/abstra...
Parsing: The Solved Problem That Isn't
Inside every Bitcoin transaction is a small program that contains no loops. If that program when executed returns true, the transaction is valid.
The simplest, most boring kind of transaction--but the one that most people assume "is Bitcoin"--is a transfer from address P to address Q. Where things get more interesting is in using those little programs in more creative ways; e.g., k-of-n escrow, attestation of ownership, etc.
A whole generation of kids is going to grow up soon routinely using small Bitcoin escrows to hedge everyday scenarios. They won't quite able to believe that their parents operated in a world based on centralized authority subject to rent-seeking corruption.
However, Bitcoin supports programmable m-of-n transactions, which enable highly nuanced levels of risk hedging.
I suspect that it is only a matter of time before Silicon Valley (and elsewhere) innovators realize this and start providing smooth "select your desired level of risk" services.
However, in so doing I am unintentionally ignoring the much more relevant and likely possibility: that Bitcoin doesn't take over the world, but is simply so easy and useful for the cases you described that it "just" becomes the "Internet's currency".
This softens my criticisms of how a deflationary currency carries risks, since in this scenario Bitcoin is continually being converted to and from other currencies.
Isn't it wrong to say "compiled their C code at the lowest optimization level" though? As I read the paper, they compiled their C code at -O2. It's hard to work backwards in time to know exactly what that meant when they published their paper, but I suspect it meant something very similar to the current gcc definition:
-O2 Perform nearly all supported optimizations that do not involve a space-speed tradeoff.
It seems much more useful, and realistic, to list all the bad things (or good things) that will occur should Bitcoin become, say, 1% of the world's money supply.
http://www.hpl.hp.com/techreports/1999/HPL-1999-78.pdf
"Contrary to intuition, we demonstrate that it is possible to use a piece of software to improve the performance of a native, statically optimized program binary, while it is executing. Dynamo not only speeds up real application programs, its performance improvement is often quite significant."
But since Bitcoin is digital, its maximum security is far, far higher. Your private keys can be encrypted and safely stored with any desired level of redundancy. Paper wallets are a big step backwards.
Also, if secret sharing is used, Bitcoins cannot be stolen unless the attacker gets to k of the n involved parties.
It is quite easy to implement map/reduce style programs in MPI. It is quite difficult or impossible to implement the parallel algorithms that win the Gordon Bell prize, almost all of which are implemented in MPI, using Hadoop.