Add a rough port of pulse.

This has problems due to the go build system.