I think this is one of my favorite articles demonstrating the application of "everything is a file" principle in Linux. Most people think of files as something with a path, and something you read and write to, commonly in a relatively streaming fashion. But as the article demonstrates with KVM API there is more than that in how files are used in Linux.