code: func setNodeName() {
  	// Implementation specific optimization. Pre populate the counter with
  	// a random seed to reduce the risk of collision.
  	clockCorrect = uint16(math_rand.Int31() & 0xffff)
  
  	// Get a mac address from an interface on this machine.
  	interfaces, _ := net.Interfaces()
  	if interfaces != nil {
  		for _, i := range interfaces {
  			if len(i.HardwareAddr) == UUIDHardwareByteLen {
  				nodeName = i.HardwareAddr
  				return
  			}
  		}
  	}
  
  	// Randomly generated node names should always have the LSB of the first
  	// byte set to 1 as per the IEEE.
  	nodeName = make([]byte, UUIDHardwareByteLen)
  	io.ReadFull(crypto_rand.Reader, nodeName)
  	nodeName[0] = nodeName[0] | 0x01
  }
docs: // Sets the "node name" value that will be used for the life of this process.
  //
  // This is currently not completely safe as it will fall back to using random
  // data if no mac address can be found, and if two machines fall into that
  // state it is possible for them to generate colliding UUIDs.