
NaN Gates and Flip FLOPS - tantalor
http://tom7.org/nand/
======
badrequest
Every one of this guy's SIGBOVIK papers/videos are pure gold. His video about
the printable x86[1] is my favorite engineering video of all time.

^1:
[https://www.youtube.com/watch?v=LA_DrBwkiJA](https://www.youtube.com/watch?v=LA_DrBwkiJA)

~~~
phaedrus
"Now, for good reasons that I will explain later, this paper must contain
8,224 repetitions of the string "~~Q(", another weird flower."

Quotes like this from the paper put me in mind of exposition from a Culture
series (Iain Banks) novel.

------
yoyoJosh
From Tom7's description of the video on YouTube, "Note: Everything in here is
real (IEEE-754), but the target is computer scientists and the troll level is
set to ULTRA."

~~~
baybal2
I instantly remembered my informatics teacher's first maxim: "Not Number Is a
Number"

------
logfromblammo
Is this Cyberneodadaism?

Never mind. Whatever it is, I like it. Especially the part about just
_knowing_ a beautiful, completely random computation is happening, at
1/150000000000 the speed of a so-called "normal" computer.

------
nexuist
The amount of effort that must have gone into this video is insane. What a
unique presentation style - definitely kept me engaged.

------
phillco
tom7 videos are pure gold. I particularly liked his chess video:
[https://www.youtube.com/watch?v=DpXy041BIlA](https://www.youtube.com/watch?v=DpXy041BIlA)

------
lostmsu
TL;DR; you can construct a logical computer, that uses +inf and nan (because
it is fun?) as true/false and some combination of floating point operations on
these as NAND gate.

Then he proceeds to implement it in hardware.

~~~
amelius
Someone should take this to the next level and implement a floating point ALU
with this.

~~~
lostmsu
Sounds like you'd be interested in Greg Egan's "Permutation City", if you
haven't read it yet.

------
hprotagonist
All tom7 things are glorious.

------
amflare
Can someone ELI5 how this differs at all from normal binary? It's the same
thing, just with a different name, right?

~~~
naringas
indeed it is the same thing, I think it is

looks like it's a joke in the vein of turing complete PowerPoint but way more
hardcore

------
peter_d_sherman
That's super interesting, how MAX() coupled with NAN and Infinity creates a
truth table the same as OR, and the multiplication table of NAN and Infinity
creates a truth table the same as AND...

Fascinating, in fact!

------
roywiggins
The video's quick and relentless descent into more and more madness is a
wonder to behold

~~~
myself248
I kept wondering when it would level out, but at some point I realized I was
on a track straight to logical hell and just buckled in for the rest of the
ride.

Most fun headache I've ever had! ∞/10, would watch again.

------
ozzmotik
Harry Q. Bovik would likely weep tears of both pride and joy for everything
Tom7 has ever done

------
euske
I've seen a few of this guy's videos but what the eff is SIGBOVIK??

~~~
EvanAnderson
Here's Dr. Bovik's website:
[http://www.cs.cmu.edu/afs/cs/usr/bovik/www/](http://www.cs.cmu.edu/afs/cs/usr/bovik/www/)

------
m0zg
Dude probably spent a couple of weeks putting this together, if not more. I
wish I had this kind of motivation. :-)

------
Exuma
This guy is so awesome LMAO! The comparison monies were the best part.

------
seiferteric
seems like an fpga would have been much easier to implement this.

~~~
hyperman1
seems like just about any other way would have been much easier, including
just doing the 'computer' emulation on paper.

------
imperialdrive
WOW ;o; speechless ;_;

------
bitslayer
I saw the best minds of my generation...

~~~
nemo1618
I see your point, but this sort of argument depends on the assumption that
productivity/enthusiasm is fungible, which it rarely is. You can't just chain
Tom7 to an office desk and say, "ok, now channel your creative energies
towards optimizing this Excel macro."

(The other prong of the argument is that this type of work is of little value,
which is certainly debatable too.)

~~~
perl4ever
One day I was writing an Excel macro, and I wanted to hash something (I forget
why), and I was looking for a way to compare hashes in a relatively efficient
way, meaning storing them in a built-in VBA data type.

Unfortunately, there seemed to be no convenient data type larger than four
bytes, except for double precision floating point. I couldn't come up with a
way to control all of the bits in a double, and there were no 64-bit integers,
but then I discovered an alternative - there is a 64-bit type called
"Currency", which is basically a fixed point decimal usable for my purpose.

So, I suddenly realized I'd created a currency system based on hashes...in
Visual Basic.

~~~
lifthrasiir
Coincidentally, one of Tom 7's SIGBOVIK 2018 papers [1] actually describes the
emulation of uint8_t with floating point operations and nothing else. A
working library is available [2].

[1] [http://tom7.org/papers/fluint.pdf](http://tom7.org/papers/fluint.pdf)

[2] [https://github.com/ixchow/fluint8](https://github.com/ixchow/fluint8)

~~~
saagarjha
> Future Work

> Design a processor for which this library is relevant.

Putting the cart in front of the horse ;)

