code: func writeBlob(data []byte, buf *bytes.Buffer) (int, error) {
  	// Add the size of the blob
  	dlen := int32(len(data))
  	if err := binary.Write(buf, binary.BigEndian, dlen); err != nil {
  		return 0, err
  	}
  
  	// Write the data
  	if _, err := buf.Write(data); err != nil {
  		return 0, nil
  	}
  
  	// Add padding bytes if necessary
  	numPadBytes := padBytesNeeded(len(data))
  	if numPadBytes > 0 {
  		padBytes := make([]byte, numPadBytes)
  		n, err := buf.Write(padBytes)
  		if err != nil {
  			return 0, err
  		}
  		numPadBytes = n
  	}
  
  	return 4 + len(data) + numPadBytes, nil
  }
docs: // writeBlob writes the data byte array as an OSC blob into buff. If the length
  // of data isn't 32-bit aligned, padding bytes will be added.