code: func generateRandomUserPrefix(ctx context.Context) (types.StreamName, error) {
  	username, err := getCurrentUser()
  	if err != nil {
  		log.Warningf(log.SetError(ctx, err), "Failed to lookup current user name.")
  		username = "user"
  	}
  
  	buf := make([]byte, userPrefixBytes)
  	c, err := rand.Read(buf)
  	if err != nil {
  		return "", err
  	}
  	if c != len(buf) {
  		return "", errors.New("main: failed to fill user prefix bytes")
  	}
  
  	streamName, err := types.MakeStreamName("s_", "butler", "users", username, base64.URLEncoding.EncodeToString(buf))
  	if err != nil {
  		return "", fmt.Errorf("failed to generate user prefix: %s", err)
  	}
  	return streamName, nil
  }
docs: // generateRandomPrefix generates a new log prefix in the "user" space.