From: Bulent Murtezaoglu
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <87pu4jplxw.fsf@nkapi.internal>
Ok, if you have to have it that way:

Have the cgi communicate to you though a fifo in your web directory tree
(man mkfifo) use the presence of the fifo as an indication that you are 
logged on -- so the cgi says you're not on if the fifo is not there.
If the fifo is present have the cgi write a one line message into it.

Asd a client you can use a shell script that creates a fifo and calls read 
on it in a infinite loop.  This read will block waiting for input.  Put this
script in the background.  Once the input comes it can write to is stderror 
which will be your terminal.  Sth like (bash) echo -e "\a $inputfromfifo"
should give you the beep and the message. 

cheers,

BM

From: ·······@Yahoo.Com
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <ffdf399b.0201261313.11fd4d82@posting.google.com>
Bulent Murtezaoglu <··@acm.org> wrote in message news:<··············@nkapi.internal>...
> Have the cgi communicate to you though a fifo in your web directory tree
> (man mkfifo) use the presence of the fifo as an indication that you are
> logged on -- so the cgi says you're not on if the fifo is not there.
> If the fifo is present have the cgi write a one line message into it.

I did "man mkfifo" and got calling parameters etc., but it didn't tell me
what a fifo is in the first place of conceptually how to use it. I know
"fifo" normally means "first in first out", which is a queue, as opposed
to "last in first out" which is a stack. But other than that general idea
I don't know how a unix fifo is supposed to be used. Your subsequent
explanation:
> Asd a client you can use a shell script that creates a fifo and calls read
> on it in a infinite loop.  This read will block waiting for input.
:gives me a little bit more idea, but not enough that I understand really.
Where can I find online documentation explaining, from a basic beginner level,
but not a dummy level, just for an intelligent person who has never heard
of this unix feature until today?

From your explanation, it seems to be like a Unix pipe, in that one process
can stuff data into it, and the other can check if there's data available
and read some if there is? The major difference seems to be that ANYONE
can write to a fifo, whereas only one process that owns the input end of
a pipe can write to it, right?? Just guessing based on what you said, trying
to make it meaningful. If my understanding so-far is correct, how do I
protect my fifo-pipelike-thingy so that only somebody knowing my WebUser
password can write to it, not just anyone anywhere on my ISP?
Like I said, please point me to online documentation that educates me
on such matters.

> Put this
> script in the background.  Once the input comes it can write to is stderror
> which will be your terminal.  Sth like (bash) echo -e "\a $inputfromfifo"
> should give you the beep and the message.

Given that CMUCL is doing the checking for new e-mail, and will be checking
for new fifo or whatever else I implement, I'll just have it do the
output directly using SYSTEM:BEEP and FORMAT rather than having bash
do anything (if bash is even available here). Note that when I'm actively
running a process-transaction cycle, there's a particular place at the
end of each transation when it's natural to check for incoming requests
before deciding whether to cycle the next time through the loop or exit
the loop to deal with the new e-mail or other urgent matter. So my LISP
program at that time checks for new e-mail, and would check for new fifo
data, once each time through the loop at the more/exit decision point.
But when I'm doing something not in LISP, then I'd have LISP run the
(loop (check-for-mail) (sleep 60)) in background. That way I
have to write all the code for checking for e-mail or fifo-data just
once, and call it either once per major transaction loop or once per minute
depending on my current activity, but all the complicated code is
written just once to be called exactly the same whether from the
transaction-loop or from the sleep-loop.
From: Bulent Murtezaoglu
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <87k7u4n64a.fsf@nkapi.internal>
>>>>> "rem642b" == rem642b  <·······@Yahoo.Com> writes:
[...]
    rem642b> :gives me a little bit more idea, but not enough that I
    rem642b> understand really.  Where can I find online documentation
    rem642b> explaining, from a basic beginner level, but not a dummy
    rem642b> level, just for an intelligent person who has never heard
    rem642b> of this unix feature until today?

I don't know what's available on-line.  Stevens' books (esp the Adv. Unix
Programming one) cover this nicely.

    rem642b> From your explanation, it seems to be like a Unix pipe,
    rem642b> in that one process can stuff data into it, and the other
    rem642b> can check if there's data available and read some if
    rem642b> there is? 

Yes, except that it is named and lives in the filesystem.  Why is this 
relevant?  Because you can have _unrelated_ proccesses communicate
through it given that they know its name and have enough permissons.

    rem642b> [...] Just
    rem642b> guessing based on what you said, trying to make it
    rem642b> meaningful. If my understanding so-far is correct, how do
    rem642b> I protect my fifo-pipelike-thingy so that only somebody
    rem642b> knowing my WebUser password can write to it, not just
    rem642b> anyone anywhere on my ISP?  Like I said, please point me
    rem642b> to online documentation that educates me on such matters.

Since the fifo lives in the filesystem chmod is your friend.  Your mkfifo
command might also take a mode switch that has the same effect.  Now if
your cgi is running as nobody _and_ the part of the filesystem that you 
are using is visible to other users (ie no chroot jail or such) then you 
have problems.  But then, IMHO, you would have those problems for the cgi 
writing to any other file -- so you don't have any addional problems 
introduced by fifo's.

I learned all this from books, so I dunno about on-line references.  

Do this though, and you'll see how easy it is:

cd /tmp
mkfifo foo
cat > foo
(open another window)
cd /tmp 
cat foo
(go to the first window and type something and hit enter)

[...]
    rem642b> Given that CMUCL is doing the checking for new e-mail,
    rem642b> and will be checking for new fifo or whatever else I
    rem642b> implement, I'll just have it do the output directly using
    rem642b> SYSTEM:BEEP and FORMAT rather than having bash do
    rem642b> anything (if bash is even available here). 

Ok, in that case you cannot block on the read from the FIFO as I outlined,
but you can still check if there's something available before you read
using sth like  read-char-no-hang (<= this makes it on topic for cll 
I hope!).

[deleted the rest, it seems like a sensible way to go]

cheers,

BM
From: ·······@Yahoo.Com
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <ffdf399b.0202151326.5e46062d@posting.google.com>
<<Bulent Murtezaoglu (··@acm.org)
  you can have _unrelated_ proccesses communicate through it
  given that they know its name and have enough permiss<b>i</b>]ons.>>

(Before I respond, a side remark: Another utility program
I'm thinking of writing is one that compares two versions of
the same file, or two spams that seem to be the same, and
show the differences between the two in much the same way
that the California voter's guide shows amendments by using
strikeout type to indicate deleted text and bold type to
indicate new text, with regular text for unchanged portions.
As far as I know, HTML doesn't support strikeout text, but
does support bold (which shows as orange here on my VT100
emulator), so I'll have to use some hack to represent
strikeout text. Anyway, you made a typo in what you said to
me, so I repaired it per the output of my future
CalifVoterGuide-format utility. Does anybody know of any
available funding to pay me for such a programming project?)

What happens if two different processes, each with
legitimate access to the fifo, try to write to it at the
same time? Does their data get intermixed at the character
level, or at the full-line level, or is it synchronized so
that one of their transmissions complete from (open
"...fifo" :direction :output) to (close ...) is pushed
through the fifo first before the other's starts?

If it's intermixed at the line level, then single-line
messages would be the only safe form of communication with
multiple sources, so each user would have to write the
message to a temporary file under that user's login session
sub-directory then transmit just the filename on a single
line through the fifo, right?)

If it's fully interlocked from open to close, then what's to
prevent one user from deliberately opening it and never
closing it, to block anyone else from communicating with me?

If it's interleaving at the per-line level, what's to stop
one user from transmitting an incomplete line and then just
sitting there forever while the fifo waits for end-of-line
before allowing anyone else to use the fifo?

If I know about each of these problems ahead of time, I can
program around them. For example, if I'm worried about
incomplete lines, then my CGI/CMUCL application can never
allow writing to the fifo directly, but always call a
function that takes a string, checks to make sure it is
non-empty and doesn't have any EOL character within it, then
does:
  (with-open-stream (fifostream "...fifoname..." :direction :output)
    (format fifostream "~A~%" str))
:so that there's virtually no chance anything could go wrong there.

Does anybody know of online documentation that discusses all
these issues?

<<Do this though, and you'll see how easy it is:
  cd /tmp
  mkfifo foo
  cat > foo
  (open another window)
  cd /tmp
  cat foo
  (go to the first window and type something and hit enter)>>

I don't know what you mean by open window etc. My access to
the net is via a VT100 emulator into a Unix shell account.
Although my home computer can have many windows open at the
same time, only one (1) of them is talking through the modem
to Unix. For my purpose, do you really mean that I should
TELNET to back to the same shell machine and login as myself
from TELNET ore than once, and by "go to another window' you
mean "switch to another TELNET" hence switch to a different
login under telnet?

Does it have to actually be a different login instance,
although under the same user name, or would it suffice if I
had more than one /bin/sh process running under the same
login and switched back and forth among those different
shell processes? (CMUCL supports running a Unix program
under it, using ext:run-program, either under a PTY with
pipe between CMUCL and the other program (I haven't actually
tried this yet to see how it works) or just detached with
stdin from disk file (I've used this and it works great, but
not relevant here), and if it's possible to run such
interactively (almost like talking to them through a TELNET
or RLOGIN connection) then I might be able to run several
shells simultaneously from under CMUCL, and talk with any of
them at will.)

<<in that case you cannot block on the read from the FIFO as I
  outlined, but you can still check if there's something
  available before you read using sth like  read-char-no-hang>>

Indeed I had a problem like that on my Macintosh a few years
ago. I wrote a PCNET packet communication program that
fetched data from the modem port using a LISP-written device
driver call-back that somebody else had written and
recommended, where the operating system does a check for
input and upon seeing it calls the lisp function to
immediately read the chacacter via read-char, and one time I
mistakenly left my VT100 emulator running at the same time,
which also is trying all the time, probably 30 times a
seocnd, to grab anything there is on the modem port. So
after a while my whole computer froze, mouse tracking etc. I
eventually figured out what had happened:
- The system found input and called my LISP call-back
  routine, but before it had time to actually grab the
  character:
- My VT100 emulator checked for input, found some, and
  grabbed it. There is no longer any input avaiable from the
  modem port.
- My LISP (MACL 1.2.2) PCNET program did read-char which hung
inside the device-driver. So I fixed it by changing the
call-back routine to use read-char-no-hang, and the PCNET
program then checking the return value to see if it actually
got any input and if not then issuing an alert that some
other program had gobbled the modem character, so I could go
kill my VT100 emulator without rebooting the whole machine
and then re-starting my modem connection and Unix login and
PCNET session.
From: Bulent Murtezaoglu
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <87aduajpyo.fsf@nkapi.internal>
>>>>> "rem642b" == rem642b  <·······@Yahoo.Com> writes:
[...]
    rem642b> What happens if two different processes, each with
    rem642b> legitimate access to the fifo, try to write to it at the
    rem642b> same time? [...]

Much enlightenment on this can be had by googling for 'FIFO atomic write'
and variants.

[...]
    rem642b> Does it have to actually be a different login instance,
    rem642b> although under the same user name, or would it suffice if
    rem642b> I had more than one /bin/sh process running under the
    rem642b> same login and switched back and forth among those
    rem642b> different shell processes?  [...]

You can actually try this much faster than theorizing.  That'll give
you something to go by.  Then buy/borrow Stevens' book and see why
things do or don't work.  These really are Unix questions (though they
are good questions to ask), and there _are_ books that cover them.
Exhanging usenet postings once every two weeks or so is not an
efficient way to learn about these.

On the online reference:  The Design and Implementation of the 4.4BSD 
Operating System seems to be on-line at the freebsd site.  That is also 
a very good book to read and would help.

good luck,

BM
From: ·······@Yahoo.Com
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <ffdf399b.0202181639.111aac60@posting.google.com>
rem642b> What happens if two different processes, each with
    rem642b> legitimate access to the fifo, try to write to it at the
    rem642b> same time? [...]

Bulent Murtezaoglu <··@acm.org> wrote in message news:<··············@nkapi.internal>...
<<Much enlightenment on this can be had by googling for
  'FIFO atomic write' and variants.>>

   Searched Groups for "FIFO atomic write".   Results 1 - 1 of 1.
   Re: CMUCL (on Unix) question, how to bleep a user's terminal ...
   ... to it at the rem642b> same time? [... Much enlightenment on this
   can be had by
   googling for 'FIFO atomic write' and variants. [... rem642b> Does it
   have to ...
   comp.lang.lisp - 15 Feb 2002 by Bulent Murtezaoglu - View Thread (33
Unfortunately Google doesn't support automatic "variants",
and I have no idea what to search for other than just FIFO
by itself:
   Searched Groups for fifo.   Results 1 - 100 of about 143,000. Search
:and I really don't have time to read over a hundred
thousand articles in the hope my answer is somewhere in
there, so restricting the search to just within this
particular newsgroup:
   Searched Groups for fifo unix group:comp.lang.lisp.   Results 1 - 9 of
   about 17.
:wherein I see 9 threads containing 17 articles, but no way
I know of to ask Google to hilight which articles within
those threads actually do contain the keyword, so I browsed
manually, but didn't find the info you said to find. Next:
   Searched Groups for fifo group:comp.unix.*.   Results 1 - 50 of about
   5,060. Search took 1.34 seconds.
No, I'm not going to manually browse more than five thousand
articles at random hoping find the information you suggested
I seek.

<<buy/borrow Stevens' book>.

There is no way I can do that.
(It would require either money, which I don't have and can't
get, or somebody in the local area willing to loan it to me,
which seems unlikely.)
From: Dr. Edmund Weitz
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <m33czyuw9x.fsf@bird.agharta.de>
·······@Yahoo.Com writes:

> rem642b> What happens if two different processes, each with
>     rem642b> legitimate access to the fifo, try to write to it at the
>     rem642b> same time? [...]
> 
> Bulent Murtezaoglu <··@acm.org> wrote in message news:<··············@nkapi.internal>...
> <<Much enlightenment on this can be had by googling for
>   'FIFO atomic write' and variants.>>
> 
>    Searched Groups for "FIFO atomic write".   Results 1 - 1 of 1.
>    Re: CMUCL (on Unix) question, how to bleep a user's terminal ...
>    ... to it at the rem642b> same time? [... Much enlightenment on this
>    can be had by
>    googling for 'FIFO atomic write' and variants. [... rem642b> Does it
>    have to ...
>    comp.lang.lisp - 15 Feb 2002 by Bulent Murtezaoglu - View Thread (33
> Unfortunately Google doesn't support automatic "variants",
> and I have no idea what to search for other than just FIFO
> by itself:
>    Searched Groups for fifo.   Results 1 - 100 of about 143,000. Search
> :and I really don't have time to read over a hundred
> thousand articles in the hope my answer is somewhere in
> there, so restricting the search to just within this
> particular newsgroup:
>    Searched Groups for fifo unix group:comp.lang.lisp.   Results 1 - 9 of
>    about 17.
> :wherein I see 9 threads containing 17 articles, but no way
> I know of to ask Google to hilight which articles within
> those threads actually do contain the keyword, so I browsed
> manually, but didn't find the info you said to find. Next:
>    Searched Groups for fifo group:comp.unix.*.   Results 1 - 50 of about
>    5,060. Search took 1.34 seconds.
> No, I'm not going to manually browse more than five thousand
> articles at random hoping find the information you suggested
> I seek.

Maybe a Google search for 'nanny' would be more fruitful in this case.

Edi.

-- 

Dr. Edmund Weitz
Hamburg
Germany

The Common Lisp Cookbook
<http://cl-cookbook.sourceforge.net/>
From: Bulent Murtezaoglu
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <87y9hqhufq.fsf@nkapi.internal>
>>>>> "rem642b" == rem642b  <·······@Yahoo.Com> writes:

I meant use google for the web!  Not groups.  Anyhow, "FIFO atomic write"
gets you a hit for a page off caldera (6th down).  Once you read that 
you'll find out there's this magical constant PIPE_BUF.  If you google 
again for your platform and the new keywords you have picked up, you 
should have better luck.  

    rem642b> <<buy/borrow Stevens' book>.

    rem642b> There is no way I can do that.  (It would require either
    rem642b> money, which I don't have and can't get, or somebody in
    rem642b> the local area willing to loan it to me, which seems
    rem642b> unlikely.)

Any libraries in the area?  

I did see Dr. Weitz's comment.  It struck me as apt -- though not my
style.  I think what's causing people to respond like that is the web
of impossibilities you present.  Nothing is that impossible -- if you
had the wherewithall to choose and pick up Common Lisp, gaining basic
familiarity with Unix facilities should not be that hard for you.

good luck,

BM


 
From: ·······@Yahoo.Com
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <ffdf399b.0202221215.2033ae2@posting.google.com>
Bulent Murtezaoglu <··@acm.org> wrote in message news:<··············@nkapi.internal>...
> I meant use google for the web!  Not groups.  Anyhow, "FIFO atomic write"
> gets you a hit for a page off caldera (6th down).

I tried just searching for those words not in a phrase, and saw lots
of false hits where those three words were scattered throughout the
text unrelated to each other, so I tried searching for that phrase, but:

   Your search - "FIFO atomic write" - did not match any documents.

If you will tell me exactly what phrase occurs in the relevant documentation,
I'll search for that phrase instead of "FIFO atomic write", and see if
I get better search results.

In the mean time I'm just going to proceed with the other way I thought
of last month, as part of what I've already implemented to write temporary
files identified by the unix PID (Process IDentification number) to keep
the various instances of the WebServer/CGI/CMUCL application from stepping
on each other's files. By write-then-rename, where the file originally
written is a private file, but after rename my daemon suddenly sees it
all finished and ready to look at, I think all synchronization problems
would be ended.

> ... if you
> had the wherewithall to choose and pick up Common Lisp, ...

If you meant that to apply to me, it's a false premise.
I was using MacLISP, then got hired for a job that was using SL
(Standard LISP) instead, so learned that, which was cruddy by comparision,
then we switched to PSL (Portable Standard LISP), which was better than
SL but still cruddy compared to MacLISP, then we began porting to
Common LISP on an IBM workstation donated to our project, emulating
PSL on top of CL so our existing software would continue to work, and
that's when I got started with CL, and found it comparable to MacLISP,
i.e. a decent instead of crufty LISP, although too large for a computer
with minimal RAM so I didn't like it at first, wished there was a mini
version of CL that was supported somewhere, with loadable modules for
all the extra stuff I hardly ever need. But after I upgraded my Macintosh
Plus from 1MB to 2.5MB then I had plenty of room for MACL 1.2.2, which
I loved until my MacPlus died in mid-1999, and I didn't have money to get
it repaired, especially because I wasn't sure it'd continue to work
after the Y2K moment caused the clock to be unsettable. (The primary
application on it needed to keep absolute track of time to measure
time delay from when something was learned to when it needed to be
reviewed again, or keeping track of versions of files in correct
chronological order to purge the oldest versions of files first, so
setting the clock back twelve years wasn't an option.) Then I had to
go without my beloved LISP of any kind until I discovered in late 2001
that CMUCL existed on my new ISP. (No version of LISP existed on my
previous ISP that I had until mid-2000, and I had no idea there'd be
one on my nea ISP until I accidently discovered it.) So anyway after
suffering the choice between XLISP or no LISP at all on my Macintosh
Performa (which runs system 7.5.5 which is incompatible with MACL 1.2.2),
and no LISP at all on my ISP, for the past year-plus I've had CMUCL,
which works great, and I've found only one bug the whole time:
(sleep <float>) returns immediately if the floating point number is
larger than 1. (It works fine for floats less than 1, and for all
integers. So I've programmed around that one bug:
(defun cl-sleep (n)
  (if (and (floatp n) (>= n 1.0))
    (multiple-value-bind (int frac) (floor n)
      (sleep int) (sleep frac))
    (sleep n)))
Actually I wrote that using COND instead of IF, but for the sake of
the people who are going to argue that COND is bad style I converted
it to use IF here. I hope I did it correctly!

So no, I didn't choose Common LISP, I chose LISP many years ago and now
Common LISP is the only version available and it works better than what I
used before so I'll stick with it now.
From: Daniel Barlow
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <87wux5w8ob.fsf@noetbook.telent.net>
[ comp.unix.bsd.misc deleted from Newsgroups line because I don't read
it ]

·······@Yahoo.Com writes:

> I tried just searching for those words not in a phrase, and saw lots
> of false hits where those three words were scattered throughout the
> text unrelated to each other, so I tried searching for that phrase, but:
> 
>    Your search - "FIFO atomic write" - did not match any documents.

I don't know what you're doing to that search engine, but clearly
"using it to good effect" is not any part of it.  When I search google
for those words

http://www.google.com/search?q=FIFO+atomic+write

I get

Accessing pipes and FIFOs
... support a packet of PIPE_BUF, atomic writes on the pipe ... closes
a pipe or FIFO and dismantles its associated ... no more data. Later
write or putmsg requests will ...
ou800doc.caldera.com/SDK_sysprog/_Accessing_Pipes_and_FIFOs.html - 7k - Cached - Similar pages

as match number 6, just as Bulent said it would be.  This is not
rocket science.


-dan

-- 

  http://ww.telent.net/cliki/ - Link farm for free CL-on-Unix resources 
From: Bulent Murtezaoglu
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <873czthzkj.fsf@nkapi.internal>
>>>>> "rem642b" == rem642b  <·······@Yahoo.Com> writes:
[...]
    rem642b>    Your search - "FIFO atomic write" - did not match any
    rem642b> documents. [...]

OK, I was hoping that with just those you'd be able to get at what you 
were originally asking (multiple processes writing to FIFO's atomically).
That search should have (and does) produce the following worthwhile looking 
page (after a brief scan of the results on the first page):

http://ou800doc.caldera.com/SDK_sysprog/_Accessing_Pipes_and_FIFOs.html

This tells you about PIPE_BUF, which you can then look up for your 
platform.  Or for general info you can do a search on "PIPE_BUF fifo
posix" which pulls up the following right at the top:

http://std.dkuug.dk/JTC1/SC22/WG15/docs/rr/14519/14519-03.html

None of these things are authoritative, but they should get you started.
I have no idea why google didn't work for you.

This is now really OT in both groups. I won't trim the newsgroups because
I don't want others to answer thinking that it wasn't answered.  

cheers,

BM




    rem642b> If you will tell me exactly what phrase occurs in the
    rem642b> relevant documentation, I'll search for that phrase
    rem642b> instead of "FIFO atomic write", and see if I get better
    rem642b> search results.

    rem642b> In the mean time I'm just going to proceed with the other
    rem642b> way I thought of last month, as part of what I've already
    rem642b> implemented to write temporary files identified by the
    rem642b> unix PID (Process IDentification number) to keep the
    rem642b> various instances of the WebServer/CGI/CMUCL application
    rem642b> from stepping on each other's files. By
    rem642b> write-then-rename, where the file originally written is a
    rem642b> private file, but after rename my daemon suddenly sees it
    rem642b> all finished and ready to look at, I think all
    rem642b> synchronization problems would be ended.

    >> ... if you had the wherewithall to choose and pick up Common
    >> Lisp, ...

    rem642b> If you meant that to apply to me, it's a false premise.
    rem642b> I was using MacLISP, then got hired for a job that was
    rem642b> using SL (Standard LISP) instead, so learned that, which
    rem642b> was cruddy by comparision, then we switched to PSL
    rem642b> (Portable Standard LISP), which was better than SL but
    rem642b> still cruddy compared to MacLISP, then we began porting
    rem642b> to Common LISP on an IBM workstation donated to our
    rem642b> project, emulating PSL on top of CL so our existing
    rem642b> software would continue to work, and that's when I got
    rem642b> started with CL, and found it comparable to MacLISP,
    rem642b> i.e. a decent instead of crufty LISP, although too large
    rem642b> for a computer with minimal RAM so I didn't like it at
    rem642b> first, wished there was a mini version of CL that was
    rem642b> supported somewhere, with loadable modules for all the
    rem642b> extra stuff I hardly ever need. But after I upgraded my
    rem642b> Macintosh Plus from 1MB to 2.5MB then I had plenty of
    rem642b> room for MACL 1.2.2, which I loved until my MacPlus died
    rem642b> in mid-1999, and I didn't have money to get it repaired,
    rem642b> especially because I wasn't sure it'd continue to work
    rem642b> after the Y2K moment caused the clock to be
    rem642b> unsettable. (The primary application on it needed to keep
    rem642b> absolute track of time to measure time delay from when
    rem642b> something was learned to when it needed to be reviewed
    rem642b> again, or keeping track of versions of files in correct
    rem642b> chronological order to purge the oldest versions of files
    rem642b> first, so setting the clock back twelve years wasn't an
    rem642b> option.) Then I had to go without my beloved LISP of any
    rem642b> kind until I discovered in late 2001 that CMUCL existed
    rem642b> on my new ISP. (No version of LISP existed on my previous
    rem642b> ISP that I had until mid-2000, and I had no idea there'd
    rem642b> be one on my nea ISP until I accidently discovered it.)
    rem642b> So anyway after suffering the choice between XLISP or no
    rem642b> LISP at all on my Macintosh Performa (which runs system
    rem642b> 7.5.5 which is incompatible with MACL 1.2.2), and no LISP
    rem642b> at all on my ISP, for the past year-plus I've had CMUCL,
    rem642b> which works great, and I've found only one bug the whole
    rem642b> time: (sleep <float>) returns immediately if the floating
    rem642b> point number is larger than 1. (It works fine for floats
    rem642b> less than 1, and for all integers. So I've programmed
    rem642b> around that one bug: (defun cl-sleep (n) (if (and (floatp
    rem642b> n) (>= n 1.0)) (multiple-value-bind (int frac) (floor n)
    rem642b> (sleep int) (sleep frac)) (sleep n))) Actually I wrote
    rem642b> that using COND instead of IF, but for the sake of the
    rem642b> people who are going to argue that COND is bad style I
    rem642b> converted it to use IF here. I hope I did it correctly!

    rem642b> So no, I didn't choose Common LISP, I chose LISP many
    rem642b> years ago and now Common LISP is the only version
    rem642b> available and it works better than what I used before so
    rem642b> I'll stick with it now.
From: ·······@Yahoo.Com
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <ffdf399b.0203150755.69dd1a13@posting.google.com>
Bulent Murtezaoglu <··@acm.org> wrote in message news:<··············@nkapi.internal>...
<<http://ou800doc.caldera.com/SDK_sysprog/_Accessing_Pipes_and_FIFOs.html>>

[[The read (or getmsg) system call is used to read from a pipe or FIFO.
  A user reads data from a Stream (not from a data buffer as was done
  prior to Release 4). Data can be read from either end of a pipe.]]

Hmm, it sounds like it's going to be difficult to write
portable code to do anything with FIFOs, and difficult to
even find out which method to use on any given system. For
example, according to *environment-list* - (:MACHTYPE . "i386")
(:OSTYPE . "FreeBSD") (:VENDOR . "intel") (:HOSTTYPE . "FreeBSD")
- and according to (software-version) - "4.2-STABLE" - So is
that the same "4" as in "release 4" in what you cited?

[[If multiple processes simultaneously write to the same pipe, data from
  one process can be interleaved with data from another process,]]

Yuk!!! That would seem to kill it as a way for simultaneous
WebServer application users to send me alerts that they wish
to talk with me live. By comparison, if they write to files
each with their own PID, then rename those files to a name
I'd be looking for periodically as soon as they are done
writing and have closed the file, I would see totally intact
messages without interleaving except at the whole-file level
(that is if one user wrote two messages in sequence, I might
see first message, then some other user's message, then
second message from that first user again, but since
presumably these would be separate communications from that
first user, it's the right thing to do).

Thanks ··@acm.org for pointing me to this documentation.

[[if modules are pushed on the pipe or the write is greater than PIPE_BUF.
  The sequence of data written is not necessarily the sequence of data
  read. To ensure that writes of less than PIPE_BUF bytes are not be
  interleaved with data written from other processes, any modules pushed
  on the pipe should have a maximum packet size of at least PIPE_BUF.]]

I've never heard of the word "module" used in this way. Do
they really mean something like a datagram or message, which
is a block of data considered as a single unit for some
purposes such as transmission through some kind of pipe,
such as this FIFO? Where can I find out the current size of
PIPE_BUF on my ISP's FreeBSD system? Where can I find out
how to send data from CMUCL through a FIFO to CMUCL in
'modules'? Or is a module the basic unit in which the
default way of passing data through a FIFO occurs when that
data is sent using a single system-call write? How can I
assure that a FORMAT or WRITE-STRING from CMUCL to a FIFO
will be accomplished via a single system write hence all
data in a single 'module'? How does the receiver of the data
from the FIFO know when one module ends and another module
begins, if data is being read one byte at a time from the
FIFO using READ-CHAR-NO-HANG?

[[Previous topic: Pushing modules on a STREAMS-based pipe
  http://ou800doc.caldera.com/SDK_sysprog/_Creating_and_Opening_Pipes_and_.html
  Any data written to the FIFO can be read from the
  same file descriptor in a FIFO manner. Modules can also be pushed on
  the FIFO.]]

Ah, that seems to answer my question above: Modules are
**not** the usual way of writing blocks of data. Just
writing blocks of data in the usual way via WRITE-STRING is
likely to interleave (randomly at a byte level) with any
other process trying to write simultaneously, right?

[[a pipe
  maintains the concept of a midpoint so that if a module is pushed onto
  one end of the pipe, that module cannot be popped from the other end.]]

Huh?? So there's no way to transmit a module across a pipe
from one process to the other?? Then what is the use of it??

And does this have anything to do with FIFOs???

<<This tells you about PIPE_BUF, which you can then look up
  for your platform.>>

man PIPE_BUF
No manual entry for PIPE_BUF

I have no idea how to look it up for my platform.
Is there some configuration file in some arcane system
directory where I might be able to find it via grep?
If so, I have no idea how to find that directory.

Would it be somewhere within /boot/ or /dev/ or /mnt/ or
/proc/ or /usr/ or /var/ or somewhere I can't even begin to
guess?

<<http://std.dkuug.dk/JTC1/SC22/WG15/docs/rr/14519/14519-03.html>>
[[(2)  Write requests of {PIPE_BUF} byte or less shall
  not be interleaved with data from other processes doing writes on the
  same pipe.]]

That seems to say that ordinary writes, not just modules, are
protected against interleaving if they are small enough and
done all in a single system write call.
From: Ingvar Mattsson
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <87vgbxn6oa.fsf@gruk.tech.ensign.ftech.net>
·······@Yahoo.Com writes:

[SNIP]
> [[if modules are pushed on the pipe or the write is greater than PIPE_BUF.
>   The sequence of data written is not necessarily the sequence of data
>   read. To ensure that writes of less than PIPE_BUF bytes are not be
>   interleaved with data written from other processes, any modules pushed
>   on the pipe should have a maximum packet size of at least PIPE_BUF.]]
> 
> I've never heard of the word "module" used in this way. Do
> they really mean something like a datagram or message, which
> is a block of data considered as a single unit for some
> purposes such as transmission through some kind of pipe,
> such as this FIFO? Where can I find out the current size of
> PIPE_BUF on my ISP's FreeBSD system? Where can I find out
> how to send data from CMUCL through a FIFO to CMUCL in
> 'modules'? Or is a module the basic unit in which the
> default way of passing data through a FIFO occurs when that
> data is sent using a single system-call write? How can I
> assure that a FORMAT or WRITE-STRING from CMUCL to a FIFO
> will be accomplished via a single system write hence all
> data in a single 'module'? How does the receiver of the data
> from the FIFO know when one module ends and another module
> begins, if data is being read one byte at a time from the
> FIFO using READ-CHAR-NO-HANG?

At a guess, they're refering to STREAMS modules. Basically, a way of
pushing something approaching a device driver on top of a wossname to
make it look like another wossname (open a pipe, push a tty module on
top and pretend you'er a serial port, say).

> [[Previous topic: Pushing modules on a STREAMS-based pipe
>   http://ou800doc.caldera.com/SDK_sysprog/_Creating_and_Opening_Pipes_and_.html
>   Any data written to the FIFO can be read from the
>   same file descriptor in a FIFO manner. Modules can also be pushed on
>   the FIFO.]]
> 
> Ah, that seems to answer my question above: Modules are
> **not** the usual way of writing blocks of data. Just
> writing blocks of data in the usual way via WRITE-STRING is
> likely to interleave (randomly at a byte level) with any
> other process trying to write simultaneously, right?

No, randomly at a "whatever chunkiness is used in write(2)" level.

> [[a pipe
>   maintains the concept of a midpoint so that if a module is pushed onto
>   one end of the pipe, that module cannot be popped from the other end.]]
> 
> Huh?? So there's no way to transmit a module across a pipe
> from one process to the other?? Then what is the use of it??

See above.

> And does this have anything to do with FIFOs???

Yes.

> <<This tells you about PIPE_BUF, which you can then look up
>   for your platform.>>
> 
> man PIPE_BUF
> No manual entry for PIPE_BUF
> 
> I have no idea how to look it up for my platform.
> Is there some configuration file in some arcane system
> directory where I might be able to find it via grep?
> If so, I have no idea how to find that directory.

It's in a C header file and is (probably) a C preprocessor directive.
At a guess, it lives somewhere under /usr/include.

> [[(2)  Write requests of {PIPE_BUF} byte or less shall
>   not be interleaved with data from other processes doing writes on the
>   same pipe.]]
> 
> That seems to say that ordinary writes, not just modules, are
> protected against interleaving if they are small enough and
> done all in a single system write call.

Yup.

//ingvar
-- 
(defun m (f)
  (let ((db (make-hash-table :key #'equal)))
    #'(lambda (&rest a)
        (or (gethash a db) (setf (gethash a db) (apply f a))))))
From: Erik Naggum
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <3223099365087988@naggum.net>
* ·······@Yahoo.Com
| (It would require either money, which I don't have and can't get, or
| somebody in the local area willing to loan it to me, which seems
| unlikely.)

  If you are unwilling to invest in your own education and refuse to pay
  those who know what you might like to learn in any way, why are you so
  certain that people would be willing to do it for free on a newsgroup?

  I am glad you demonstrated your unwillingness to _work_ to learn what you
  seek to understand, too.  Your unwillingness to invest either time or
  money is an important flag to your environment: you are in fact nothing
  more than a street beggar, asking passersby for hand-outs; you are not a
  participant in a forum for and by professional who have _both_ invested
  time and money to learn _and_ spent a lot of their spare time to help
  others become professionals in their fields a little faster and better
  than they would if they had to do it only on their own, without guidance
  or feedback or with unanswered questions or unchallenged assumptions.

  Go beg on some other street!

///
-- 
  In a fight against something, the fight has value, victory has none.
  In a fight for something, the fight is a loss, victory merely relief.
From: ·······@Yahoo.Com
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <ffdf399b.0202221227.4bd2ea11@posting.google.com>
Erik Naggum <····@naggum.net> wrote in message news:<················@naggum.net>...
>   If you are unwilling to invest in your own education and refuse to pay
>   those who know what you might like to learn in any way, ...

I would be glad to make such investment if I had the money, but I don't.
Stealing money is illegal and immoral, so I must wait until the recession
is over and there's somebody willing to hire me to work for them.
If anybody is starting to plan for that time and would like to
consider me for hire at that future time, please see:
http://members.tripod.com/~MaasInfo/SeekJob/Resumes.html
If you aren't willing to hire me, then don't nag at me for not being
willing to spend money I don't have and can't get.

>   ...  Your unwillingness to invest either time ...

You have a mistaken idea bout me. I spend all day and into the night
working hard at stuff I don't get paid for. I'd be glad to be paid
for something instead, but there aren't any offers. Do you have the
attitude that if I am not getting paid for my work than my work is
not worth doing and I am worthless as a person?
From: Nils Goesche
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <a56d7e$513bd$1@ID-125440.news.dfncis.de>
In article <····························@posting.google.com>, ·······@Yahoo.Com wrote:
> Erik Naggum <····@naggum.net> wrote in message news:<················@naggum.net>...
>>   ...  Your unwillingness to invest either time ...
> 
> You have a mistaken idea bout me. I spend all day and into the night
> working hard at stuff I don't get paid for. I'd be glad to be paid
> for something instead, but there aren't any offers. Do you have the
> attitude that if I am not getting paid for my work than my work is
> not worth doing and I am worthless as a person?

You should lose the attitude that people should come to you and offer
you money.  They won't.  It's /you/ who has to approach people and
convince them that they will make more money if they pay you to work
for them than if they don't.

Regards,
-- 
Nils Goesche
"Don't ask for whom the <CTRL-G> tolls."

PGP key ID 0x42B32FC9
From: ·······@Yahoo.Com
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <ffdf399b.0203150815.235a38e0@posting.google.com>
Nils Goesche <······@cartan.de> wrote in message news:<··············@ID-125440.news.dfncis.de>...
> You should lose the attitude that people should come to you and offer
> you money.  They won't.  It's /you/ who has to approach people and
> convince them that they will make more money if they pay you to work
> for them than if they don't.

I have idea how to find any appropriate person to approach in that way.
I've tried searching ba.jobs.offered for anybody looking to hire anyone
for the kind of work I do, and making an inquiry whenever I find anything
vaguely close even though I don't qualify for the actual job advertised
because I don't have three years shrink wrap experience with java and
c++ and visual basic and ten other things all required by the job offer,
but none of those people I've approached has ever responded to my query.
I tried asking more than a hundred employment agencies/recruiters to
find me a job, but not one of them has gotten me even one interview
in more than ten years. I tried going around to all the agencies
in my local area, asking if anyone there will look at the online demo
I have of a CGI/CMUCL WebServer application (I don't mention CMUCL or
LISP, just that it's a WebServer application usign CGI, to avoid shooting
myself in the foot because no agency has any respect whatsoever for LISP
programmers), but only two would even look at my demo, one fellow at
Volt who hires **only** for MicroSoft which hasn't been hiring at all
in the past year, and one at another place who couldn't get me any
job leads either. I tried going to a place that is very close to where
I live, that had a huge banner on the outside wall of their building,
about six feet tall and maybe fifteen or twenty feet wide, begging for
java/xml programmers, because if they are so desperate for such maybe
they might also have other openings in the general area of network software
for the Web, but they almost threw me out the door just for trespassing
(walking in their front door to find their unattended reception desk,
trying for ten minutes to get attention, then walking down the unlocked
hall until I found somebody busy on the phone, waiting patiently for himi
to be done, then asking about employment), and refused to look at my demo
or talk with me about employment.

I don't know how to find anyone willing to consider me for employment.
I guess they can see I'm over 40 and they hire only people under 40.
Is there any company around here who is willing to hire somebody
over 40 who has over 20 years experience computer programming and is
so desperate for a job that I'm willing to work at minimum wage to
get startedi, because minimum wage is more than I'm getting now, and
even $2/hr would be an improvement if it were legal?? Is anybody willing
to break the law and hire me for $2/hr??
From: Erik Naggum
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <3223402433318588@naggum.net>
* ·······@Yahoo.Com
| If you aren't willing to hire me, then don't nag at me for not being
| willing to spend money I don't have and can't get.

  Really?  What happened to entrepeneurship?  I have been employed for only
  1 year out of the last 18 years, and that told me more than anything else
  that employment must not be expected to produce anything more than money
  enough to survive.  The rest of the time, I have been running my own
  company.  If you really want to get out ahead after the recession, the
  very best thing to do is to start your own company when everybody else
  sings the blues.

| You have a mistaken idea bout me.

  I have no ideas about you.  I have responded to what you say here about
  your unwillingness to make serious investment in learning Common Lisp.

| I spend all day and into the night working hard at stuff I don't get paid
| for. I'd be glad to be paid for something instead, but there aren't any
| offers. Do you have the attitude that if I am not getting paid for my
| work than my work is not worth doing and I am worthless as a person?

  No.  Where the fuck do you get this insanity?  Get a grip, dude!

  You told us you would not spend either time or money on learning Common
  Lisp.  I respond _only_ to that.  Extrapolations into the dark unknown
  about your person from a fraction of your expressed attitudes is the work
  of Tarot card readers, astologers, etc.  That you even think anyone here
  is of such a fundamentally dishonest, anti-intellectual bent, you must
  noe be aware of the strong insult you give people by making such kinds of
  assumptions about them.  And you talk about mistaken ideas about _you_?

  You are clearly nothing but a waste of time.

///
-- 
  In a fight against something, the fight has value, victory has none.
  In a fight for something, the fight is a loss, victory merely relief.
From: ·······@Yahoo.Com
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <ffdf399b.0203150828.44aef8e8@posting.google.com>
Erik Naggum <····@naggum.net> wrote in message news:<················@naggum.net>...
>   ...  If you really want to get out ahead after the recession, the
>   very best thing to do is to start your own company when everybody else
>   sings the blues.

I already started my own company more than twenty years ago, but so far
I havne't been able to find any customers, and have no idea how to find any.
(No, I refuse to resort to unsolicited commercial advertisements, i.e. spam,
to advertise my services, so please don't suggest I do so.)

>   I have no ideas about you.  I have responded to what you say here about
>   your unwillingness to make serious investment in learning Common Lisp.

I have never said any such thing!!! I have no idea where you get that idea.
Common LISP (MACL 1.2.2 for several years, then CMUCL since late 2000),
has been my primary/favorite programming language ever since 1989.
I consult CLtL on a daily basis to find new functions I need for my
current application but didn't need before so had no reason to get
into their specifics before. Is there some particular part of CL that
you believe I'm refusing to learn even though it'd be useful to me?

>   You told us you would not spend either time or money on learning Common
>   Lisp.

I never said any such thing. I already know as much Common LISP as I've
needed to date, and look up anything new as needed. I have no money whatsoever,
not even enough to pay the rent, or buy food. (My income is less than
the rent, and I'm deep in debt on credit cards so any income doesn't
really belong to me, it belongs to the credit card companies, so that's
why I say I don't *have* any money. I use almost all my income to make
minimum payments on credit cards, then use a cash advance cheque to
pay the rent from a credit card. I have only a few more months left
before I reach my credit limit on all my cards and will no longer be able
to pay the rent by cash advance cheque, at which point I'll become
homeless, unless I can find a decent paying job before then.) Given that
nobody has been hiring LISP programmers for more than ten years, it would
be stupid to squander my last few months of credit limit on credit cards
to pay for professional LISP lessons instead of paying the rent.

>   You are clearly nothing but a waste of time.

I hope you lose your job and become homeless and die of exposure after
you have made such a remark against me. Please don't harass me any more
with such remarks.
From: Erik Naggum
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <3225213897945274@naggum.net>
* ·······@Yahoo.Com
| I hope you lose your job and become homeless and die of exposure after
| you have made such a remark against me.

  I hope you get a job and find the time to regret your behavior.

///
-- 
  In a fight against something, the fight has value, victory has none.
  In a fight for something, the fight is a loss, victory merely relief.
From: Thomas F. Burdick
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <xcvadtyi824.fsf@apocalypse.OCF.Berkeley.EDU>
[ c.l.l only ]

·······@Yahoo.Com writes:

> Erik Naggum <····@naggum.net> wrote in message news:<················@naggum.net>...
> >   If you are unwilling to invest in your own education and refuse to pay
> >   those who know what you might like to learn in any way, ...
> 
> I would be glad to make such investment if I had the money, but I don't.
> Stealing money is illegal and immoral, so I must wait until the recession
> is over and there's somebody willing to hire me to work for them.
> If anybody is starting to plan for that time and would like to
> consider me for hire at that future time, please see:
> http://members.tripod.com/~MaasInfo/SeekJob/Resumes.html
> If you aren't willing to hire me, then don't nag at me for not being
> willing to spend money I don't have and can't get.

Or, you know, you could just get a job that you don't like, like most people.

> >   ...  Your unwillingness to invest either time ...
> 
> You have a mistaken idea bout me. I spend all day and into the night
> working hard at stuff I don't get paid for. I'd be glad to be paid
> for something instead, but there aren't any offers.

I sincerely doubt that.  Offers you like, yes.  Offers in your field,
yes.  Jobs to be had, though ... for godsakes, I was a barista when I
learned common lisp.  It's not like it takes a huge investment of
money to learn; if a barista can afford it, most people in
industrialized countries can.

-- 
           /|_     .-----------------------.                        
         ,'  .\  / | No to Imperialist war |                        
     ,--'    _,'   | Wage class war!       |                        
    /       /      `-----------------------'                        
   (   -.  |                               
   |     ) |                               
  (`-.  '--.)                              
   `. )----'                               
From: ·······@Yahoo.Com
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <ffdf399b.0203150855.3d9c6daf@posting.google.com>
···@apocalypse.OCF.Berkeley.EDU (Thomas F. Burdick) wrote in message news:<···············@apocalypse.OCF.Berkeley.EDU>...
> Or, you know, you could just get a job that you don't like, like most people.

I don't know how to get such a job. Out of desperation I even tried
getting a job at MacDonalds fast-food, but they refused me because I
have a college degree.

> ... I was a barista when I
> learned common lisp.

I have no idea what that word (barista) means. I never heard it before.
I looked in both Webster's and Doubleday but neither dictionary has it.
So are you willing to tell me what it means so I can comment on what
you posted??

A search of Google groups turned up:

[[Air (CO2) is coffees worst enemy. Oxidation begins
  immediately upon grinding! Every die-hard Barista knows you
  grind "just before the shot".]]
[[I ended up getting a Starbucks Barista Aroma coffee maker.
  I don't like Starbucks' coffee, coffee drinks, etc., but
  thus far I am impressed with this drip coffee maker.]]
[[Before trying an espresso I decided to try the 'roast of
  the day', a single origin served in a single filter cup. The
  barista took a walk and  ground some Colombian through a
  Ditting straight into the paper filter.]]

So may I conclude that a barista is a device that grinds
coffee, such as the innerds of some coffee makers that take
in unground beans and grind the beans immediately before
mixing with boiling water? And that you had a job doing
manually what is usually done inside such a coffee maker?

[[It's not like it takes a huge investment of
  money to learn; if a barista can afford it, most people in
  industrialized countries can.]]

When you had that job, did it provide enough money for the rent
and food and other basic human needs, so that you had any extra
money for other things? Or were you already in debt just paying
the rent and went even further into debt buying non-essentials?

By the way, after MacDonalds refused to hire me, Round Table Pizza
hired me, for $1.75 per hour, but then fired me because I don't
have a "photographic memory". Given their attitude/requirements for
that job, it wouldn't seem worth re-applying now, since all the
trouble of getting such a job again they'd soon learn I still don't
have a photographic memory and fire me again. But if you somehow
think I take only jobs I like, well I didn't like that Round Table
job but I took it anyway, and didn't stop working until they told me
not to show up for work again.

The only job i ever refused was one that involved doing something
illegal. I was told if I didn't agree to do the illegal stuff, I wouldn't
be alloweed to do the job, so I refused. Is that reasonable??
That job I refused was for the San Francisco Examiner (newspaper).
From: Thomas Bushnell, BSG
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <87adt9ahdf.fsf@becket.becket.net>
·······@Yahoo.Com writes:

> I have no idea what that word (barista) means. I never heard it before.
> I looked in both Webster's and Doubleday but neither dictionary has it.
> So are you willing to tell me what it means so I can comment on what
> you posted??

It's a word that Starbucks invented to refer to the person who makes
coffee drinks with an espresso machine.

Thomas
From: Thomas F. Burdick
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <xcvhenh1zsv.fsf@conquest.OCF.Berkeley.EDU>
·········@becket.net (Thomas Bushnell, BSG) writes:

> ·······@Yahoo.Com writes:
> 
> > I have no idea what that word (barista) means. I never heard it before.
> > I looked in both Webster's and Doubleday but neither dictionary has it.
> > So are you willing to tell me what it means so I can comment on what
> > you posted??
> 
> It's a word that Starbucks invented to refer to the person who makes
> coffee drinks with an espresso machine.

No, they didn't invent it.  It's the Italian word for bartender.  In
this country, what with a perfectly good word for bartender, it's
generally limited to someone who tends a coffee bar.

-- 
           /|_     .-----------------------.                        
         ,'  .\  / | No to Imperialist war |                        
     ,--'    _,'   | Wage class war!       |                        
    /       /      `-----------------------'                        
   (   -.  |                               
   |     ) |                               
  (`-.  '--.)                              
   `. )----'                               
From: Thomas Bushnell, BSG
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <87n0x9hev3.fsf@becket.becket.net>
···@conquest.OCF.Berkeley.EDU (Thomas F. Burdick) writes:

> No, they didn't invent it.  It's the Italian word for bartender.  In
> this country, what with a perfectly good word for bartender, it's
> generally limited to someone who tends a coffee bar.

Thanks for the correction!  That makes me a lot happier using it.  I
don't like Starbucks-specific lingo.
From: Christopher Browne
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <m3elil1uzw.fsf@salesman.cbbrowne.com>
The world rejoiced as ·········@becket.net (Thomas Bushnell, BSG) wrote:
> ·······@Yahoo.Com writes:
> 
> > I have no idea what that word (barista) means. I never heard it before.
> > I looked in both Webster's and Doubleday but neither dictionary has it.
> > So are you willing to tell me what it means so I can comment on what
> > you posted??
> 
> It's a word that Starbucks invented to refer to the person who makes
> coffee drinks with an espresso machine.

(First reaction: "Ignorant American.")

No, Starbucks did no such thing.  They did not invent the word, any
more than they created the name "Starbucks."

_Reality_ is that "barista" is a word adopted from the Italian
language.  You know, the country from which one might find such things
as spaghetti, Leonardo Da Vinci, Ferrari automobiles, the grandparents
of the Sopranos, and Benito Mussolini, also known as "El Duce."

"Barista" is, in fact, the Italian word for "bartender."

In English-speaking countries, it is in fairly common use to describe
those that tend bars of an "Italian" flavour.  The local Italian
"bars" have not too much to distinguish them from non-Italian bars,
aside from carrying more of a selection of Italian beverages (Brio,
anyone?)  than, say, a Japanese establishment.  More realistically,
the use of the term typically implies (and, living in a North American
city with hundreds of thousands of Italians, I know something of what
I speak) Italian styles of _coffee_, such as cappuccino and espresso.
-- 
(concatenate 'string "cbbrowne" ·@ntlug.org")
http://www3.sympatico.ca/cbbrowne/commerce.html
Make it myself?  But I'm a physical organic chemist!
From: Raymond Toy
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <4nk7sd4gfe.fsf@rtp.ericsson.se>
>>>>> "Christopher" == Christopher Browne <········@acm.org> writes:

    Christopher> The world rejoiced as ·········@becket.net (Thomas Bushnell, BSG) wrote:
    >> ·······@Yahoo.Com writes:
    >> 
    >> > I have no idea what that word (barista) means. I never heard it before.
    >> > I looked in both Webster's and Doubleday but neither dictionary has it.
    >> > So are you willing to tell me what it means so I can comment on what
    >> > you posted??
    >> 
    >> It's a word that Starbucks invented to refer to the person who makes
    >> coffee drinks with an espresso machine.

    Christopher> (First reaction: "Ignorant American.")

    Christopher> No, Starbucks did no such thing.  They did not invent the word, any
    Christopher> more than they created the name "Starbucks."

    Christopher> _Reality_ is that "barista" is a word adopted from the Italian
    Christopher> language.  You know, the country from which one might find such things
    Christopher> as spaghetti, Leonardo Da Vinci, Ferrari automobiles, the grandparents

If we're going to get really pedantic, remember that spaghetti was
invented in China.  The Italians, however, have really made it
something special. :-)

Ray
From: Thomas F. Burdick
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <xcv3cz00xoe.fsf@blizzard.OCF.Berkeley.EDU>
[ very off-topic ]

Raymond Toy <···@rtp.ericsson.se> writes:

> >>>>> "Christopher" == Christopher Browne <········@acm.org> writes:
> 
>     Christopher> The world rejoiced as ·········@becket.net (Thomas Bushnell, BSG) wrote:
>     >> ·······@Yahoo.Com writes:
>     >> 
>     >> > I have no idea what that word (barista) means. I never heard it before.
>     >> > I looked in both Webster's and Doubleday but neither dictionary has it.
>     >> > So are you willing to tell me what it means so I can comment on what
>     >> > you posted??
>     >> 
>     >> It's a word that Starbucks invented to refer to the person who makes
>     >> coffee drinks with an espresso machine.
> 
>     Christopher> (First reaction: "Ignorant American.")
> 
>     Christopher> No, Starbucks did no such thing.  They did not invent the word, any
>     Christopher> more than they created the name "Starbucks."
> 
>     Christopher> _Reality_ is that "barista" is a word adopted from the Italian
>     Christopher> language.  You know, the country from which one might find such things
>     Christopher> as spaghetti, Leonardo Da Vinci, Ferrari automobiles, the grandparents
> 
> If we're going to get really pedantic, remember that spaghetti was
> invented in China.  The Italians, however, have really made it
> something special. :-)

Probably not.  I mean, they did have noodles, but when Marco Polo
brought them back, he was showing off that they were made out of a
fruit (I think? anyhow, not a grain), and they weren't well-recieved,
either because the Italians already had noodles (they have records of
having gnocchi at this point, and it's not hard to move from there to
tagliatelli, for example) or because they just weren't liked.  Many
modern editions of Marco Polo's writings include a comment about
spaghetti that was inserted later by an overly-excited archivist [*],
that wasn't in the copy he copied.  It's probably a case of
independent invention, like Roman garum and Southeast Asian fermented
fish sauce.

[*] I've got my notes on this subject at home (yes, I'm a food nerd).
    If anyone's curious or dubious, I can post or mail more on this
    later, when I have those notes :)

-- 
           /|_     .-----------------------.                        
         ,'  .\  / | No to Imperialist war |                        
     ,--'    _,'   | Wage class war!       |                        
    /       /      `-----------------------'                        
   (   -.  |                               
   |     ) |                               
  (`-.  '--.)                              
   `. )----'                               
From: Paolo Amoroso
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <Lv6UPBcxOXkotTCIx5mDWbGEFMYB@4ax.com>
On 16 Mar 2002 17:50:57 -0800, ···@blizzard.OCF.Berkeley.EDU (Thomas F.
Burdick) wrote:

> tagliatelli, for example) or because they just weren't liked.  Many
            ^
            e


Paolo
-- 
EncyCMUCLopedia * Extensive collection of CMU Common Lisp documentation
http://www.paoloamoroso.it/ency/README
[http://cvs2.cons.org:8000/cmucl/doc/EncyCMUCLopedia/]
From: Thomas F. Burdick
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <xcvhenemu56.fsf@famine.OCF.Berkeley.EDU>
Paolo Amoroso <·······@mclink.it> writes:

> On 16 Mar 2002 17:50:57 -0800, ···@blizzard.OCF.Berkeley.EDU (Thomas F.
> Burdick) wrote:
> 
> > tagliatelli, for example) or because they just weren't liked.  Many
>             ^
>             e

(mumble, grumble) really?  I wonder if I've ever gotten that word
right, then.  Oh well, it's not like anyone expected Italian Americans
to be able to spell for crap ...

-- 
           /|_     .-----------------------.                        
         ,'  .\  / | No to Imperialist war |                        
     ,--'    _,'   | Wage class war!       |                        
    /       /      `-----------------------'                        
   (   -.  |                               
   |     ) |                               
  (`-.  '--.)                              
   `. )----'                               
From: Paolo Amoroso
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <rOmUPCjfWrzu5g9TMVOr2DCd2KT5@4ax.com>
On 15 Mar 2002 17:25:25 -0500, Raymond Toy <···@rtp.ericsson.se> wrote:

> If we're going to get really pedantic, remember that spaghetti was
> invented in China.  The Italians, however, have really made it
> something special. :-)

Spaghetti is just a member of the Pasta family of foods :-)


Paolo
-- 
EncyCMUCLopedia * Extensive collection of CMU Common Lisp documentation
http://www.paoloamoroso.it/ency/README
[http://cvs2.cons.org:8000/cmucl/doc/EncyCMUCLopedia/]
From: Thomas F. Burdick
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <xcveliimu17.fsf@famine.OCF.Berkeley.EDU>
Paolo Amoroso <·······@mclink.it> writes:

> On 15 Mar 2002 17:25:25 -0500, Raymond Toy <···@rtp.ericsson.se> wrote:
> 
> > If we're going to get really pedantic, remember that spaghetti was
> > invented in China.  The Italians, however, have really made it
> > something special. :-)
> 
> Spaghetti is just a member of the Pasta family of foods :-)

Yeah, and besides, macaroni are what Italians made special -- pasta in
non-noodle shapes is really the innovation.

-- 
           /|_     .-----------------------.                        
         ,'  .\  / | No to Imperialist war |                        
     ,--'    _,'   | Wage class war!       |                        
    /       /      `-----------------------'                        
   (   -.  |                               
   |     ) |                               
  (`-.  '--.)                              
   `. )----'                               
From: Paolo Amoroso
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <3g+TPObQHDT6Vg3MjauWgjGt2J4s@4ax.com>
On 15 Mar 2002 14:38:59 -0500, Christopher Browne <········@acm.org> wrote:

> of the Sopranos, and Benito Mussolini, also known as "El Duce."
                                                        ^^
"Il", i.e. "the".


Paolo
-- 
EncyCMUCLopedia * Extensive collection of CMU Common Lisp documentation
http://www.paoloamoroso.it/ency/README
[http://cvs2.cons.org:8000/cmucl/doc/EncyCMUCLopedia/]
From: Coby Beck
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <SDhb8.46343$Cg5.2450360@news1.calgary.shaw.ca>
<·······@Yahoo.Com> wrote in message
·································@posting.google.com...
> As far as I know, HTML doesn't support strikeout text, but

HTML does <strike>not</strike> support strikeout text...

--
Coby Beck
(remove #\Space "coby 101 @ bigpond . com")
From: ·······@Yahoo.Com
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <ffdf399b.0202181650.4ebe16ce@posting.google.com>
"Coby Beck" <·····@mercury.bc.ca> wrote in message news:<·······················@news1.calgary.shaw.ca>...
> <·······@Yahoo.Com> wrote in message
> ·································@posting.google.com...
> > As far as I know, HTML doesn't support strikeout text, but
>
> HTML does <strike>not</strike> support strikeout text...

Hmm, I tried <strike>strikeout</strike> and what showed up was:
  [DEL: strikeout :DEL]
:which is semantically correct per voters guide where that represents
deleted text, but it's not really a strikeout typeface the way that bold
is, so I think I'll get by with <a href="">strikeout</a> as a way to
visually indicate something other than plain or bold, in lieu of
manually generating /s/t/r/i/k/e/o/u/t/ or -s-t-r-i-k-e-o-u-t- which
is rather ugly to try to read. I could also make an inline pull-down
menu that had the deleted text as the first option, which would be
selected initially, and blankness as the second option, which the user
could select so as to get rid of the deleted text and see what the
final text would look like.
From: Coby Beck
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <Lckc8.66547$Cg5.3946857@news1.calgary.shaw.ca>
<·······@Yahoo.Com> wrote in message
·································@posting.google.com...
> "Coby Beck" <·····@mercury.bc.ca> wrote in message
news:<·······················@news1.calgary.shaw.ca>...
> > <·······@Yahoo.Com> wrote in message
> > ·································@posting.google.com...
> > > As far as I know, HTML doesn't support strikeout text, but
> >
> > HTML does <strike>not</strike> support strikeout text...
>
> Hmm, I tried <strike>strikeout</strike> and what showed up was:
>   [DEL: strikeout :DEL]

Sorry, STRIKE appears to have been deprecated, don't know when.  My IE6
still does it though...

--
Coby Beck
(remove #\Space "coby 101 @ bigpond . com")
From: Brian P Templeton
Subject: Re: CMUCL (on Unix) question, how to bleep a user's terminal?
Date: 
Message-ID: <87pu34yk5e.fsf@tunes.org>
·······@Yahoo.Com writes:

> <<Bulent Murtezaoglu (··@acm.org)
>   you can have _unrelated_ proccesses communicate through it
>   given that they know its name and have enough permiss<b>i</b>]ons.>>
> 
> (Before I respond, a side remark: Another utility program
> I'm thinking of writing is one that compares two versions of
> the same file, or two spams that seem to be the same, and
> show the differences between the two in much the same way
> that the California voter's guide shows amendments by using
> strikeout type to indicate deleted text and bold type to
> indicate new text, with regular text for unchanged portions.
> As far as I know, HTML doesn't support strikeout text, but
> does support bold (which shows as orange here on my VT100
> emulator), so I'll have to use some hack to represent
> strikeout text. Anyway, you made a typo in what you said to
> me, so I repaired it per the output of my future
> CalifVoterGuide-format utility. Does anybody know of any
> available funding to pay me for such a programming project?)
> 
Look at Xanadu 88, available from <URL:http://www.udanax.com/>. Xu88
supports an elaborate version of this. Though it's not complete at
all, it may give you some ideas on how to implement it. Emacs' ediff
also supports this, I think.

[...]

hth,
-- 
BPT <···@tunes.org>	    		/"\ ASCII Ribbon Campaign
backronym for Linux:			\ / No HTML or RTF in mail
	Linux Is Not Unix			 X  No MS-Word in mail
Meme plague ;)   --------->		/ \ Respect Open Standards