Hacker News new | past | comments | ask | show | jobs | submit login
/dev/zero has infinite electrons and /dev/null has an infinite appetite for them (linusakesson.net)
250 points by sgt on June 4, 2012 | hide | past | favorite | 23 comments



This is a typical Linus Akesson project. Highly eccentric, potentially useless for practical applications, and extremely intelligent. I certainly approve.


If someone is not familiar with the works of Mr. Åkesson, I suggest you check out his YouTube videos: http://www.youtube.com/user/lftkryo/videos

He likes playing Chiptune songs with eccentric DIY instruments.


My bad - Åkesson, not Akesson! I have one in my iTunes that sounds like regular piano music at first, then these chiptune sounds sneak in and strangely enough it all sounds harmonic and rather pleasant to listen to.


I can't help feeling that /dev/zero produces neutrons rather than electrons.


I see your point, but something producing a stream of neutrons sounds a bit like a self-sustaining nuclear reaction which might be tricky to manage as a device node :)


"So there it is. We've been able to construct gates and flip flops using nothing but UNIX pipes and our small MOSFET tool. We may now proceed to design any digital circuits we want: Processors, memories, entire computers... The world is ours to conquer!

As long as we don't run out of PIDs."


...or memory. Each logical zero is taking up 64k of kernel memory.


This reminds me of a problem we used to debate in college; on a perfectly efficient machine, would `cat /dev/random > /dev/null` violate the second law of thermodynamics?


If you're violating the laws of physics in your assumption ("on a perfectly efficient machine") you can't expect them to hold for your hypothesis.


Who needs VHDL when you have sh?


I laughed when I read the title, this was a fun read


Tangential question: why does /dev/null have an md5sum but /dev/zero doesn't?


i'm guessing because /dev/zero never stops


"If there is a NAND, people will build computers. I've seen that effect with Minecraft. But using unix pipes is just awesome, too :D" (first comment from post)


Yes, it's true, you can build a whole computer from NAND gates

Or NOR gates like this one: http://en.wikipedia.org/wiki/Apollo_Guidance_Computer#Design


Wouldn't it be more accurate to say that you need NAND gates and a clock? Identifying a minimal set of primitive components necessary to implement a self-timed computer would be a more interesting problem.


You can build your clock using, guess what, NAND gates, one capacitor and one resistor (not a great clock source, still).

You also need a power source, so you can say the only digital component you need are NAND gates.


TECS (http://www1.idc.ac.il/tecs/) is a great book that leads you through that entire process, too!


Another great book along these lines is CODE, by charles petzold:

http://www.charlespetzold.com/code/

He starts with electricity and builds all the way up to modern computers. It isn't a hands on guide, but it is a very entertaining read.


This is truly a great book and I can't recommend it enough. I've been working through the projects for the past couple weeks.

As the author states, it can be hard for CS students to see the forest for the trees among all the computing topics. I know that while I was learning these topics individually I never took the time to step back and really connect them.

With TECS you get to build each layer and define a an interface between them from logic gates to virtual machines, to compilers, to operating systems, etc. In the end you have a fully functioning computer that you have built from scratch. By removing all the "magic" from the system I feel like I have a much deeper understanding of these topics than I did before.


Isn't an FPGA basically a bunch of NAND or NOR gates whose connections can be arranged as necessary?


No, it's a bunch of registers to hold state and look-up tables that map to your logic. (http://en.wikipedia.org/wiki/Karnaugh_map)


Registers can be made by using a bunch of flip-flops, which are again made using NAND/NOR.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

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

Search: