Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

CMUCL (on Unix) question, how to bleep a user's terminal?

21 views
Skip to first unread message

rem...@yahoo.com

unread,
Jan 8, 2002, 12:48:32 PM1/8/02
to
Manually from a logged-in terminal, the following bleeps me
(audible bells and the text of the message spewed on my screen):
cat > tmpwrite
This is a bleep message.
^D
write rem < tmpwrite
but when I try to do the same thing from inside CMUCL:
(setq chan (make-string-output-stream))
(ext:run-program "/usr/bin/write" (list "rem")
:input "tmpwrite" :output chan :pty chan)
it doesn't work, and when I then check the output:
(get-output-stream-string chan)
I see the error message:
write: can't find your tty
so apparently the 'write' program can't run except directly from
a logged-in terminal.

Is there any Unix program that bleeps somebody's terminal that
can be run via ext:run-program? Alternately is there any CMUCL
function that directly bleeps a logged-in user's terminal?
(Purpose: I know how to set up LISP as a CGI appliation that
handles HTML forms, and now I want to add a feature whereby
my authorized Web/CGI users can bleep me to get my immediate
attention.) If it makes any difference, it's on FreeBSD Unix.

Kaz Kylheku

unread,
Jan 8, 2002, 1:30:56 PM1/8/02
to
In article <ffdf399b.0201...@posting.google.com>,

rem...@Yahoo.Com wrote:
>I see the error message:
> write: can't find your tty
>so apparently the 'write' program can't run except directly from
>a logged-in terminal.

It is to discourage abuses, like someone writing a cron job that spams
everyone's terminal. When you receive a write, the message identifies
who it is from and on what terminal, so you can reply.

>(Purpose: I know how to set up LISP as a CGI appliation that
>handles HTML forms, and now I want to add a feature whereby
>my authorized Web/CGI users can bleep me to get my immediate
>attention.) If it makes any difference, it's on FreeBSD Unix.

Try making your program send e-mail instead. This is a much better
solution, because the mail can be redirected anywhere, and you don't
lose a notification just because you are not logged in when it occurs.

Christopher Browne

unread,
Jan 8, 2002, 2:07:15 PM1/8/02
to

I don't think that answers the issue.

The point is to submit a message if the administrator *is* logged in.

"write" is almost certainly the right program to be using. It's
probably just not getting adequate arguments. It needs a user name,
with optional tty identifier.

Things could be breaking down if:
- write can't figure out a tty to pick
- user has messaging turned off (mesg n) on the tty that gets picked.

This probably can be more readily answered on a Unix newsgroup; after
a quick test (running write in batch, which failed) I suspect that the
issue _is_ the absence of a tty connection, but am not certain. And
it doesn't warrant my spending time downloading sources and such...
--
(concatenate 'string "aa454" "@freenet.carleton.ca")
http://www.ntlug.org/~cbbrowne/rdbms.html
"A 'Cape Cod Salsa' just isn't right." -- Unknown

Thomas F. Burdick

unread,
Jan 8, 2002, 2:42:53 PM1/8/02
to
[ Cross posted to comp.unix.bsd.misc because this is really a FreeBSD
question. Follow-ups not set because I suspect it's going to turn
back into a lisp question. ]

Christopher Browne <cbbr...@acm.org> writes:

> k...@accton.shaw.ca (Kaz Kylheku) writes:
> > In article <ffdf399b.0201...@posting.google.com>,
> >

> > >(Purpose: I know how to set up LISP as a CGI appliation that
> > >handles HTML forms, and now I want to add a feature whereby
> > >my authorized Web/CGI users can bleep me to get my immediate
> > >attention.) If it makes any difference, it's on FreeBSD Unix.
>
> > Try making your program send e-mail instead. This is a much better
> > solution, because the mail can be redirected anywhere, and you don't
> > lose a notification just because you are not logged in when it
> > occurs.
>
> I don't think that answers the issue.
>
> The point is to submit a message if the administrator *is* logged in.
>
> "write" is almost certainly the right program to be using. It's
> probably just not getting adequate arguments. It needs a user name,
> with optional tty identifier.
>
> Things could be breaking down if:
> - write can't figure out a tty to pick
> - user has messaging turned off (mesg n) on the tty that gets picked.
>
> This probably can be more readily answered on a Unix newsgroup; after
> a quick test (running write in batch, which failed) I suspect that the
> issue _is_ the absence of a tty connection, but am not certain. And
> it doesn't warrant my spending time downloading sources and such...

This really is a Unix question. write usually protects against abuse,
and what you're doing probably falls in that category. What you'll
need to do is determine what tty you want to write to, open the
device, and write to it. If you do a 'ls -l /dev/tty*' you'll
probably see what's wrong. On my (Debian) system, they're owned by
the user logged in, and the tty group, with no permissions for anyone
but the user. You'll need the process writing to be in the correct
group, add permissions, write, then change permissions back. And even
then, that's probably a not very secure method.

I'd dedicate one virtual terminal to recieving these messages, and
have a little script to change the group and permissions for the tty
so the daemon can write to it.

--
/|_ .-----------------------.
,' .\ / | No to Imperialist war |
,--' _,' | Wage class war! |
/ / `-----------------------'
( -. |
| ) |
(`-. '--.)
`. )----'

Raymond Wiker

unread,
Jan 8, 2002, 2:50:57 PM1/8/02
to

How about simply using syslog? With suitable configuration,
that gives you the option of writing a message on the screen of
logged-on users belonging to a specific group (as well as to log
files, which may also come handy :-).

--
Raymond Wiker Mail: Raymon...@fast.no
Senior Software Engineer Web: http://www.fast.no/
Fast Search & Transfer ASA Phone: +47 23 01 11 60
P.O. Box 1677 Vika Fax: +47 35 54 87 99
NO-0120 Oslo, NORWAY Mob: +47 48 01 11 60

Try FAST Search: http://alltheweb.com/

Ed L Cashin

unread,
Jan 8, 2002, 7:36:39 PM1/8/02
to
rem...@Yahoo.Com writes:

> Manually from a logged-in terminal, the following bleeps me
> (audible bells and the text of the message spewed on my screen):
> cat > tmpwrite
> This is a bleep message.
> ^D
> write rem < tmpwrite
> but when I try to do the same thing from inside CMUCL:

...


> it doesn't work, and when I then check the output:
> (get-output-stream-string chan)
> I see the error message:
> write: can't find your tty

Which, for me, begs the question: Is there a nice expect-like package
for lisp?

In ruby, you do "require 'pty'; require 'expect'", and off you go.
Maybe there's something similar in lisp.

--
--Ed Cashin integrit file-verification system:
eca...@terry.uga.edu http://integrit.sourceforge.net/

Note: If you want me to send you email, don't munge your address.

rem...@yahoo.com

unread,
Jan 8, 2002, 11:07:14 PM1/8/02
to
k...@accton.shaw.ca (Kaz Kylheku) wrote in message news:<AVG_7.3563$NO5.3...@news2.calgary.shaw.ca>...

> Try making your program send e-mail instead. This is a much better
> solution, because the mail can be redirected anywhere, and you don't
> lose a notification just because you are not logged in when it occurs.

That's no good at all. I won't even know there's e-mail for me until
perhaps several hours later when I happen to check e-mail the next time.
On the current system, if COMSAT is switched on (which I can do from
.procmailrc so that spam doesn't bleep me but e-mail from my special
buddies *does* bleep me), any incoming e-mail generates a header plus
five lines of message text plus audible bleeps. But sometime on or
before this coming Friday we're moving across to a new shell machine
where COMSAT doesn't work, no matter what the setting of the COMSAT
global variable, whether turned on by 'biff y' or explicitly inside
.procmailrc, incoming e-mail never ever bleeps at me, so I'm trying to
find some alternate way for somebody to urgently alert me when I'm online.
If they are sitting on IRC wanting to talk with me, if I get a bleep
within a minute and get on IRC within a couple more minutes, that's fine,
but if they have to sit on IRC for several hours waiting for me to notice
that they've sent me e-mail, that's no good at all.

The later ideas in this thread all seemed bad. In particular filing
a system log just because somebody wants me on IRC seems very bad taste.
So if nobody comes up with anything better, I'll just run a background
LISP that checks for the existance of a class of files every five seconds
or so and bleeps me whenever such a file turns up, like this demo:

* (loop (cond ((directory "/home2/users/rem/public_html/cgi-bin/PerPID/P*-bleep")
(dotimes (n 3) (SYSTEM:BEEP)) (return 'file-now-exists)))
(sleep 5))
^Z
Suspended
shell.tsoft.com% bg
[2] lisp &
shell.tsoft.com% cd ~/public_html/cgi-bin/PerPID
shell.tsoft.com% cat > tmp
The WebUser's message to me goes here.
(I press ctrl-D here)
shell.tsoft.com% mv tmp P3526-bleep
shell.tsoft.com%...
FILE-NOW-EXISTS
*

Explanation: Each Web user running my CGI/CMUCL application will be able
to write files in the PerPID directory that start with P<number> where
that number is the Unix PID (Process ID), so no two users can step on
each other's files. I'll set up a way they can have their particular LISP
server write a file P<number>-tmp then when all done rename it to
P<number>-bleep at which point my background job, as in the demo, will
suddenly notice it (within 5 seconds) and bleep me, then I can manually
look to see what anyone wrote to me in that way.

rem...@yahoo.com

unread,
Jan 8, 2002, 11:24:58 PM1/8/02
to
t...@famine.OCF.Berkeley.EDU (Thomas F. Burdick) wrote in message news:<xcvhepw...@famine.OCF.Berkeley.EDU>...

> > The point is to submit a message if the administrator *is* logged in.

It's possible somebody misunderstood my original description of the
situation: I have a CGI application whereby anyone anywhere in the world
can run my program on my ISP via their Web browser. As part of that CGI
application, I want to create a way whereby registered users of my demo
can bleep me to let me know they are on IRC and want to talk with me,
or they are trying to reach me by phone and need me to get offline etc.
On the FreeBSD Unix itself, I'm just one of several hundred paying users.
I'm nobody special. It's only in regard to my CGI demo that I'm the person
in charge of it who would like to add this particular feature to it, and
only for particular users (of my CGI program) that I've authorized to be
able to bleep me.

> This really is a Unix question. write usually protects against abuse,
> and what you're doing probably falls in that category.

How exactly would it be abuse for me to allow specific Web users of my
CGI application to bleep me to get my attention, but 'biff y' to accomplish
the same thing via e-mail instead of CGI is not abuse?? On our current
tsoft shell machine, 'biff y' works, and toggling the COMSAT variable
inside .procmailrc does the same thing, but before Friday I we're moving
to a new shell machine where biff/COMSAT doesn't work, I don't know why,
and I'm slightly desperate to find a way for people to bleep me by Friday,
or at least shortly after..

> What you'll
> need to do is determine what tty you want to write to, open the
> device, and write to it. If you do a 'ls -l /dev/tty*' you'll
> probably see what's wrong. On my (Debian) system, they're owned by
> the user logged in, and the tty group, with no permissions for anyone
> but the user. You'll need the process writing to be in the correct
> group, add permissions, write, then change permissions back. And even
> then, that's probably a not very secure method.
>
> I'd dedicate one virtual terminal to recieving these messages, and
> have a little script to change the group and permissions for the tty
> so the daemon can write to it.

All of that sounds too complicated or dangerous for me to do, or
something I wouldn't even be authorized/allowed to do.

Christopher Browne

unread,
Jan 9, 2002, 12:00:37 AM1/9/02
to
rem...@Yahoo.Com writes:
> t...@famine.OCF.Berkeley.EDU (Thomas F. Burdick) wrote in message news:<xcvhepw...@famine.OCF.Berkeley.EDU>...
> > This really is a Unix question. write usually protects against abuse,
> > and what you're doing probably falls in that category.

> How exactly would it be abuse for me to allow specific Web users of
> my CGI application to bleep me to get my attention, but 'biff y' to
> accomplish the same thing via e-mail instead of CGI is not abuse??

There was no forcible requirement for everything to be completely
rational :-)

Back in the old days, when low end Unix boxes cost $30K and typically
had 30 users logged into VT100 terminals, the "abuse" was probably an
issue. These days? There are different abuse issues :-(.

> All of that sounds too complicated or dangerous for me to do, or
> something I wouldn't even be authorized/allowed to do.

Your "hack" of dropping the data into a file, and having another
daemon periodically look at that file to notify you sounds like a
reasonable, if not spectacularly elegant, solution.
--
(reverse (concatenate 'string "gro.mca@" "enworbbc"))
http://www.ntlug.org/~cbbrowne/nonrdbms.html
"It's a pretty rare beginner who isn't clueless. If beginners weren't
clueless, the infamous Unix learning cliff wouldn't be a problem."
-- david parsons

Kaz Kylheku

unread,
Jan 9, 2002, 12:59:40 AM1/9/02
to
In article <ffdf399b.02010...@posting.google.com>,

rem...@Yahoo.Com wrote:
>k...@accton.shaw.ca (Kaz Kylheku) wrote in message news:<AVG_7.3563$NO5.3...@news2.calgary.shaw.ca>...
>> Try making your program send e-mail instead. This is a much better
>> solution, because the mail can be redirected anywhere, and you don't
>> lose a notification just because you are not logged in when it occurs.
>
>That's no good at all. I won't even know there's e-mail for me until
>perhaps several hours later when I happen to check e-mail the next time.

If it takes you several hours to get your mail when you are physically
present and logged in, that is odd.

>On the current system, if COMSAT is switched on (which I can do from
>.procmailrc so that spam doesn't bleep me but e-mail from my special
>buddies *does* bleep me), any incoming e-mail generates a header plus
>five lines of message text plus audible bleeps.

Never mind comsat, a half decent shell can tell you that you have new
mail in a local spool and spit out a message like
``you have new mail in /var/spool/mail/yourname''.

If you get mail remotely via say IMAP, you can just keep a mail client
running and connected to the server. Messages drip in, and show up
on the user interface.

>But sometime on or
>before this coming Friday we're moving across to a new shell machine
>where COMSAT doesn't work, no matter what the setting of the COMSAT
>global variable, whether turned on by 'biff y' or explicitly inside
>.procmailrc, incoming e-mail never ever bleeps at me, so I'm trying to
>find some alternate way for somebody to urgently alert me when I'm online.
>If they are sitting on IRC wanting to talk with me, if I get a bleep
>within a minute and get on IRC within a couple more minutes, that's fine,

Can't you just be connected to an IRC server all the time? Someone
can /msg your nick if they want you.

You know, millions of computer-illiterate users have figured out
how to solve the problem you are having. The run an obnoxious little
application called an ``instant messenger''. Have you ever heard of that?
It's connected who knows where all the time, and will alert them when
their buddies are online. These things have all kinds of cutsey features
for little girls and idiots, like emoticons that turn into little
pictures, and multi-colored text.

If you are that desperate to engage in mindless chatter, you can have
your computer page you through some e-mail-to-pager gateway. (See? The
e-mail based solution has latent possibilities that the /bin/write based
solution doesn't.) If I send an e-mail to a special address, it shows
up on my cellular phone, which beeps within seconds of the e-mail being
sent, and I can read it on the phone. This sort of capability is close
to dirt cheap these days.

The concern nowadays would be how to *avoid* all this garbage
coming at you on all these channels.

Raymond Wiker

unread,
Jan 9, 2002, 4:08:50 AM1/9/02
to
rem...@Yahoo.Com writes:

> The later ideas in this thread all seemed bad. In particular filing
> a system log just because somebody wants me on IRC seems very bad taste.

Did you check the manual pages for syslog?

Bulent Murtezaoglu

unread,
Jan 9, 2002, 10:45:49 AM1/9/02
to

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

Brian P Templeton

unread,
Jan 12, 2002, 8:26:18 PM1/12/02
to
k...@accton.shaw.ca (Kaz Kylheku) writes:

Jabber isn't *that* bad. It's useful for private conversation (e.g.
that you don't want on IRC for whatever reason) with logging that's
better than ytalk's. Of course, AOL AIM is completely useless.

> If you are that desperate to engage in mindless chatter, you can have
> your computer page you through some e-mail-to-pager gateway. (See? The
> e-mail based solution has latent possibilities that the /bin/write based
> solution doesn't.) If I send an e-mail to a special address, it shows
> up on my cellular phone, which beeps within seconds of the e-mail being
> sent, and I can read it on the phone. This sort of capability is close
> to dirt cheap these days.
>
> The concern nowadays would be how to *avoid* all this garbage
> coming at you on all these channels.

--
BPT <b...@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

rem...@yahoo.com

unread,
Jan 26, 2002, 3:52:01 PM1/26/02
to
Christopher Browne <cbbr...@acm.org> wrote in message news:<m3bsg4k...@chvatal.cbbrowne.com>...

> Your "hack" of dropping the data into a file, and having another
> daemon periodically look at that file to notify you sounds like a
> reasonable, if not spectacularly elegant, solution.

Thanks. By the way, with biff/comsat not working I found the need to
write a functiion that shows me the key header lines (*) of any new e-mail
that arrives in my inbox, using code I already wrote for parsing BSD
format mail-files, and bleeping my terminal whenever doing so. Using
that primitive, I then wrote a loop that checks for new e-mail and
bleeps if so, and then sleeps for a while (typically one minute) before
checking again. I can then background my LISP running that while I go
off to do something else. With that already implemented now, it seems
like having Web users execute a mailto command will now be the easiest
way for somebody to let me know they need my immediate attention such as
to get on IRC with them. I might write an HTML chat, since Yahoo's HTML
chat doesn't work and there seems to be no other working HTML chat, and
there are some people I'd like to talk with live who don't have IRC.
If and when I do that, it'll be trivial to include a mailto to get my
attention when they're in my HTML-chat wanting me to join them. (In fact
I could have it mailto me whenever anyone whatsoever gets in my HTML chat
when I'm online.)

Nevertheless, for other purposes, I still might also implement the hack
to write info into a file which my daemon would check for at the same time
it checks for new e-mail, and bleep me if either. (Partly becaues mailto
requires manual confirmation by the Web user whereas I can implement
other methods that just happen without the Web user having to do anything
special, like just connecting to my WebServer application might be something
I'd want to know about promptly.)

rem...@yahoo.com

unread,
Jan 26, 2002, 4:13:06 PM1/26/02
to
Bulent Murtezaoglu <b...@acm.org> wrote in message news:<87pu4jp...@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.

Bulent Murtezaoglu

unread,
Jan 26, 2002, 4:40:23 PM1/26/02
to
>>>>> "rem642b" == rem642b <rem...@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

rem...@yahoo.com

unread,
Jan 26, 2002, 5:00:17 PM1/26/02
to
k...@accton.shaw.ca (Kaz Kylheku) wrote in message news:<g%Q_7.5366$9u4.4...@news1.calgary.shaw.ca>...

> If it takes you several hours to get your mail when you are physically
> present and logged in, that is odd.

Normally the *only* e-mail that ever comes to my ISP account is spam,
and automatical acknowledgements of complaints about spam. Maybe
once every two months I get some important message from my sysadmin.
It simply is *not* worth spending my time checking every frew minutes
to see if I have any more spam, when I have to manually start up pine,
manually find where the last spam was, then scan from there forward
to see if there's anything other than spam, then mark in a local file
where the last spam was so I can get back there again. Spam makes
my ISP e-mail account totally useless for any regular e-mail, so I
get all my personal e-mail via my Yahoo account which makes some
attempt to divert spam to a "Bulk Mail" folder instead of my inbox.

I really do want new e-mail, spam and all, to briefly bleep me on-screen,
without me having to spend several minutes going into PINE and checking
manually and keeping track of where I left off etc. I do *not* want to
have to make manual effort to check for new e-mail at regular intervals
when for months on end there's no decent e-mail at all, only spam, and
all my work manually starting up PINE etc. is a waste of my energy.

Fortunately I wrote, in CMUCL, code to automatically remember where the
last of the old e-mail was, and bleep me if there's any new e-mail past
that point, and show me the key header lines (mail0 line, From: and Subject:)
and if that's another spam or auto-ack of spam complaint I can just glance
at it and get ribht back to what I was in the middle of with only that
briefest interruption. Eventually I hope to write code to automatically
recognize the standard formletters for spam-complaint auto-acknowledgements,
such as from UUNET, and *not* bleep me when such new e-mail arrives, but
still update the pointer to the last of the old e-mail. I might even
write code to scan spam to detect common themes and automatically recognize
such themes and *not* bleep me when new spam comes in if it's on a topic
I already know as spam.

> Never mind comsat, a half decent shell can tell you that you have new
> mail in a local spool and spit out a message like
> ``you have new mail in /var/spool/mail/yourname''.

Never mind that. Writing in shell-script language is horribly ugly
compared to writing in LISP. I've already (since I posted a few weeks
ago) implmeneted the alert-new-e-mail function in CMUCL.

> Can't you just be connected to an IRC server all the time? Someone
> can /msg your nick if they want you.

That transmits the text to the TELNET under which I'm running IRC,
but if that TELNET is not the currently running process, and not
in background running, then I won't see that /msg on IRC until maybe
a couple hours later when I happen to re-active my TELNET to see anything
that transpired on my IRC channel during that time. Because IRC sends
the time-of-day once per minute, I don't want to 'bg' my TELNET because
then I'd get time-of-day blasting across my screen once per minute,
forcing me to spend time refreshing my lynx or other screen once per
minute, a royal hassle!!!

If I can figure out how to run IRC under a PTY under CMUCL, then I could
have CMUCL filter output to eliminate the once-per-minute time-of-day
info but show me anything else such as somebody joining my channel.

> You know, millions of computer-illiterate users have figured out
> how to solve the problem you are having. The run an obnoxious little
> application called an ``instant messenger''. Have you ever heard of that?

Yes, I have. I wish it ran on Unix via VT100 dialup, but the last time
I checked there was no such version available. If you know of any,
please tell me. Harassing me with demeaning rhetorical "questions" as
to whether I knot about it is very rude, so please don't do that again.

I doubt *any* computer-illiterate user has *ever* figured out how
to implement Instant Messagner on Unix via VT100 dialup, so what
you are sayign is patently untrue, and demeaning me because I haven't
yet dome something that nobody else even the foremost wizards in the
world has ever done, is very very rude. If the best experts can't
make a version of Instant Messenger that runs on Unix under VT100,
then why do you consider me stupid not to have done it where they failed?

Heck, after I get done with what I'm working on now, if you can show
me the formal protocol specs for Instant Messenger, I might be able to
implement it under CMUCL to run on Unix under VT100 dialup, the first
such implementatin ever. I alrady am thinking of writing a HTML chat
that actualy works, again using CMUCL to implement it. (All the staff
at Yahoo hasn't figured out how to make their HTML club chat work, so
if I manage to figure out how to do something like that, will you give
me some crecit?i At this time, I think I have a pretty good idea how
I want toimplement it, but without any money to pay for my time I won't
do it until my current project is finished.) The only HTML chat I
found that even halfway works is on http://chat.healthyplace.com,
but it has major problems. For example, the only way to see anything
that anybody said is to say something yourself, blind, whereby you get
then to see anything anyone said up to the point you said that new thing,
but nothing anyone said after what you said. If you press the REFRESH
button, it sends another copy of whatever you said before, annoying the
other people in the chat room. I would avoid those annoying design bugs
if and when I write my own HTML chat server.

> It's connected who knows where all the time, and will alert them when
> their buddies are online. These things have all kinds of cutsey features
> for little girls and idiots, like emoticons that turn into little
> pictures, and multi-colored text.

I've never had access to any such thing, so all that is fun to read but
moot to my situation. Like I said, if you know of any version of it that
runs on Unix shell with VT100 dialup, please tell me, other wise quit
bragging about how you have access to something I can't get access to.

> If you are that desperate to engage in mindless chatter, you can have
> your computer page you through some e-mail-to-pager gateway.

There's a woman near Toronto who wants me to teach her how to program
in LISP, by getting together in some kind of live online chat whereby
I can copy&paste between our chat and my local Unix CMUCL session as
I explain what's going on.. How exactly is that midless chatter?
(You seem to be prejudging a lot. That's very rude and stupid of you.)
Unfortunatley she doesn't have IRC and doesn't know how to downloadi
new software, so I can't simply get on IRC with her as I did with the
person in Pennsylvania. (She didn't even know hexadecimal notation,
so I explained it to her via IRC.)

As for the pager specifically: How will feeding stuff into soembody's
pager be of any use to me? Will you pay me to write LISP software for
you so that I can have money for a pager of my own?? Or will you allow
me to send bleeps to your pager then you'll walk over to my apartment
to let me know you got a page that was really for me?

> If I send an e-mail to a special address, it shows
> up on my cellular phone, which beeps within seconds of the e-mail being
> sent, and I can read it on the phone. This sort of capability is close
> to dirt cheap these days.

What's your special address? I'd like to re-direct all my spam there
so you instead of I will have to deal with it.

> The concern nowadays would be how to *avoid* all this garbage
> coming at you on all these channels.

That's only half the problem. The other half is getting the good
stuff in a timely manner. Funny how you seem to not see half the problem.

Will you please try my CGI/CMUCL application:
http://shell.rawbw.com/~rem/cgi-bin/topscript.cgi
:which is admittedly a frivolous application but demonstrates some really
useful utilities I've written, such as matching substrings of student's
typed-in answer against substrings of correct answer to guide the student
toward the correct answer, for many online educational applications such
as learning reading/spelling/punctuation/grammar, foreign languages,
technical jargon, anything else you have to memorize before you can
use that to go further (for example, if you can't remember any of the
foreign language vocabulary, all the grammar rules are worthless).
Then please help me find somebody willing to pay me to develop WebServer
applications of a more serious use for them? One new idea I have lately,
since discovering that Roget's International Thesaurus is online, is
to use the thesaurus as a starting point for understanding natural
language, disambiguating words that have more than one meaning, for such
uses as FAQ-answering, computer dating, ... Do you know anybody interested
in funding work on that approach toward natural-language understanding?

rem...@yahoo.com

unread,
Jan 26, 2002, 5:05:24 PM1/26/02
to
Raymond Wiker <Raymon...@fast.no> wrote in message news:<86k7urr...@raw.grenland.fast.no>...

> rem...@Yahoo.Com writes:
> > The later ideas in this thread all seemed bad. In particular filing
> > a system log just because somebody wants me on IRC seems very bad taste.
> Did you check the manual pages for syslog?

Yes. It starts right off saying:
The syslog() function writes message to the system message logger.
When some private party is wishing to tell me privately that she's on IRC
and wants me to join her, one thing I most definitely do **not** want is
for this information to be put in the SYSTEM MESSAGE LOG!!!!
Likewise if one of the users of my CGI/CMUCL WebServer application wants
to ask me a question about that application. I want to be alerted privately,
not have it entered as if a unix system problem.
Accordingly syslog seems totally inappropriate for my purpose.

Kaz Kylheku

unread,
Jan 26, 2002, 7:34:28 PM1/26/02
to
In article <ffdf399b.02012...@posting.google.com>,

rem...@Yahoo.Com wrote:
>If I can figure out how to run IRC under a PTY under CMUCL, then I could
>have CMUCL filter output to eliminate the once-per-minute time-of-day
>info but show me anything else such as somebody joining my channel.
>
>> You know, millions of computer-illiterate users have figured out
>> how to solve the problem you are having. The run an obnoxious little
>> application called an ``instant messenger''. Have you ever heard of that?
>
>Yes, I have. I wish it ran on Unix via VT100 dialup, but the last time
>I checked there was no such version available. If you know of any,
>please tell me.

It exists. It's called IRC; you already use it.

There is a nice piece of Unix freeware called ``screen''. It's has been
around for years and years. It multiplexes multiple virtual tty sessions
on one tty, and even allows you to detach and reattach these sessions. You
could have an IRC running in one virtual window while doing things in
other ones. The program can watch the sessions for activity and alert
you. So if someone, for instance, sends you a /msg in the IRC window,
you will know. Screen is extremely useful for people like yourself who
use dialup.

I sincerely hope you get together with that woman in Toronto who can't
download or install programs, but supposedly wants to learn to program.
Your odds are not great, however, and you will actually have to go
to Toronto if your net.fantasies are to come true.

Dennis Marti

unread,
Jan 26, 2002, 11:52:06 PM1/26/02
to
In article <ffdf399b.02012...@posting.google.com>,
rem...@Yahoo.Com wrote:

[asked about running instant messenger]

> Yes, I have. I wish it ran on Unix via VT100 dialup, but the last time
> I checked there was no such version available. If you know of any,
> please tell me.

http://tnt.sourceforge.net/

Dennis

Paolo Amoroso

unread,
Jan 27, 2002, 8:40:44 AM1/27/02
to
On 26 Jan 2002 14:00:17 -0800, rem...@Yahoo.Com wrote:

> If I can figure out how to run IRC under a PTY under CMUCL, then I could

This might be useful:

http://sourceforge.net/projects/chattal/

You may also have a look at the IRC bots mentioned in the IRC section of
CLiki:

http://ww.telent.net/cliki


Paolo
--
EncyCMUCLopedia * Extensive collection of CMU Common Lisp documentation
http://web.mclink.it/amoroso/ency/README
[http://cvs2.cons.org:8000/cmucl/doc/EncyCMUCLopedia/]

Raymond Wiker

unread,
Jan 28, 2002, 12:27:43 PM1/28/02
to
rem...@Yahoo.Com writes:

The *second* sentence says

| The message is then written to the system console, log files,
| logged-in users, or forwarded to other machines as appropriate.

Are you getting a clue, yet?

wis...@inetmi.com

unread,
Feb 8, 2002, 11:57:58 PM2/8/02
to
Dennis Marti <dennis...@yahoo.com> writes:

I've used this code as a base for a Common Lisp version, it's not
hard. If someone is dying to have it, I might be able to give it out.


John


rem...@yahoo.com

unread,
Feb 15, 2002, 4:26:59 PM2/15/02
to
<<Bulent Murtezaoglu (b...@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.

rem...@yahoo.com

unread,
Feb 15, 2002, 5:51:55 PM2/15/02
to
I previously said:
>If I can figure out how to run IRC under a PTY under CMUCL, then I could
>have CMUCL filter output to eliminate the once-per-minute time-of-day
>info but show me anything else such as somebody joining my channel.
whereupon somebody replied that I should use Instant
Messenger instead of IRC, whereupon I responded that Instant
Messenger isn't available on Unix as far as I know:
>... I wish it ran on Unix via VT100 dialup, but the last time

>I checked there was no such version available. If you know of any,
>please tell me.
whereupon Kaz Kylheku (k...@accton.shaw.ca) responded:

<<It exists. It's called IRC; you already use it.>>

Context error: That makes no sense in relation to what we
were saying. It is *not* possible for me to use IRC to talk
to IM people or vice versa as far as I know. Am I correct?
Furthermore, IRC doesn't provide the same style of services
that IM provides, which is a good reason why nobody has
setup a gateway between them, right? Furthermore your flip
remark that I'm already using IRC and claiming that's
asolution to my problem that IRC insists on printing a
time-of-day message every minute, is flat out wrong and
disrespectful of me and my query. The IRC that I know is in
no way a Unix implementation of IM!! I stand by my claim
that there is no implementation of IM that runs on Unix
under VT100 dialup, but I would be glad if I'm mistaken and
somebody with more courtesy than Kaz Kylheku would please
tell me where to find such. In the mean time, I'll be stuck
with IRC until such time as I use CGI/CMUCL to implement a
working HTML chatroom (Yahoo Club's HTML chat is totally
broken, and HealthyPlace's HTML chat is almost unusable, I'm
sure I can do better than either, which would finally allow
people on Unix VT100 shell accounts who don't have java
available to talk live with people on non-Unix systems who
don't have IRC available and don't want to go to all the
trouble of downloading and installing it just to talk with
me live). P.S. Is there any funding available to pay me to
develop such an HTML chat service? I might even interface it
to IRC, so that anyone with HTML but not IRC can go through
my interace to get on IRC channels.

<<There is a nice piece of Unix freeware called ``screen''.
It's has been around for years and years. It multiplexes
multiple virtual tty sessions on one tty, and even allows
you to detach and reattach these sessions. You could have an
IRC running in one virtual window while doing things in
other ones. The program can watch the sessions for activity
and alert you.>>

I already can do that simply by running multiple TELENTs in
background. Any output from any of them is spewed out to my
terminal.

<<So if someone, for instance, sends you a /msg in the IRC
window, you will know.>>

TELNET in background already does that. You beg the question
I asked: How to filter out those per-minute time-of-day
notices that IRC loves to print to the next-to-bottom line
of the screen, while still allowing all other traffic such
as somebody joining the channel or somebody talking on the
channel to be seen by me right away (or alert me that I need
to check the IRC process when that happens, but *not8 alert
every minute when the time-of-day banner is printed).

So does the 'screen' program support easily-tailored
filtering of what (from the sub-process, IRC in this case)
it just ignores and what it alerts me to, sort of analagous
to a killfile for filtering a UseNet newsfeed, or a buddies
vs. enemies filter for Instant Messenger, or like
procmail-based spam filter for e-mail, etc., except it's
done on a per-line basis within an existing
connection/session?

rem...@yahoo.com

unread,
Feb 15, 2002, 6:02:14 PM2/15/02
to
wis...@inetmi.com wrote in message news:<ug04bi...@chicago.inetmi.com>...

<<I've used this code as a base for a Common Lisp version,
it's not hard. If someone is dying to have it, I might be
able to give it out.>>

Does it work only with AOL IM, or also with Yahoo Messenger?

Does it use a biff/comsat-like method (*) to alert the user
when a new message arrives if that user has been off doing
something else until then?

Does it work fine if I'm connected to Unix shell via VT100
dialup and not using 'screen' at the time?

* ("method" in the normal English sense, not specifically
the OOP/Flavors jargon)

Bulent Murtezaoglu

unread,
Feb 15, 2002, 6:13:40 PM2/15/02
to
>>>>> "rem642b" == rem642b <rem...@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


Coby Beck

unread,
Feb 15, 2002, 7:23:14 PM2/15/02
to

<rem...@Yahoo.Com> wrote in message
news:ffdf399b.02021...@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")


wis...@inetmi.com

unread,
Feb 15, 2002, 8:14:23 PM2/15/02
to
rem...@Yahoo.Com writes:

> wis...@inetmi.com wrote in message news:<ug04bi...@chicago.inetmi.com>...
> <<I've used this code as a base for a Common Lisp version,
> it's not hard. If someone is dying to have it, I might be
> able to give it out.>>
>
> Does it work only with AOL IM, or also with Yahoo Messenger?

AOL IM only.


> Does it use a biff/comsat-like method (*) to alert the user when a
> new message arrives if that user has been off doing something else
> until then?
>
> Does it work fine if I'm connected to Unix shell via VT100 dialup
> and not using 'screen' at the time?

Sorry, I should have made it more clear that while the emacs version
is in fact a full-featured client with user interface and everything,
the common lisp version is just a library for writing clients.


John


rem...@yahoo.com

unread,
Feb 16, 2002, 12:16:22 AM2/16/02
to
Paolo Amoroso <amo...@mclink.it> wrote in message news:<2PZTPF4iUMg6RKA1qs2=Eyt=jX=t...@4ax.com>...

<<This might be useful:
http://sourceforge.net/projects/chattal/ >>

[[Artificially Intelligent IRC Agent. An artificially intelligent
Internet Relay Chat Agent (or bot) that mimics human interaction, and
provides an information repository for learned topics. Goal is to make
interaction indistinguishable from a human.]]

<<...>> denotes text the other person wrote in this thread,
whereas [[...]] denotes text found on a WebPage per the
just-preceding URL.

Um, that's not what I'm interested in accomplishing (and
'bots such as that are forbidden on the IRC net that I
typically use). I just want a TELNET-like thing between me
and IRC that filters content so it bleeps me on some things
but not on others, specifically for the moment bleeping me
for everything except per-minute clock-updates.

<<You may also have a look at the IRC bots mentioned in the
IRC section of CLiki:
http://ww.telent.net/cliki>>

Um, I got sidetracked by some wonderful stuff there, such as
the comparioson between LISP and java/C/C++ whereby LISP
runs as fast as C/C++ which is much faster than Java, uses
about the same amount of memory as Java, and has much
shorter development time than any of the others, making it
preferrable to Java without question and a viable
alternative to C/C++ on any machine with lots of RAM,
especially one that shares pages the way CMUCL does on Unix
so that all the many copies of CMUCL that are started don't
really consume much new memory each. The only problem is
there are java-enabled Web browsers and WebSites that cater
to them, so maybe somebody here should make a LISP-enabled
browser and then make some WebSites that cater to them?
And just to be smart about it, emulate Java inside CL so
that our LISP-based WebBrowser can do all the stuff the
Java-catering WebSites ask us to do.

rem...@yahoo.com

unread,
Feb 16, 2002, 12:24:07 AM2/16/02
to
Raymond Wiker <Raymon...@fast.no> wrote in message news:<86bsfei...@raw.grenland.fast.no>...
<<The *second* sentence says>>

| The message is then written to the system console, log files,
| logged-in users, or forwarded to other machines as appropriate.

I don't want **any** of those things to happen when somebody
connects to my WebServer application, not writing anything
to the system console, not writing anything in the system
log files, not broadcasting to all logged in users, and not
forwarding to some other machine. I want just myself, one
user on the *same* machine, the person who wrote the
WebServer application, nobody else whatsoever on any machine
anywhere, to be alerted, just the same as when I receive
e-mail and biff/comsat is supposed to bleep me and nobody
else.

<<Are you getting a clue, yet?>>

Your verbal abuse of me via this NewsGroup is **not** appreciated.
If you can't say anything nice, then shut the fuck up!

Raymond Wiker

unread,
Feb 16, 2002, 3:57:45 AM2/16/02
to
rem...@Yahoo.Com writes:

> Raymond Wiker <Raymon...@fast.no> wrote in message news:<86bsfei...@raw.grenland.fast.no>...
> <<The *second* sentence says>>
>
> | The message is then written to the system console, log files,
> | logged-in users, or forwarded to other machines as appropriate.
>
> I don't want **any** of those things to happen when somebody
> connects to my WebServer application, not writing anything
> to the system console, not writing anything in the system
> log files, not broadcasting to all logged in users, and not
> forwarding to some other machine. I want just myself, one
> user on the *same* machine, the person who wrote the
> WebServer application, nobody else whatsoever on any machine
> anywhere, to be alerted, just the same as when I receive
> e-mail and biff/comsat is supposed to bleep me and nobody
> else.

Since you *still* don't seem to have looked at the appropriate
man pages, I quote from the manpage from syslog.conf:

# Root and Eric get alert and higher messages.
*.alert root,eric

So, if you tried something like

local0.* rem642b

--- any syslog info tagged with the "local0" facility should be sent
directly to you, if you're logged in.

> <<Are you getting a clue, yet?>>
>
> Your verbal abuse of me via this NewsGroup is **not** appreciated.
> If you can't say anything nice, then shut the fuck up!

And if you are unable/unwilling to follow up on advice given,
you may as well just stop asking.

Brian P Templeton

unread,
Feb 16, 2002, 9:55:26 PM2/16/02
to
rem...@Yahoo.Com writes:

> <<Bulent Murtezaoglu (b...@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,

rem...@yahoo.com

unread,
Feb 18, 2002, 7:39:30 PM2/18/02
to
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 <b...@acm.org> wrote in message news:<87aduaj...@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.)

rem...@yahoo.com

unread,
Feb 18, 2002, 7:50:42 PM2/18/02
to
"Coby Beck" <cb...@mercury.bc.ca> wrote in message news:<SDhb8.46343$Cg5.2...@news1.calgary.shaw.ca>...

> <rem...@Yahoo.Com> wrote in message
> news:ffdf399b.02021...@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.

Dr. Edmund Weitz

unread,
Feb 18, 2002, 7:53:46 PM2/18/02
to
rem...@Yahoo.Com writes:

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/>

rem...@yahoo.com

unread,
Feb 18, 2002, 8:26:32 PM2/18/02
to
Raymond Wiker <Raymon...@fast.no> wrote in message news:<86eljl6...@raw.grenland.fast.no>...

<<I quote from the manpage from syslog.conf>>

If that's where the answer to my question is located, you
could have told me about that in the first place, instead of
treating me like some kind of idiot for not reading your
mind to the learn that's where to find the answer.

When somebody mentionned syslog, I did just 'man syslog',
and got something that sounded just like the name seemed to
imply, a way to post messages to the system log, mostly to
be read by my ISP's sysadmin, not a private way to send me
an alert as I had requested. So now I've done:
whereis syslog.conf
syslog.conf:
I.e. there is no such file anywhere public on our whole
FreeBSD system, so even if I had known where to look there's
no such place to look, but at least if you had told me to
look there from the outset I could have told you right away
there's no such file.

# Root and Eric get alert and higher messages.
*.alert root,eric
So, if you tried something like
local0.* rem642b
--- any syslog info tagged with the "local0" facility should be sent
directly to you, if you're logged in.

But if I read that correctly, it would **also** go to root,
which is something I do **not** want to happen!!

All I want is a private way that the users of my CGI/Web
page can alert me when they need my attention, or whereby
software in my CGI server application can decide to alert me
on its own initiative. root has no business knowing when the
users of my WebPage wish to alert me, any more than root
needs to eavesdrop on your Instant Messager inbox.

I think that writing a file sub-classified per process ID
(so that two different users of my CGI server can't step on
each other's attempts to communicate with me) and/or use a
'fifo' pipe-line pseudo-file-thingy.

Having my background job do something like
(loop (if (directory (format nil "~A~A" g*cgi-perpid-dir "P*-alert-rem*"))
(...))
(sleep 60))
seems the simplest way to implement things for now
(optimized so it doesn't have to re-build the argument to
directory repeatedly, and so it saves the non-NIL result
from directory for use within (...) which actually reads the
contents of each such file and alerts me and deletes those
files). Hmm, the following would probably be the way to do it:
(loop (mapc (function handle-one-alert) (directory ...alert...))
(sleep 60))
Or if I want to keep the alerts strictly in chronological
order, thereby emulating a fifo, I could pass that latest
batch to a function that sorts the various alert-files by
date written, like this:
(loop (mapc (function handle-one-alert)
(sort-files-by-time-written (directory ...alert...)))
(sleep 60))

Coby Beck

unread,
Feb 18, 2002, 11:08:11 PM2/18/02
to

<rem...@Yahoo.Com> wrote in message
news:ffdf399b.02021...@posting.google.com...
> "Coby Beck" <cb...@mercury.bc.ca> wrote in message
news:<SDhb8.46343$Cg5.2...@news1.calgary.shaw.ca>...
> > <rem...@Yahoo.Com> wrote in message
> > news:ffdf399b.02021...@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...

Tim Bradshaw

unread,
Feb 18, 2002, 8:47:19 PM2/18/02
to
* rem642b wrote:

> But if I read that correctly, it would **also** go to root,
> which is something I do **not** want to happen!!

You don't read it correctly.

--tim

Bulent Murtezaoglu

unread,
Feb 19, 2002, 1:11:54 AM2/19/02
to
>>>>> "rem642b" == rem642b <rem...@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



Dr. Edmund Weitz

unread,
Feb 19, 2002, 1:31:13 AM2/19/02
to
rem...@Yahoo.Com writes:

> Raymond Wiker <Raymon...@fast.no> wrote in message news:<86eljl6...@raw.grenland.fast.no>...
> <<I quote from the manpage from syslog.conf>>
>
> If that's where the answer to my question is located, you
> could have told me about that in the first place, instead of
> treating me like some kind of idiot for not reading your
> mind to the learn that's where to find the answer.
>
> When somebody mentionned syslog, I did just 'man syslog',
> and got something that sounded just like the name seemed to
> imply, a way to post messages to the system log, mostly to
> be read by my ISP's sysadmin, not a private way to send me
> an alert as I had requested. So now I've done:
> whereis syslog.conf
> syslog.conf:
> I.e. there is no such file anywhere public on our whole
> FreeBSD system, so even if I had known where to look there's
> no such place to look, but at least if you had told me to
> look there from the outset I could have told you right away
> there's no such file.

You should really learn to use your operating system before you accuse
other people of giving you false advise.

'whereis' is for locating _programs_, not random files, on your system
- check

man whereis

for details. If your FreeBSD system is more or less a default install
you might get away with

locate syslog.conf

to find the file itself. It should be 'hidden' in /etc. However,
Raymond Wiker advised you to read 'the manpage from syslog.conf' - so
you should have just tried

man syslog.conf

Presto!

Maybe you should get some 'Unix for newbies' book first.

Erik Naggum

unread,
Feb 19, 2002, 4:22:43 AM2/19/02
to
* rem...@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.

rem...@yahoo.com

unread,
Feb 22, 2002, 3:15:12 PM2/22/02
to
Bulent Murtezaoglu <b...@acm.org> wrote in message news:<87y9hqh...@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.

rem...@yahoo.com

unread,
Feb 22, 2002, 3:27:22 PM2/22/02
to
Erik Naggum <er...@naggum.net> wrote in message news:<32230993...@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?

Nils Goesche

unread,
Feb 22, 2002, 4:29:18 PM2/22/02
to
In article <ffdf399b.02022...@posting.google.com>, rem...@Yahoo.Com wrote:
> Erik Naggum <er...@naggum.net> wrote in message news:<32230993...@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

Erik Naggum

unread,
Feb 22, 2002, 4:33:50 PM2/22/02
to
* rem...@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.

Bulent Murtezaoglu

unread,
Feb 22, 2002, 6:22:22 PM2/22/02
to
>>>>> "rem642b" == rem642b <rem...@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.

Daniel Barlow

unread,
Feb 22, 2002, 3:41:56 PM2/22/02
to

[ comp.unix.bsd.misc deleted from Newsgroups line because I don't read
it ]

rem...@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

Thomas F. Burdick

unread,
Feb 24, 2002, 9:55:47 PM2/24/02
to
[ c.l.l only ]

rem...@Yahoo.Com writes:

> Erik Naggum <er...@naggum.net> wrote in message news:<32230993...@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! |
/ / `-----------------------'
( -. |
| ) |
(`-. '--.)
`. )----'

rem...@yahoo.com

unread,
Mar 15, 2002, 10:55:58 AM3/15/02
to
Bulent Murtezaoglu <b...@acm.org> wrote in message news:<873czth...@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 b...@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.

rem...@yahoo.com

unread,
Mar 15, 2002, 11:15:16 AM3/15/02
to
Nils Goesche <car...@cartan.de> wrote in message news:<a56d7e$513bd$1...@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??

Ingvar Mattsson

unread,
Mar 15, 2002, 11:21:09 AM3/15/02
to
rem...@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))))))

rem...@yahoo.com

unread,
Mar 15, 2002, 11:28:52 AM3/15/02
to
Erik Naggum <er...@naggum.net> wrote in message news:<32234024...@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.

rem...@yahoo.com

unread,
Mar 15, 2002, 11:55:44 AM3/15/02
to
t...@apocalypse.OCF.Berkeley.EDU (Thomas F. Burdick) wrote in message news:<xcvadty...@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).

Thomas Bushnell, BSG

unread,
Mar 15, 2002, 12:08:28 PM3/15/02
to
rem...@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

rem...@yahoo.com

unread,
Mar 15, 2002, 12:25:48 PM3/15/02
to
e...@agharta.de (Dr. Edmund Weitz) wrote in message news:<m3vgcuj...@bird.agharta.de>...

> Raymond Wiker advised you to read 'the manpage from syslog.conf' - so
> you should have just tried
> man syslog.conf

I don't know why it didn't before, but it works now.
It says it's the configuration file for the syslogd program,
so I looked there next:

The syslogd daemon reads and logs messages to the system console, log
files, other machines and/or users as specified by its configuration
file.

That still reads like the sysadmin sets up this configuration file
to tell where system emergency alerts will be sent, like to his personal
mailbox and whatever terminal he's logged on etc., and even to his
console and/or mailbox on other machines, so if he's on one machine he
can still be aware of an emergency on another machine. It doesn't sound
like anything a regular user on an ISP with hundreds of users should
be tampering with to make syslog messages go to him personally instead
of to the sysadmin, so that he can usurp the syslog facility to provide
a private means of communicating between several of his own programs
some of which are being used via CGI. Somehow I feel like you Unix
experts are treating me like a novice deserving a KICK ME sign on my back,
trying to trick me into using syslog and getting kicked off my ISP as
a result. Have you pulled this stupid trick on other Unix novices before?
Did you get a kick out of pulling such a joke on them as some stupid
initiation stunt like wolfing down goldfish with vodka??

I'll stick with writing PID-specific files, or maybe FIFO, and avoid
messing with syslogd.

CGI application:
(let* ((pid (getpid)) ;Protects against other process interference
(gen (gensym)) ;Protects me if I write two messages in sequence
; during single session before daemon sees first.
(fn1 (format nil "P~5D-~A-unfinished" pid gen)
(fn2 (format nil "P~5D-~A-finished" pid gen))
(with-open-file (ochan fn1)
(format ochan "Stuff directed at maintainer of WebServer application"))
(rename-file fn1 fn2)) ;Protects against daemon seeing partly-written file.

My daemon:
(loop (mapcar #'handle-cgi-msg (directory "*-finished")) (sleeep 60))

Caveat: Both the with-open-file and the directory would have to specify
the correct /usr/rem/public_html/cgi-bin/PerPID/ directory in front
of the filename or search template (respectively) shown above.

Remark: The PID-parameterized temporary files are such a simple solution,
I don't understand why anybody is suggesting I use syslogd or FIFO instead.

Thomas F. Burdick

unread,
Mar 15, 2002, 12:55:12 PM3/15/02
to

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.

Thomas Bushnell, BSG

unread,
Mar 15, 2002, 1:20:48 PM3/15/02
to
t...@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.

Christopher Browne

unread,
Mar 15, 2002, 2:38:59 PM3/15/02
to

(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!

Erik Naggum

unread,
Mar 15, 2002, 3:44:51 PM3/15/02
to
* rem...@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.

Raymond Toy

unread,
Mar 15, 2002, 5:25:25 PM3/15/02
to
>>>>> "Christopher" == Christopher Browne <cbbr...@acm.org> writes:

Christopher> The world rejoiced as tb+u...@becket.net (Thomas Bushnell, BSG) wrote:
>> rem...@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

Paolo Amoroso

unread,
Mar 16, 2002, 4:29:58 AM3/16/02
to
On 15 Mar 2002 14:38:59 -0500, Christopher Browne <cbbr...@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/]

Thomas F. Burdick

unread,
Mar 16, 2002, 8:50:57 PM3/16/02
to
[ very off-topic ]

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

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 :)

Paolo Amoroso

unread,
Mar 17, 2002, 2:12:07 PM3/17/02
to
On 15 Mar 2002 17:25:25 -0500, Raymond Toy <t...@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 Amoroso

unread,
Mar 17, 2002, 4:25:32 PM3/17/02
to
On 16 Mar 2002 17:50:57 -0800, t...@blizzard.OCF.Berkeley.EDU (Thomas F.
Burdick) wrote:

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

^
e

Thomas F. Burdick

unread,
Mar 17, 2002, 10:28:37 PM3/17/02
to
Paolo Amoroso <amo...@mclink.it> writes:

> On 16 Mar 2002 17:50:57 -0800, t...@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 ...

Thomas F. Burdick

unread,
Mar 17, 2002, 10:31:00 PM3/17/02
to
Paolo Amoroso <amo...@mclink.it> writes:

> On 15 Mar 2002 17:25:25 -0500, Raymond Toy <t...@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.

Robert Maas, http://tinyurl.com/uh3t

unread,
Oct 14, 2009, 4:13:15 AM10/14/09
to
> Date: 18 Feb 2002 17:26:32 -0800
> From: rem6...@Yahoo.Com

I thought I had already posted a followup saying what solution I
found that worked, in early/mid 2002, but I checked this entire
thread just now and don't see any such resolution of the problem,
so I'll compose+post a followup now, very belatedly:

> I think that writing a file sub-classified per process ID
> (so that two different users of my CGI server can't step on
> each other's attempts to communicate with me) and/or use a
> 'fifo' pipe-line pseudo-file-thingy.

I ended up using a 'fifo'. From my login shell, I run a
shell-script that loops repeatedly, waiting for data to be
available from the 'fifo', and when data is available it copies it
to my terminal, then goes back in the loop to wait for another
bunch of 'fifo' data. Here's the shell script:

> more scanmail
: 'grep -i durkin /var/mail/rem'
: 'grep ReSpam2002Jan08 /var/mail/rem'
: 'grep ccsj /var/mail/rem'
/home/users/rem/bin/showloc
/home/users/rem/bin/watchFifo

> more watchFifo
while test 1 -eq 1
do
cat /home/users/rem/Fifos/cgiToTerm
ps
sleep 5
done

So the first thing I do after logging in (now after starting up
'screen') is to say:

scanmail &

Whenever one of my CGI applications wants to bleep me, it simply
opens that fifo for output, sends a couple ASCII BEL (7) characters
plus a message, and closes the file. The background
scanmail/watchFifo loop spews that to my logged in terminal (or
spews through 'screen' to my logged in terminal) right in the
middle of whatever I'm doing. Because it isn't trasmitting carriage
returns for newlines, only linefeeds, whenever I'm in any
full-screen program such as lynx it spews diagonally, like this:
line1
line2
line3
Since I know it's from my CGI application, I know where it wrote
the temporary file it used as the text of the fifo-alert, so if it
spewed right in the middle of a lynx screen-refresh and thus got
erased before I could see it, I can always go to the temporary file
to see what it was trying to say to me, such as:

1 -rw-r--r-- 1 rem user 26 Oct 13 14:33 guest1-Login
1 -rw-r--r-- 1 rem user 61 Oct 13 14:33 guest1-alert.txt
1 -rw-r--r-- 1 rem user 26 Sep 29 19:29 calr...@spamgourmet.com-Login
1 -rw-r--r-- 1 rem user 80 Sep 29 19:29 calr...@spamgourmet.com-alert.txt
1 -rw-r--r-- 1 rem user 26 Sep 29 19:24 rem-Login
1 -rw-r--r-- 1 rem user 58 Sep 29 19:24 rem-alert.txt

> more guest1-alert.txt
Via IP number "198.144.193.2" / user "guest1" logged in now.

> more calr...@spamgourmet.com-alert.txt
Via IP number "198.144.193.2" / user "CalR...@SpamGourmet.Com" logged in now.


For a more interesting demo, I logged into the guest1 account just
now and sent me an instant alert message:
1 -rw-r--r-- 1 rem user 39 Oct 14 01:07 guest1-LocMsg.txt
1 -rw-r--r-- 1 rem user 34 Oct 14 01:07 guest1-alert.txt
1 -rw-r--r-- 1 rem user 26 Oct 14 01:06 guest1-Login

> more guest1-alert.txt
User "guest1" sent short message.

> more guest1-LocMsg.txt
Test for purpose of newsgroup article.

Raymond Toy

unread,
Oct 14, 2009, 6:11:39 PM10/14/09
to Robert Maas, http://tinyurl.com/uh3t
Robert Maas, http://tinyurl.com/uh3t wrote:
>> Date: 18 Feb 2002 17:26:32 -0800
>> From: rem6...@Yahoo.Com
>
> I thought I had already posted a followup saying what solution I
> found that worked, in early/mid 2002, but I checked this entire
> thread just now and don't see any such resolution of the problem,
> so I'll compose+post a followup now, very belatedly:
>

Did you ever try the 19f or 20a release with your code? Does that fix
the problem with your old version of cmucl crashing during gc?

It would be helpful if you joined the cmucl mailing list. It's hard to
follow this discussion among all the other topics being dicussed in the
same thread.

Ray

0 new messages