Live update by pushing from server (rather than polling or hitting reload)?

I’ve been using the socket approach and finding it quite useful. I’ll post the latest version for those interested.