This is a great article. I'm going to pass it on to a friend of mine. This particular friend's life's ambition has been to build a perpetual motion / free energy device.
Now, I imagine people's immediate reaction is to sneer and grab for their nearest thermodynamics pamphlet. That was my initial inclination. Watching how _industrious_ and _persistant_ this guy has been trying over the years softened me. He's probably built 20+ prototypes. None of which have worked, but he keeps trying.
Science is about reproducibility, and as far as I'm concerned, he's performing guerrilla research of the kind for which there is no funding.
His primary motivation is providing energy to himself and his parents. He's abjectly poor, and grew up that way. His circumstances have him mostly trapped. Child support delinquency had his drivers license taken. Where he lives was given to him, and he's an hour away from the nearest city.
He's my crystalized example of infinite intelligence, limited information, meager childhood. I spent a few weeks teaching him python, and he got through all the exercises in learn-python-the-hard-way faster than I did. He refuses to believe anyone would hire a 50 year old man with no resume to do it remotely, so he hasn't tried. He might not be wrong.
Thinking through it myself, it's hard to imagine we've _exhausted_ all lanes of creativity generating and storing electricity. That one company that uses a tower of concrete blocks and a crane to store energy comes to mind as a clever, simple in hindsight ingenuity.
This article seems like a good way to get him to take a gander at impossibility proofs/arguments from a perspective compatible with his "NOBODY WILL STOP ME" levels of grit and persistence.
Frankly I want to coerce him into building a small personal steam engine. His goal is 1000W, to supplement solar panels when it's cloudy. He currently has a gas generator, but keeping it filled is onerous, even when the gas is free.
When I was a kid, perhaps 10, I imagined a perpetual motion machine and summoned my brother at that moment to demonstrate it. Just as I was about to show him proof of eternal unpowered water circulation, I realised it wasn't going to work.
So this guy, maybe he's highly intelligent but how much common sense?
I think the senses of someone persistent in building a perpetual motion device are not of the common variety.
That said, he's a good, perfectionist craftsman. You and I both can commiserate on how impossible his mission is, but I don't really feel comfortable trying to dismantle a dude with a dream who works hard at it. I'd prefer to try and encourage directions towards things with a chance useful outcomes. He taught me how to assemble solar panels from cells. That's why I have solar panels.
Thanks! That's an interesting story about your friend. I've met a few people like that. It reminds me of PG's 'bus ticket theory of genius:' being obsessive may be a necessary ingredient, because it helps with persistence. http://paulgraham.com/genius.html
The thing about perpetual motion machines, is that they just might lead to other useful discoveries.
I remember when I was a kid playing with remote-control cars, I was trying to add a wheel which would put energy back into the battery as the car drove around and stopped. A friends father explained to me that this was an attempt at creating a perpetual motion device, and that it was a pointless exercise. Of course, it was only a step away from understanding hybrid drive systems.
I'm not saying I was the first person to think of it, or invent it, but it is a very real possibility that I would have become more interested in science and technology as I made smaller discoveries along the way, rather than being convinced that there was no point in trying, because nothing would ever work.
It took me about 20 years to find my way back into creating.
My favorite example of an impossibility theorem being violated in practice is rsync.
The theorem being that there is no perfectly reliable algorithm to compare two files across a network and see if they are different that in the worst case does not require at least as much bandwidth as transferring one file to the other.
Lots of algorithms do better on most files we see. For example compress and send a compressed file. But in the worst case, the compressed file can be larger than the original and you have to transfer it.
Enter the rsync algorithm. It sends a tiny amount of data. Just a hash. The gotcha is that it has a very small chance of incorrectly concluding that two files are the same. But the odds that it gets it wrong are in practice lower than the odds of it getting it wrong because of a hardware failure during the computation. (The algorithm continues doing more hashes to narrow down to just the differences if the file needs to be updated.)
You make in interesting point. Much of algorithmic information theory seems to be focused on the worst case, when the average behavior may be more relevant -- and significantly more pleasant.
It brings to mind Zipf's law and optimal coding. There's a 'no-free-lunch' theorem waiting to be discovered, I suspect -- or maybe it already exists and I just haven't heard of it. Something along the lines that optimal encoding maximizes the channel capacity, but makes the worst case error exponentially disastrous.
I think it's good to clarify that rsync's algorithm requires an agent on the remote computer to compute those hashes without sending the file over the network.
My favourite in this category is the impossibility of a halting oracle, which relies on the assumption that there is infinite memory. An assumption which is wrong in most practical cases.
There's a trivial implementation of a halting oracle when memory is a fixed size - run until a state is revisited or the program exits.
Ahh, I just remembered another quote I should have mentioned:
"To discover new things, you have to work on ideas that are good but non-obvious; if an idea is obviously good, other people are probably already working on it. One common way for a good idea to be non-obvious is for it to be hidden in the shadow of some mistaken assumption that people are very attached to." http://www.paulgraham.com/nov.html
13 comments
[ 3.8 ms ] story [ 38.9 ms ] threadNow, I imagine people's immediate reaction is to sneer and grab for their nearest thermodynamics pamphlet. That was my initial inclination. Watching how _industrious_ and _persistant_ this guy has been trying over the years softened me. He's probably built 20+ prototypes. None of which have worked, but he keeps trying.
Science is about reproducibility, and as far as I'm concerned, he's performing guerrilla research of the kind for which there is no funding.
His primary motivation is providing energy to himself and his parents. He's abjectly poor, and grew up that way. His circumstances have him mostly trapped. Child support delinquency had his drivers license taken. Where he lives was given to him, and he's an hour away from the nearest city.
He's my crystalized example of infinite intelligence, limited information, meager childhood. I spent a few weeks teaching him python, and he got through all the exercises in learn-python-the-hard-way faster than I did. He refuses to believe anyone would hire a 50 year old man with no resume to do it remotely, so he hasn't tried. He might not be wrong.
Thinking through it myself, it's hard to imagine we've _exhausted_ all lanes of creativity generating and storing electricity. That one company that uses a tower of concrete blocks and a crane to store energy comes to mind as a clever, simple in hindsight ingenuity.
This article seems like a good way to get him to take a gander at impossibility proofs/arguments from a perspective compatible with his "NOBODY WILL STOP ME" levels of grit and persistence.
Frankly I want to coerce him into building a small personal steam engine. His goal is 1000W, to supplement solar panels when it's cloudy. He currently has a gas generator, but keeping it filled is onerous, even when the gas is free.
So this guy, maybe he's highly intelligent but how much common sense?
That said, he's a good, perfectionist craftsman. You and I both can commiserate on how impossible his mission is, but I don't really feel comfortable trying to dismantle a dude with a dream who works hard at it. I'd prefer to try and encourage directions towards things with a chance useful outcomes. He taught me how to assemble solar panels from cells. That's why I have solar panels.
Thinking through the contradictions there is fun.
I remember when I was a kid playing with remote-control cars, I was trying to add a wheel which would put energy back into the battery as the car drove around and stopped. A friends father explained to me that this was an attempt at creating a perpetual motion device, and that it was a pointless exercise. Of course, it was only a step away from understanding hybrid drive systems.
I'm not saying I was the first person to think of it, or invent it, but it is a very real possibility that I would have become more interested in science and technology as I made smaller discoveries along the way, rather than being convinced that there was no point in trying, because nothing would ever work.
It took me about 20 years to find my way back into creating.
The theorem being that there is no perfectly reliable algorithm to compare two files across a network and see if they are different that in the worst case does not require at least as much bandwidth as transferring one file to the other.
Lots of algorithms do better on most files we see. For example compress and send a compressed file. But in the worst case, the compressed file can be larger than the original and you have to transfer it.
Enter the rsync algorithm. It sends a tiny amount of data. Just a hash. The gotcha is that it has a very small chance of incorrectly concluding that two files are the same. But the odds that it gets it wrong are in practice lower than the odds of it getting it wrong because of a hardware failure during the computation. (The algorithm continues doing more hashes to narrow down to just the differences if the file needs to be updated.)
It brings to mind Zipf's law and optimal coding. There's a 'no-free-lunch' theorem waiting to be discovered, I suspect -- or maybe it already exists and I just haven't heard of it. Something along the lines that optimal encoding maximizes the channel capacity, but makes the worst case error exponentially disastrous.
There's a trivial implementation of a halting oracle when memory is a fixed size - run until a state is revisited or the program exits.