Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
NaN Gates and Flip FLOPS (tom7.org)
199 points by tantalor on Nov 15, 2019 | hide | past | favorite | 33 comments


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


"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.


LOL... from "Reverse emulating the NES to give it SUPER POWERS!"[1] (which is insa^Wbizza^Wa very creative hack):

"The cartridge is the dual of the Nintendo."

[1] https://www.youtube.com/watch?v=ar9WRwCiSr0

edit: for a very impressive variation on the SMW "joke" in [1], I recommend this[2] video of TASbot streaming Skype realtime to [2xNES, SNES+SuperGameBoy] through the controller ports.

[2] https://www.youtube.com/watch?v=7CgXvIuZR40


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."


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


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.


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


tom7 videos are pure gold. I particularly liked his chess video: https://www.youtube.com/watch?v=DpXy041BIlA


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.


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


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


All tom7 things are glorious.


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


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


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!


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


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.


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


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



A joke conference with actual papers [1]. If you have some computer science knowledge (and especially with formal educations) you may well enjoy all of the proceedings...

[1] http://sigbovik.org/


a practical joke/fictional conference


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


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


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


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


i don't think easy was the point.


WOW ;o; speechless ;_;


I saw the best minds of my generation...


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.)


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.


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

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


> Future Work

> Design a processor for which this library is relevant.

Putting the cart in front of the horse ;)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: