• Re: beeps and other sounds

    From Greg Wooledge@21:1/5 to Larry Martell on Sat Oct 19 00:40:01 2024
    On Fri, Oct 18, 2024 at 15:05:31 -0700, Larry Martell wrote:
    On Fri, Oct 18, 2024 at 3:00 PM Arbol One <ArbolOne@hotmail.ca> wrote:

    Hello everyone.

    Could anyone tell me how to make Debian 12-gnome-terminal make a beep sound after completing a shell script.

    Way back in the day I used to do this:
    echo '^G'

    The more-portable version of this is printf '\a'.

    The issue, though, is that what the terminal *does* with this \007
    byte depends on a truly formidable number of different settings and
    layers. The terminal may cause the system to beep, or it may flash,
    or it may do nothing at all.

    Arbol One could try printf '\a' and see what happens. If they get a
    beep, then all is well, and they can use this however they see fit.
    But if it doesn't beep, then trying to diagnose *why* could be tricky.

    If diagnosis/modification is needed, they might start with "xset q"
    and see whether the bell is enabled in that particular layer. If
    not, xset can change that setting. If the bell is enabled in xset but
    still not audible, then I don't know what the next layer to check is.
    (GNOME? ALSA? Pulse audio? Pipewire?)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From George at Clug@21:1/5 to All on Sat Oct 19 04:30:01 2024
    On Saturday, 19-10-2024 at 13:08 Timothy M Butterworth wrote:
    On Fri, Oct 18, 2024 at 7:10 PM Arbol One <ArbolOne@hotmail.ca> wrote:

    Hello everyone.

    Could anyone tell me how to make Debian 12-gnome-terminal make a beep
    sound after completing a shell script.
    Thanks in advance.

    I googled around and found:


    - tput bel: This command uses the tput utility to send the "bell"
    control character to the terminal.
    - echo -e "\a": The -e option enables interpretation of backslash
    escapes, and \a represents the bell character.

    This works on my computer.

    I guess that is because I have a small speaker attached to the motherboard speaker port so I can hear POST alerts. The sound did not go through the PC sound device (like my HDMI card).

    My more modern laptop does not beep when using: echo -e "\a"

    I think many modern motherboards have stopped including the POST speaker port and speaker. How many people remember when this speaker port was the only sound system in their computer, lol.

    https://www.computerhope.com/beep.htm


    - printf "\a": The printf command works similarly to echo -e "\a".

    I tested them with no prevail.



    --
    *ArbolOne ™*
    Using Fire Fox and Thunderbird.
    ArbolOne is composed of students and volunteers dedicated to providing
    free services to charitable organizations.
    ArbolOne's development on Java, PostgreSQL, HTML and Jakarta EE is in progress [ í ]



    --
    ⢀⣴⠾⠻⢶⣦⠀
    ⣾⠁⢠⠒⠀⣿⡁ Debian - The universal operating system ⢿⡄⠘⠷⠚⠋⠀ https://www.debian.org/
    ⠈⠳⣄⠀⠀


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From George at Clug@21:1/5 to All on Sat Oct 19 05:00:01 2024
    On Saturday, 19-10-2024 at 13:36 Timothy M Butterworth wrote:
    On Fri, Oct 18, 2024 at 7:10 PM Arbol One <ArbolOne@hotmail.ca> wrote:

    Hello everyone.

    Could anyone tell me how to make Debian 12-gnome-terminal make a beep
    sound after completing a shell script.
    Thanks in advance.


    Instead of a plain beep you can play an mp3 instead.

    sudo apt install alsaplayer-text

    alsaplayer "/Path/To/Mp3"

    I tested this with user account:

    $ aplay /usr/share/sounds/purple/alert.wav

    But did not work for root account (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)





    This works on my system.



    --
    *ArbolOne ™*
    Using Fire Fox and Thunderbird.
    ArbolOne is composed of students and volunteers dedicated to providing
    free services to charitable organizations.
    ArbolOne's development on Java, PostgreSQL, HTML and Jakarta EE is in progress [ í ]



    --
    ⢀⣴⠾⠻⢶⣦⠀
    ⣾⠁⢠⠒⠀⣿⡁ Debian - The universal operating system ⢿⡄⠘⠷⠚⠋⠀ https://www.debian.org/
    ⠈⠳⣄⠀⠀


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From George at Clug@21:1/5 to All on Sat Oct 19 06:10:01 2024
    On Saturday, 19-10-2024 at 14:20 Greg Wooledge wrote:
    On Sat, Oct 19, 2024 at 13:58:56 +1100, George at Clug wrote:
    When logged in as root, the following worked for me using a local
    user account (e.g. not the root user):

    # runuser --user notroot -- bash -lic 'aplay
    /usr/share/sounds/purple/alert.wav'

    Huh, interesting.  That --user option is NOT in the man
    page.  I'm
    guessing it's a synonym for -u.  (I verified that it actually does
    work on Debian 12.  It's just not documented.)

    The bash -lic '...' wrapper seems like overkill to me,
    though.  You
    don't need a login shell (-l) or an interactive shell (-i) to run
    that aplay command.

    I also wonder whether runuser is actually needed there, or whether
    setpriv would be sufficient.  It might depend on whether "notroot"
    is
    already logged in to establish a "seat" or whatever it's called with
    access to the audio devices.  (That's another thing I'd want to
    test,
    if this were my project -- does "notroot" need to be logged in for
    this to work?)



    I was curious too:

    # runuser --user notloggedinnotrootuser -- bash -lic 'aplay /usr/share/sounds/sound-icons/prompt.wav'

    aplay: main:831: audio open error: Host is down

    I guess you have to be logged in as yourself, using your own user
    account, then open a terminal and su in as root. 


    My account is not in sudoers so I have not tested this using "sudo
    -i", or "sudo su".



    And I found that this worked even without the -l and -i

    # runuser --user loggedinnotrootuser -- bash -c 'aplay /usr/share/sounds/sound-icons/prompt.wav'


    I was not able get "# sudo -u"  to work in place of using runuser.



    So much more testing one could do.





    <html>
    <head>
    <style type="text/css">
    body,p,td,div,span{
    font-size:13px; font-family:Arial, Helvetica, sans-serif;
    };
    body p{
    margin:0px;
    }
    </style>
    </head>
    <body>On Saturday, 19-10-2024 at 14:20 Greg Wooledge wrote:<br>
    &gt; On Sat, Oct 19, 2024 at 13:58:56 +1100, George at Clug wrote:<br>
    &gt; &gt; When logged in as root, the following worked for me using a local user account (e.g. not the root user):<br>
    &gt; &gt; <br>
    &gt; &gt; # runuser --user notroot -- bash -lic 'aplay /usr/share/sounds/purple/alert.wav'<br>
    &gt; <br>
    &gt; Huh, interesting.&nbsp;&nbsp;That --user option is NOT in the man page.&nbsp;&nbsp;I'm<br>
    &gt; guessing it's a synonym for -u.&nbsp;&nbsp;(I verified that it actually does<br>
    &gt; work on Debian 12.&nbsp;&nbsp;It's just not documented.)<br>
    &gt; <br>
    &gt; The bash -lic '...' wrapper seems like overkill to me, though.&nbsp;&nbsp;You<br>
    &gt; don't need a login shell (-l) or an interactive shell (-i) to run<br>
    &gt; that aplay command.<br>
    &gt; <br>
    &gt; I also wonder whether runuser is actually needed there, or whether<br> &gt; setpriv would be sufficient.&nbsp;&nbsp;It might depend on whether "notroot" is<br>
    &gt; already logged in to establish a "seat" or whatever it's called with<br> &gt; access to the audio devices.&nbsp;&nbsp;(That's another thing I'd want to test,<br>
    &gt; if this were my project -- does "notroot" need to be logged in for<br> &gt; this to work?)<br>
    &gt; <br><div><br></div><div>I was curious too:<br><br><span style="font-family:monospace"><span style="color:#000000;background-color:#ffffff;"># runuser --user notloggedinnotrootuser -- bash -lic 'aplay /usr/share/sounds/sound-icons/prompt.wav'</span><
    </span></div>
    aplay: main:831: audio open error: Host is down<br>
    <br><div>I guess you have to be logged in as yourself, using your own user account, then open a terminal and su in as root.&nbsp;</div><div><br></div><div>My account is not in sudoers so I have not tested this using "sudo -i", or "sudo su". <br></div><
    <br></div><div>And I found that this worked even without the -l and -i <br></div><div><span style="font-family:monospace"><span style="color:#000000;background-color:#ffffff;"># runuser --user loggedinnotrootuser -- bash -c 'aplay /usr/share/sounds/
    sound-icons/prompt.wav'</span></span></div><div><br></div><div>I was not able get "# sudo -u"&nbsp; to work in place of using runuser.<br></div><div><br></div><div>So much more testing one could do.<br></div><div><br></div>
    &gt;</body></html>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Greg Wooledge@21:1/5 to George at Clug on Sat Oct 19 05:30:01 2024
    On Sat, Oct 19, 2024 at 13:58:56 +1100, George at Clug wrote:
    When logged in as root, the following worked for me using a local user account (e.g. not the root user):

    # runuser --user notroot -- bash -lic 'aplay /usr/share/sounds/purple/alert.wav'

    Huh, interesting. That --user option is NOT in the man page. I'm
    guessing it's a synonym for -u. (I verified that it actually does
    work on Debian 12. It's just not documented.)

    The bash -lic '...' wrapper seems like overkill to me, though. You
    don't need a login shell (-l) or an interactive shell (-i) to run
    that aplay command.

    I also wonder whether runuser is actually needed there, or whether
    setpriv would be sufficient. It might depend on whether "notroot" is
    already logged in to establish a "seat" or whatever it's called with
    access to the audio devices. (That's another thing I'd want to test,
    if this were my project -- does "notroot" need to be logged in for
    this to work?)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Greg Wooledge@21:1/5 to George at Clug on Sat Oct 19 15:20:01 2024
    On Sat, Oct 19, 2024 at 15:02:56 +1100, George at Clug wrote:
    On Saturday, 19-10-2024 at 14:20 Greg Wooledge wrote:
    I also wonder whether runuser is actually needed there, or whether
    setpriv would be sufficient.It might depend on whether "notroot" is already logged in to establish a "seat" or whatever it's called with
    access to the audio devices.(That's another thing I'd want to test,
    if this were my project -- does "notroot" need to be logged in for
    this to work?)

    I was curious too:

    # runuser --user notloggedinnotrootuser -- bash -lic 'aplay /usr/share/sounds/sound-icons/prompt.wav'

    aplay: main:831: audio open error: Host is down

    I guess you have to be logged in as yourself, using your own user
    account, then open a terminal and su in as root.

    Nice to know. I'm not too surprised by this result.

    And I found that this worked even without the -l and -i

    # runuser --user loggedinnotrootuser -- bash -c 'aplay /usr/share/sounds/sound-icons/prompt.wav'

    You shouldn't even need the bash -c. Bash is not playing any critical
    role here at all.

    I was not able get "# sudo -u" to work in place of using runuser.

    Fascinating. So then setpriv definitely wouldn't work either.

    So much more testing one could do.

    Indeed. So, if I understand correctly, the case that failed was:

    * Logout as yourself.
    * Login as root.
    * runuser --user yourself -- aplay sound

    And the case that worked was:

    * Login as yourself.
    * su
    * runuser --user yourself -- aplay sound

    I'm wondering whether the shell created by su has special access
    privileges inherited from your login session. I'd be curious whether
    this works:

    * Login as yourself.
    * Switch to a Linux virtual terminal (e.g. Crtl-Alt-F2)
    * Login as root on the VT
    * runuser --user yourself -- aplay sound

    If that fails, then a lot of roads are closed off. You can't play
    sounds from a root crontab job, etc.

    My understanding of PAM and systemd seats and all the other related
    stuff is still woefully incomplete.

    .............

    Now let's do some testing on my own system. Debian 12.

    Logged in as myself (on tty1, then startx, currently in fvwm), in an
    opened rxvt-unicode terminal window:

    hobbit:~$ aplay /usr/share/sounds/alsa/Front_Center.wav
    Playing WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono

    That played successfully. Next:

    hobbit:~$ su
    Password:
    root@hobbit:/home/greg# aplay /usr/share/sounds/alsa/Front_Center.wav XDG_RUNTIME_DIR (/run/user/1000) is not owned by us (uid 0), but by uid 1000! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)
    Playing WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono

    That *also* played successfully, despite the warning message. Next:


    t@hobbit:/home/greg# runuser -u greg -- aplay /usr/share/sounds/alsa/Front_Center.wav
    Playing WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono


    That also played successfully, and had no warning. Next:


    root@hobbit:~# tty
    /dev/tty2
    root@hobbit:~# aplay /usr/share/sounds/alsa/Front_Center.wav
    Playing WAVE ....

    After logging in on TTY 2 (Ctrl-Alt-F2), that also played successfully,
    with no warning. Perhaps the login session as root establishes its own PulseAudio or ALSA or ... I really have no idea.


    Next:


    root@hobbit:/home/greg# apt-get install at
    ...
    root@hobbit:/home/greg# at now + 1 minute
    warning: commands will be executed using /bin/sh
    at Sat Oct 19 09:07:00 2024
    aplay /usr/share/sounds/alsa/Front_Center.wav
    <EOT>
    job 1 at Sat Oct 19 09:07:00 2024


    After a minute, that *also* played. I got this familiar warning in email:


    XDG_RUNTIME_DIR (/run/user/1000) is not owned by us (uid 0), but by uid 1000! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)

    Playing WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono


    This tells me the at job inherited something from the su session, which
    in turn inherited something from my login session as greg. At the very
    least, it's inheriting XDG_RUNTIME_DIR as shown in the warning message.
    Perhaps it's getting all of these:


    root@hobbit:/home/greg# env | grep XDG
    XDG_SEAT=seat0
    XDG_SESSION_TYPE=tty
    XDG_SESSION_CLASS=user
    XDG_VTNR=1
    XDG_SESSION_ID=1
    XDG_RUNTIME_DIR=/run/user/1000


    Next test:


    root@hobbit:/home/greg#
    exit
    hobbit:~$ su -
    Password:
    root@hobbit:~# env | grep XDG
    root@hobbit:~#


    With a (partly? fully?) scrubbed environment, let's see what happens:


    root@hobbit:~# aplay /usr/share/sounds/alsa/Front_Center.wav
    Playing WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono


    That played, with no warning. Hmm, does "su -" establish its own seat?
    It's not present in the environment.


    root@hobbit:~# env | grep seat
    root@hobbit:~#


    So, in conclusion, I really don't understand *nearly* enough about what's happening here.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From songbird@21:1/5 to Greg Wooledge on Sat Oct 19 19:20:02 2024
    Greg Wooledge wrote:
    On Fri, Oct 18, 2024 at 15:05:31 -0700, Larry Martell wrote:
    On Fri, Oct 18, 2024 at 3:00 PM Arbol One <ArbolOne@hotmail.ca> wrote:

    Hello everyone.

    Could anyone tell me how to make Debian 12-gnome-terminal make a beep sound after completing a shell script.

    Way back in the day I used to do this:
    echo '^G'

    The more-portable version of this is printf '\a'.

    The issue, though, is that what the terminal *does* with this \007
    byte depends on a truly formidable number of different settings and
    layers. The terminal may cause the system to beep, or it may flash,
    or it may do nothing at all.

    Arbol One could try printf '\a' and see what happens. If they get a
    beep, then all is well, and they can use this however they see fit.
    But if it doesn't beep, then trying to diagnose *why* could be tricky.

    If diagnosis/modification is needed, they might start with "xset q"
    and see whether the bell is enabled in that particular layer. If
    not, xset can change that setting. If the bell is enabled in xset but
    still not audible, then I don't know what the next layer to check is.
    (GNOME? ALSA? Pulse audio? Pipewire?)

    also making sure the speaker is enabled in the bios,
    or the terminal itself or the desktop settings.

    i happen to be someone who instantly turns off beeps
    in any desktop i normally use, i've sometimes had to go
    in and remove speakers or put switches on wires if i
    could not get the speaker out.

    working very often through the night and having
    roommates already PO'd because the keyboard could not
    be silent. the best i could do was type with my hands
    under blankets.


    songbird

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From fxkl47BF@protonmail.com@21:1/5 to Arbol One on Sat Oct 19 21:30:01 2024
    On Sat, 19 Oct 2024, Arbol One wrote:


    Try this, it's so much fun!!

    sleep 1; spd-say I; sleep 0.5; spd-say am; sleep 1; spd-say finished


    i've never been able to get speech dispatcher to say anything understandable

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From eben@gmx.us@21:1/5 to Raj Kiran Grandhi on Tue Oct 22 17:10:01 2024
    On 10/18/24 21:14, Raj Kiran Grandhi wrote:
    On Sat, Oct 19, 2024 at 4:03 AM Greg Wooledge <greg@wooledge.org> wrote:

    The terminal may cause the system to beep, or it may flash,
    or it may do nothing at all.

    My configuration of gnome-terminal makes an audible beep, but it's not the
    same pitch as the actual console, something like a major 7th lower.

    Another issue is that some newer motherboards might not even have the
    beeper physically installed.

    There is that. Fortunately you can buy them cheaply. Well, tiny piezo
    things that do the job. I bought (half of) a 10-pack, and then promptly misplaced it. I wrote a startup script for a headless machine that plays a tune so I'd know when it's ready, but now that I've upgraded to a mobo
    without a speaker it's rather useless.

    Frankly I rarely use the motherboard beeper. I find that if you have a
    sound card much more information can be transmitted through speech, so
    espeak FTW.

    --
    Frankly, your argument wouldn't float were the sea composed of mercury.
    -- Biff

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Felix Miata@21:1/5 to All on Wed Oct 23 05:50:01 2024
    Will Mengarini composed on 2024-10-22 20:24 (UTC-0700):

    * eben@gmx.us [24-10/22=Tue 11:06 -0400]:

    Raj Kiran Grandhi wrote:

    Another issue is that some newer motherboards might not even have the
    beeper physically installed.

    There is that. Fortunately you can buy them
    cheaply. Well, tiny piezo things that do the job.

    This is something I really need. What search string should I use to
    find them? My mobo is a Gigabyte B450M DS3H WIFI (rev 1.5), manual
    at <https://www.gigabyte.com/Motherboard/B450M-DS3H-WIFI-rev-15>.

    <https://www.mouser.com/ProductDetail/TDK/SD1209T3-A1?qs=5X3a0IUQB3Zk86ibPJtw1A%3D%3D>
    looks like one such I've seen OEM on various motherboards.
    --
    Evolution as taught in public schools is, like religion,
    based on faith, not based on science.

    Team OS/2 ** Reg. Linux User #211409 ** a11y rocks!

    Felix Miata

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Will Mengarini@21:1/5 to All on Wed Oct 23 05:30:01 2024
    * eben@gmx.us <eben@gmx.us> [24-10/22=Tue 11:06 -0400]:
    On 10/18/24 21:14, Raj Kiran Grandhi wrote:
    Another issue is that some newer motherboards might not even have the
    beeper physically installed.

    There is that. Fortunately you can buy them
    cheaply. Well, tiny piezo things that do the job.

    This is something I really need. What search string should I use to
    find them? My mobo is a Gigabyte B450M DS3H WIFI (rev 1.5), manual
    at <https://www.gigabyte.com/Motherboard/B450M-DS3H-WIFI-rev-15>.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From George at Clug@21:1/5 to All on Wed Oct 23 10:50:01 2024
    On Wednesday, 23-10-2024 at 14:24 Will Mengarini wrote:
    * eben@gmx.us <eben@gmx.us> [24-10/22=Tue 11:06 -0400]:
    On 10/18/24 21:14, Raj Kiran Grandhi wrote:
    Another issue is that some newer motherboards might not even have the
    beeper physically installed.

    There is that. Fortunately you can buy them
    cheaply. Well, tiny piezo things that do the job.

    This is something I really need. What search string should I use to
    find them? My mobo is a Gigabyte B450M DS3H WIFI (rev 1.5), manual
    at <https://www.gigabyte.com/Motherboard/B450M-DS3H-WIFI-rev-15>.

    Reading the manual:

    https://www.gigabyte.com/Motherboard/B450M-DS3H-WIFI-rev-15/support#support-manual
    https://download.gigabyte.com/FileList/Manual/mb_manual_b450m-ds3h-wifi-v3_e_1502.pdf

    12) F_PANEL (Front Panel Header)
    Connect the power switch, reset switch, speaker, chassis intrusion switch/sensor and system status indicator
    on the chassis to this header according to the pin assignments below. Note the positive and negative pins
    before connecting the cables

    PEAK (Speaker):
    Connects to the speaker on the chassis front panel. The system reports system startup status by issuing
    a beep code. One single short beep will be heard if no problem is detected at system startup.

    I used google search with "piezo pc speaker"

    And found:

    https://www.techbuy.com.au/p/206271/MOTHERBOARD_MOTHERBOARDACCESORIES/Generic/MB-PIEZO.asp
    Generic Motherboard / Case Piezo Speaker (used to hear POST beep codes)

    https://www.ebay.com.au/itm/266539243726?chn=ps&_ul=AU&norover=1&mkevt=1&mkrid=705-139619-5960-0&mkcid=2&mkscid=101&itemid=266539243726&targetid=2370955762951&device=c&mktype=pla&googleloc=9071971&poi=&campaignid=21766114506&mkgroupid=168279963077&
    rlsatarget=pla-2370955762951&abcId=10047372&merchantid=7364522&gad_source=1 BIOS Motherboard POST Speaker Sounder Buzzer Buzzer Speaker ref 0200


    George.





    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From eben@gmx.us@21:1/5 to Will Mengarini on Wed Oct 23 15:40:02 2024
    On 10/22/24 23:24, Will Mengarini wrote:
    * eben@gmx.us <eben@gmx.us> [24-10/22=Tue 11:06 -0400]:
    On 10/18/24 21:14, Raj Kiran Grandhi wrote:
    Another issue is that some newer motherboards might not even have the
    beeper physically installed.

    There is that. Fortunately you can buy them
    cheaply. Well, tiny piezo things that do the job.

    This is something I really need. What search string should I use to
    find them? My mobo is a Gigabyte B450M DS3H WIFI (rev 1.5), manual
    at <https://www.gigabyte.com/Motherboard/B450M-DS3H-WIFI-rev-15>.

    The search term |piezo pc speaker| also works on ebay. You definitely want one/some with leads and a connector, like these:

    https://www.ebay.com/itm/375589405096

    At $1.20 each, a 10-pack may be worth it if you have geeky friends. And it doesn't matter if the seller specifies a different computer in the item description.

    --
    The first thing we do, let's kill all the lawyers.
    -- Dick the Butcher, Henry VI, Part 2, act IV, scene 2, line 75

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)