published on ruby gems as stream-ruby