Doing the Impossible
heteroskedasticblog.wordpress.com
heteroskedasticblog.wordpress.com
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.
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.