Wednesday, May 29, 2013

Unix-like pipes in Go, from labix.org

pipe - Unix-like pipelines for Go

Looks interesting.

This pipe Go package, by Gustavo Niemeyer of labix.org, allows you to programmatically set up and run a pipeline of processes in Go, and to get the pipe's standard output and standard error, either combined, or separately.

The page has some examples of creating pipelines using the package.

The approach he uses is more like the original Unix pipes concept:

http://en.wikipedia.org/wiki/Pipeline_(Unix)

in that it creates pipelines out of multiple processes, whereas the approach I took with my Python pipe_controller module was different: instead of multiple processes, I used multiple Python functions in a single process:

http://www.google.com/?q=jugad2+pipe_controller

(See the first few hits from the above search for pipe_controller.)

I recently came across some interesting work by Gustavo and others, involving porting Canonical's Juju devops tool from Python to Go.

Relevant links for the Juju port:

https://plus.google.com/app/basic/stream/z123eroqbu20sh5hi04cebzbpyzxznr4ru00k

https://groups.google.com/forum/m/#!topic/golang-nuts/jLnMsUbYwrQ

http://m.youtube.com/watch?v=kKQLhGZVN4A&desktop_uri=%2Fwatch%3Fv%3DkKQLhGZVN4A

https://lists.ubuntu.com/archives/juju-dev/2012-November/000281.html

Interestingly, IIRC, based on some stories that I read a while ago, the word juju is related to magic in some West  African language ...

http://en.m.wikipedia.org/wiki/Juju

And that may be why Juju scripts are called charms:

https://juju.ubuntu.com/

P.S. I wonder what Devops_Borat would have to say about Juju (and about Python and Go too :)

https://mobile.twitter.com/devops_borat

- Vasudev Ram
dancingbison.com

No comments: