#+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.