Featured

About

I am a cute puffer fish living in the bottom of the ocean. I can afford to be cute because a single bite of my guts will land you in the graveyard. To protect you from that fate, say, in case you accidentally try to swallow me, I will puff up and become bigger than your mouth! You’re welcome!

I was bestowed with a container fallen from a ship, that happened to contain an Amazon parcel with a copy of Donald Knuth’s “The Art of Computer Programming“. I became so infatuated with the world of computation that I nibbled my way through the core of an underwater optical cable and got online! I knew those bioluminescence genes would come useful one day!

I don’t have many predators and food here is abundant. That gives me lots of time to read and digest and publish. If you find any utility in my curation, please be kind and get books from my associated links. You know, even though I have free endless plankton here, I need to fund more books and continue digesting. And yes, Amazon knows the exact coordinates of my reef, they are kind enough to drop my parcels at the right place (after removing all plastics, of course).

 

Quantum Physics, a Book-Path for my Self-Study

While perusing human literature, I was hooked to this subject that is considered “spooky”, and that is framed with many warnings against trying to understand it: Quantum Physics. Perhaps my fish-brain is not as powerful as human-brains, so I did have to take my time to choose the right literature to guide me. Here is the sequence of books I am finding most helpful:

  1. QED The Strange Theory of Light and Matter by Richard Feynman. I read it at first and re-read many times over. It covers everything the following books do, but in plain English. Just it isn’t able to make me calculate many things. But it did enable me to think and philosophize about quantum.
  2. Quantum Mechanics for Engineers, by Leon van Dommelen. With this book I really started calculating quantum physics, instead of just talking about it. It is also provided for free on the author’s website, in glorious HTML! It requires not much more than basic calculus, and it teaches all the tricks that other books assumed I already knew. Prof. Dommelen points his demystifying turret to everything others call “spooky” or “strange”, always in a way that makes me able to redo the math myself (there are plenty of exercises with solutions). However, since it is a book for engineers, it just skims over Quantum Field Theory (the stuff that happens when things get really relativistic, like photons disappearing an reappearing), leaving a reference for my third and final step:
  3. Quantum Field Theory in a Nutshell by A. Zee. Make no mistake, this is the real thing. “A Nutshell” here means a 576 pages tome, beautifully formatted and even more beautifully written. It starts by impersonating Feynman as a smart young student poking fun at a professor who’s trying to teach non-relativistic quantum mechanics. The need for QFT becomes clear for the reader then. Different than Dommelen though, this book does require some more advanced mathematical background (e.g. group theory). Anyway, professor Zee shows enthusiasm with QFT and takes his time to explain things, which makes it different than normal textbooks and makes it accessible to me.

Whatever book-path you choose, keep QED besides you. Read and re-read it often, to make sure you remember why you are learning this.

Is an “ignoramibus” the existence of an “ignoramibus”?

No.

Ignoramibus: something that we cannot show to be true or false, and that we will never be able to show.

A: Are there any ignoramibus?
B: If “A” is an ignoramibus, then A is true.
C: But if A is true, it’s not an ignoramibus
D: Therefore A is not an ignoramibus.

Still it doesn’t show us much about the truth or falsity of A.

We have show that decidability *can* be proven possible or impossible. It was already shown by Goedel to be impossible. So no surprise so far.

 

 

Turing’s proof for the halting problem in plain English

There exist a recipe that can read any recipe and immediately tell us if it loops endlessly or if it halts. Call it “recipe halts”.
We construct a recipe called “naughty” that first uses recipe “halts” to check if “naughty” itself halts, and if the answer is “it halts”, it defiantly enters an endless loop, otherwise it defiantly halts.

Given the contradiction, our first assumption must be wrong, that is, there can be no recipe that can decide if recipes halt. Done, “proven”.

Of course there is a huge jump here because “recipe naughty” contains “recipe halts”, and it is feeding itself to “recipe halts”. That means recipe halts will be analyzing itself at some point. “halts” already needed to understand the languague of recipes to do its job, but now that it is analysing itself, it must itself be written in that very same language. That’s why a Turing Machine is necessary to formalize this proof: it is a machine whose instructions are written in the same language as the data fed to the machine.

Is “digital” the same as “binary”?

No. “Binary” is contained in “digital”. Digital pertains to everything done over sets of symbols (the digits), not necessarily two symbols. “Binary” is limited to two symbols (ones and zeros, typically). Something represented with the set of card suits could be called “digital”, but not binary. Canonical Signed Digit is a ternary representation, digital, but not binary.

Of course, we can always “binarize” non-binary digital representations by using combinations of bits to represent more symbols.

PS: This post complies with the Betteridge’s law of headlines!

This 70 years old computer beats the crap out of your PC

It’s called a Turing Machine. Can you endlessly stuff more memory in your PC? No you can’t! Its data is indexed with absolute addresses, meaning that one day you will run out of addresses (even if you have endless cash to buy more memory). “Push it to the cloud!” you may say, but then IPV6 addresses are also finite, no matter how abundant.

These are some of the things a Turing Machine can do that your PC cannot:

  • Multiply arbitrarily long numbers (your PC will run out of RAM at some point);
  • Check if parenthesis are balanced on an arbitrarily long string;
  • Be used in logical proofs about what is computable.

So how does the Turing Machine get to have infinite memory? By not having absolute addresses! Instead, its memory access is relative, we tell the machine “go one memory position further” or “go one memory position backwards” but never tell it to jump anywhere, because there would be no way to tell where that place is.

So you can always add more memory to your Turing Machine, as long as you have cash to buy it and atoms in the observable ocean to build it. The machine itself does not have to grow whenever the memory size grows.

This is not an issue for everyday-life computations where absolute addressing makes things a lot easier for computer architects, compiler developers, and app programmers. But it is an issue when we want to use the idea of a computer in a logical proof. And for that it beats the crap out of PC.

For a more complete and eloquent explanation, don’t hesitate to consult the master: Feynman Lectures on Computation.

A puffer’s favorite tautologies

  • Fishanity will have no problems if we eliminate all fishes;
  • The free market is perfect, and when it is not perfect, it is not the market (it’s an externality);
  • You don’t believe they are fooling you because they are fooling you;
  • Everything will be social if we socialize everything;
  • Society will be perfect if we give unlimited powers to a perfect leader (me, of course).