#+TITLE: Very short voice chat 'program' you mostly already have
#+AUTHOR: Screwtape
I'm not going to 'go on Discord' with you. Let's realize that not only are Dis
cord doing the worst things in the universe to their users, but their program
sucks and isn't necessary. Nor Microsoft Skype, nor Google Chat, nor Zoom nor
Slack; these are all bizarre and horrible scams that are not even done well- a
dignity you think they could afford their victims with all their government
backings.
We're doing the whole thing.
* All the prep work on two machines (which does kind of suck)
  The ssh target can be on any machine and c/should be a default user. We will
  use ssh-fuse to mount a directory through ssh using 'Fileystem-in-USErspace'
  save an audio file there on one computer and play it on another.
  
  I'm using openbsd, adapt to whatever the wav builtin and package manager for
  you are. The preparatory activities:
#+begin_src sh
  ## probably as root.
  mkdir -p /mnt/voice

  pkg_add sshfs-fuse

  sshfs -o allow_other,default_permissions,IdentityFile=/path/to/.ssh/id_rsa \
     user@address:/path/to/voice/ /mnt/voice/
#+end_src
  We have now mounted the same directory on two computers. If we save an audio
  file here on one machine, we can simply open it on the other.
  Because sshfs is a bit quirky (more on that below) whomsoever the host is sh
  ould make a subfolder to store the files.
* Sender machine
#+begin_src sh
  aucat -o /mnt/voice/wavs/voice.wav
#+end_src
* Receiver machine
#+begin_src sh
  aucat -i /mnt/voice/wavs/voice.wav
#+end_src
* This is everything.
  Just record and send wav files, sequentially playing them. With sshfs-fuse,
  that's the same as saving and playing wav files on your pc. You would repeat
  this (called a "stream") for a continuous call, and both save and play files
  for a mutual call.
  A shell script can replace Zoom, or if you are fancy, the code of aucat and
  sshfs* is open source and not complicated. (* kind of). Further, you don't
  need an untrustworthy middle man host.
* The bad thing is different to what you might expect
  Trusting someone enough to have mutual ssh access to a machine is quite a lot
  of trust. Think about the trust you place in Discord. Once, and before it
  required as much legal paperwork as it does now, I connected to my friend's
  Discord in a sandbox. I got a friend request from what the internet uncovered
  as an established Discord Phone Sex business.