Daniel Von Fange

Life, Code, and Cool Stuff

Everything Is a File.

There I was a few years ago, doing unholy things emulating on my linux router a particular online game’s flaky game-listing server (it used it’s own binary protocol). I was merrily coding away poring through a packet sniffer dump, and then coding with PHP and TCPSERVER.

Suddenly a concept hit me. Everything in linux is a file. Everything. I was awestruck. Since everything was a file, and every programing language I had seen could read and write files, that meant that I could do anything I wanted to do with any programing language I wanted to use. I had to walk outside and get a fresh air. Because everything was a file, I could do everything with just a bit of coding.

The computer was no longer a mysterious beast, but a trusted inanimate object that I could wield to do my will.

Today, while reading though Eric Raymond’s, The Art of Unix Programming for the first time, I came upon a section entitled, ”What Is the Operating System’s Unifying Idea?”. I eagerly began reading it. Eric said, “The most important of these are probably the “everything is a file” model…”