tl;dr Node streams are great, except for all the ways in which they're terrible. A new Stream implementation is coming in 0.10, that has gotten the nickname "streams2". Readable streams have a read() method that returns a buffer or null. (More documentation included below.) 'data' events, pause(), and resume() will still work as before (except that they'll actually work how you'd expect). Old prog