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

Logical pathname hosts.

60 views
Skip to first unread message

robert_...@yahoo.com

unread,
Dec 21, 1998, 3:00:00 AM12/21/98
to
How do I take a pathname like:
/home/rmiles/code/lisp/source/demos/foo.lisp

and set it up so that I can do stuff like:

(load "demo:foo.lisp")

instead of

(load "/home/rmiles/code/lisp/source/demos/foo.lisp")

-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own

Erik Naggum

unread,
Dec 21, 1998, 3:00:00 AM12/21/98
to
* robert_...@yahoo.com

| How do I take a pathname like:
| /home/rmiles/code/lisp/source/demos/foo.lisp
|
| and set it up so that I can do stuff like:
|
| (load "demo:foo.lisp")
|
| instead of
|
| (load "/home/rmiles/code/lisp/source/demos/foo.lisp")

(setf (logical-pathname-translations "demo")
'(("**;*.*" "/home/rmiles/code/lisp/source/demos/")
(";**;*.*" "/home/rmiles/code/lisp/source/demos/")))

this sets up both absolute and relative logical pathnames (in that order)
on the host DEMO to map to the same directory.

under Allegro CL, you could also put this into sys:hosts.cl:

"demo" '(#L"**;*.*" #P"/home/rmiles/code/lisp/source/demos/")
'(#L";**;*.*" #P"/home/rmiles/code/lisp/source/demos/")

or put it in some other file and register that file as a hosts map:

(push <some-other-file> (logical-pathname-translations-database-pathnames))

(#L is a pathname syntax that forces the string into a logical pathname.
it turns out to be a very useful extension to the standard syntax, which
would use #P in both cases. not that this wouldn't work in this case.)

it is generally a good idea to separate the logical hosts setup as much
as possible from your other code so you won't need to recompile anything
if you move things around. after all, that's the purpose of this thing.

#:Erik
--
Nie wieder KrF! Nie wieder KrF! Nie wieder KrF! Nie wieder KrF!

robert_...@yahoo.com

unread,
Dec 21, 1998, 3:00:00 AM12/21/98
to
In article <31231921...@naggum.no>,

Erik Naggum <er...@naggum.no> wrote:
> (setf (logical-pathname-translations "demo")
> '(("**;*.*" "/home/rmiles/code/lisp/source/demos/")
> (";**;*.*" "/home/rmiles/code/lisp/source/demos/")))

Thank you. This worked on the Redhat ACL5 I downloaded, but does not work on
the CMUCL I downloaded. However, CMUCL has this neat feature called "search
lists" that let you specify a host like: (setf (ext:search-list "lisp:")
'("/home/rmiles/code/lisp/"))

This let's you specify a tree trunk, so that you can then do stuff like:
(load "lisp:source/demos/foo.lisp")

But ACL does not have this, and I guess the right way is to use ANSI Common
Lisp to specify a seperate host for each sub-directory and keep things as
split up as possible? I've been reading the hyperspec about the pathname
stuff, but I'm pretty confused. It seems like it's possible to specify a
trunk like I did above with ext:search-list except using ANSI CL and then do
an equivalent load statement something like: (load
"lisp:source;demos;foo.lisp") ; maybe not with the ".lisp" (????)

Is this possible? Or is it best to do a seperate host each for source and
demos? Anyways, thanks again for the info. It probably should work with CMUCL
but maybe I screwed up somewhere.

Thanks again,
Rob

Erik Naggum

unread,
Dec 21, 1998, 3:00:00 AM12/21/98
to
* robert_...@yahoo.com

| Thank you. This worked on the Redhat ACL5 I downloaded, but does not
| work on the CMUCL I downloaded.

CMUCL's support for logical pathnames is known to be lacking.

| I've been reading the hyperspec about the pathname stuff, but I'm pretty
| confused. It seems like it's possible to specify a trunk like I did
| above with ext:search-list except using ANSI CL and then do an equivalent
| load statement something like: (load "lisp:source;demos;foo.lisp") ;
| maybe not with the ".lisp" (????) Is this possible?

yes, logical pathname hosts have directory structure. this should be
fairly evident from the specification, but it seems that you insist on
trying to fit the specification into your existing mindset instead of
trying to understand the specification. this simply won't work. you
have to understand first, then apply your understanding back at what
you were used to.

| It probably should work with CMUCL but maybe I screwed up somewhere.

I suggest you avoid CMUCL if you want to learn about logical pathnames.

incidentally, I disagree with some of what Allegro CL 5.0 does, as well,
and have applied some advice to get what I think is the right way to do
it, since I use logical pathnames extensively.

Raymond Toy

unread,
Dec 21, 1998, 3:00:00 AM12/21/98
to
>>>>> "robert" == robert m miles <robert_...@yahoo.com> writes:

robert> In article <31231921...@naggum.no>,


robert> Erik Naggum <er...@naggum.no> wrote:
>> (setf (logical-pathname-translations "demo") '(("**;*.*"
>> "/home/rmiles/code/lisp/source/demos/") (";**;*.*"
>> "/home/rmiles/code/lisp/source/demos/")))

robert> Thank you. This worked on the Redhat ACL5 I downloaded,
robert> but does not work on the CMUCL I downloaded. However,

You're right. That doesn't work in CMUCL. As a work-around you can
use this instead, which should work for both CMUCL and ACL:

* (setf (logical-pathname-translations "source")
'(("demos;**;*.*" "/home/rmiles/code/lisp/source/demos/")
("demos;**;*.*" "/home/rmiles/code/lisp/source/demos/")))

* (translate-logical-pathname "source:demos;foo.lisp")
#p"/home/rmiles/code/lisp/source/demos/foo.lisp"

The question is: is the example Erik gave the correct ANSI
interpretation of the logical pathname? If so, I'll make a note of it
and try to fix it some day.

Erik's example also fails on CLISP.

Ray


RSt...@aol.com

unread,
Dec 21, 1998, 3:00:00 AM12/21/98
to
; to use the concept of logical pathnames you have to define the
; translation-rules for a specific host.

(setf (logical-pathname-translations "demo")
`(("**;*.*" #P"home/rmiles/code/lisp/source/demos/**/*.*")))

(full-pathname #P"demo:foo.lisp")
; -> #P"home/rmiles/code/lisp/source/demos/foo.lisp"

; if you don't like your sourcefiles be cluttered by the fasl's use this:

(setf (logical-pathname-translations "demo")
`(("**;*.fasl" #P"home/rmiles/code/lisp/source/demos/fasl/**/*.*")
("**;*.*" #P"home/rmiles/code/lisp/source/demos/**/*.*")))

(full-pathname #P"demo:sub;foo.lisp") ; ->
#P"home/rmiles/code/lisp/source/demos/ sub/foo.lisp" (full-pathname
#P"demo:sub;foo.fasl") ; ->#P"home/rmiles/code/lisp/source/demos/
fasl/sub/foo.fasl"

(compile #P"demo:sub;foo.lisp")
;-> fasl created in #P"home/rmiles/code/lisp/source/demos/fasl/sub/foo.fasl"

; if the first element of a pathname is a host (like "demo") it is the only
one ; delimited by an ";" the following (subdirectories) are delimited by ":"

(full-pathname #P"demo:sub;subsub;foo.lisp")

; hope this helps,
; working with MCL on Macintosh it it somewhat more confusing because the
standard divider
; between directory-names is ":" so the obove would read like this:

(setf (logical-pathname-translations "demo")
`(("**;*.fasl" #P"home:rmiles:code:lisp:source:demos:fasl:**:*.*")
("**;*.*" #P"home:rmiles:code:lisp:source:demos:**:*.*")))

In article <75k4tr$uom$1...@nnrp1.dejanews.com>,


robert_...@yahoo.com wrote:
> How do I take a pathname like:
> /home/rmiles/code/lisp/source/demos/foo.lisp
>
> and set it up so that I can do stuff like:
>
> (load "demo:foo.lisp")
>
> instead of
>
> (load "/home/rmiles/code/lisp/source/demos/foo.lisp")
>

-----------== Posted via Deja News, The Discussion Network ==----------

Erik Naggum

unread,
Dec 22, 1998, 3:00:00 AM12/22/98
to
* Raymond Toy <t...@rtp.ericsson.se>

| You're right. That doesn't work in CMUCL. As a work-around you can use
| this instead, which should work for both CMUCL and ACL:
|
| * (setf (logical-pathname-translations "source")
| '(("demos;**;*.*" "/home/rmiles/code/lisp/source/demos/")
| ("demos;**;*.*" "/home/rmiles/code/lisp/source/demos/")))
|
| * (translate-logical-pathname "source:demos;foo.lisp")
| #p"/home/rmiles/code/lisp/source/demos/foo.lisp"
|
| The question is: is the example Erik gave the correct ANSI interpretation
| of the logical pathname? If so, I'll make a note of it and try to fix it
| some day.

I must admit that I don't understand the difference between your example
and mine. (except, that yours works on CMUCL and mine doesn't, but that
leads me to believe in the bug that stole christmas.)

let host be (pathname-host (parse-namestring (format nil "~A:" string))).
now, the standard says that the first element in each list in the list of
translations shall be parsable by (parse-namestring string host) if it is
a logical pathname namestring (as opposed to logical pathname whose host
is host). this leads me to assume that there is a difference between the
behavior of CMUCL and ACL for these three forms:

(parse-namestring "**;*.*" host)
(parse-namestring ";**;*.*" host)
(parse-namestring "demos;**;*.*" host)

in Allegro CL 5.0 (with my patches to bring directory components in line,
but that is immaterial here except that you won't get identical results):

NAGGUM(20): (defvar host (pathname-host (parse-namestring "source:")))
host
NAGGUM(21): (setf (logical-pathname-translations host) nil)
nil
NAGGUM(22): (describe (parse-namestring "**;*.*" host))
#p"source:**;*.*" is a structure of type logical-pathname. It has these slots:
host "source"
device nil
directory (:absolute :wild-inferiors)
name :wild
type :wild
version nil
namestring nil
hash nil
dir-namestring "**/"
NAGGUM(23): (describe (parse-namestring ";**;*.*" host))
#p"source:;**;*.*" is a structure of type logical-pathname. It has these slots:
host "source"
device nil
directory (:relative :wild-inferiors)
name :wild
type :wild
version nil
namestring nil
hash nil
dir-namestring "**/"
NAGGUM(24): (describe (parse-namestring "demos;**;*.*" host))
#p"source:demos;**;*.*" is a structure of type logical-pathname. It has these
slots:
host "source"
device nil
directory (:absolute "demos" :wild-inferiors)
name :wild
type :wild
version nil
namestring nil
hash nil
dir-namestring "/demos/**/"

this appears to be completely in line with the specification.

I'd like to hear the evidence you found that it was not, and also your
theories on why it supposedly helped CMUCL to have a non-wild first
directory component.



| Erik's example also fails on CLISP.

frankly, I'd like to know when what I think is right doesn't fail on
CLISP. until then, failing is the default condition, hardly worth any
mention at all.

Kent M Pitman

unread,
Dec 22, 1998, 3:00:00 AM12/22/98
to
I'm not following this conversation in full detail, but let me just
interject a point that maybe someone already made and I missed it but
bears repeating:

As far as I know, foo:bar.lisp is not meaningful as a logical pathname
reference except insofar as any partial pathname is meaningful in the
sense that it can be merged against the default to produce a full filename.
When you do foo:bar.lisp, my understanding is that you're doing
foo:something;bar.lisp where you are trusting the "something;" is what
you want. In the examples I've seen, you're mapping all top-level dirs
in that device to the same directory, and so then it doesn't matter what
the "something;" is.because it can have no effect. But there is still
something that makes me feel ill when I see a reference like this.
I prefer to see a logical host definition with a directory name always
just so that if someone else needs a directory, I can give them one I'm
not using. If I map all dirs to the same dir, I leave no syntactic space
into which to partition someone else's application.

None of what I've said directly contradicts anything else I've seen.
It's just a side point.

robert_...@yahoo.com

unread,
Dec 22, 1998, 3:00:00 AM12/22/98
to
Well, I've been reading all of your replies, and also reading the hyperspec,
and now I'm more confused and less clear than ever. I'd like things to work
with CMUCL and ACL and any other CL, but several of the examples I've tried
from the hyperspec give me weird results to. I'm going to quote an example
from the HyperSpec:

;;;A very simple example of setting up a logical pathname host. No
;;;translations are necessary to get around file system restrictions, so
;;;all that is necessary is to specify the root of the physical directory
;;;tree that contains the logical file system.
;;;The namestring syntax on the right-hand side is implementation-dependent.
(setf (logical-pathname-translations "foo")
'(("**;*.*.*" "MY-LISPM:>library>foo>**>")))

;;;Sample use of that logical pathname. The return value
;;;is implementation-dependent.
(translate-logical-pathname "foo:bar;baz;mum.quux.3")
=> #P"MY-LISPM:>library>foo>bar>baz>mum.quux.3"

To do the equivalent in unix you would do something like:
(setf (logical-pathname-translations "foo")
'(("**;*.*.*" "MY-UNIX:/library/foo/**/")))

And it seems that CMUCL's results more closely resemble what we see in the
HyperSpec. Here's with CMUCL:
* (translate-logical-pathname "foo:bar;baz;mum.quux.3")
#p"my-unix:library/foo/bar/baz/mum.quux.3"

And here's with ACL5:
USER(4): (translate-logical-pathname "foo:bar;baz;mum.quux.3")
#p"MY-UNIX:/library/foo/bar/baz/mum.quux"

Note the missing '.3' from the end of the string ACL5 returned. Now what
would be the _standard_defined_ way to get the 3 at the end to work with
ACL5, and why didn't it work in ACL5 like it did with CMUCL, and if this can
be slightly modified to work with ACL5 and CMUCL, would it then break the
LISPM, MCL, and Lispworks versions, which I don't have around to play with to
make sure?

Rob

Raymond Toy

unread,
Dec 22, 1998, 3:00:00 AM12/22/98
to
>>>>> "Erik" == Erik Naggum <er...@naggum.no> writes:

Erik> * Raymond Toy <t...@rtp.ericsson.se>
Erik> | You're right. That doesn't work in CMUCL. As a work-around you can use
Erik> | this instead, which should work for both CMUCL and ACL:
Erik> |
Erik> | * (setf (logical-pathname-translations "source")
Erik> | '(("demos;**;*.*" "/home/rmiles/code/lisp/source/demos/")
Erik> | ("demos;**;*.*" "/home/rmiles/code/lisp/source/demos/")))
Erik> |
Erik> | * (translate-logical-pathname "source:demos;foo.lisp")
Erik> | #p"/home/rmiles/code/lisp/source/demos/foo.lisp"
Erik> |
Erik> | The question is: is the example Erik gave the correct ANSI interpretation
Erik> | of the logical pathname? If so, I'll make a note of it and try to fix it
Erik> | some day.

Erik> I must admit that I don't understand the difference between your example
Erik> and mine. (except, that yours works on CMUCL and mine doesn't, but that
Erik> leads me to believe in the bug that stole christmas.)

I don't understand either. It was just a workaround to make it work
on CMUCL. I have no idea if it works on ACL.

Erik> (parse-namestring "**;*.*" host)
Erik> (parse-namestring ";**;*.*" host)
Erik> (parse-namestring "demos;**;*.*" host)

Erik> in Allegro CL 5.0 (with my patches to bring directory components in line,
Erik> but that is immaterial here except that you won't get identical results):

Erik> NAGGUM(20): (defvar host (pathname-host (parse-namestring "source:")))
Erik> host
Erik> NAGGUM(21): (setf (logical-pathname-translations host) nil)
Erik> nil
Erik> NAGGUM(22): (describe (parse-namestring "**;*.*" host))
Erik> #p"source:**;*.*" is a structure of type logical-pathname. It has these slots:
Erik> host "source"
Erik> device nil
Erik> directory (:absolute :wild-inferiors)
Erik> name :wild
Erik> type :wild
Erik> version nil
Erik> namestring nil
Erik> hash nil
Erik> dir-namestring "**/"

CMUCL says

* (describe (parse-namestring "**;*.*" host))
#.(logical-pathname "SOURCE:**;*.*") is a structure of type LOGICAL-PATHNAME.
HOST: #<COMMON-LISP::LOGICAL-HOST {72BABBD}>.
DEVICE: :UNSPECIFIC.
DIRECTORY: (:ABSOLUTE :WILD-INFERIORS).
NAME: :WILD.
TYPE: :WILD.
VERSION: NIL.

Erik> NAGGUM(23): (describe (parse-namestring ";**;*.*" host))
Erik> #p"source:;**;*.*" is a structure of type logical-pathname. It has these slots:
Erik> host "source"
Erik> device nil
Erik> directory (:relative :wild-inferiors)
Erik> name :wild
Erik> type :wild
Erik> version nil
Erik> namestring nil
Erik> hash nil
Erik> dir-namestring "**/"

CMUCL says

* (describe (parse-namestring ";**;*.*" host))
#.(logical-pathname "SOURCE:;**;*.*") is a structure of type LOGICAL-PATHNAME.
HOST: #<COMMON-LISP::LOGICAL-HOST {72BABBD}>.
DEVICE: :UNSPECIFIC.
DIRECTORY: (:RELATIVE :WILD-INFERIORS).
NAME: :WILD.
TYPE: :WILD.
VERSION: NIL.

Erik> NAGGUM(24): (describe (parse-namestring "demos;**;*.*" host))
Erik> #p"source:demos;**;*.*" is a structure of type logical-pathname. It has these
Erik> slots:
Erik> host "source"
Erik> device nil
Erik> directory (:absolute "demos" :wild-inferiors)
Erik> name :wild
Erik> type :wild
Erik> version nil
Erik> namestring nil
Erik> hash nil
Erik> dir-namestring "/demos/**/"

CMUCL says

* (describe (parse-namestring "demos;**;*.*" host))
#.(logical-pathname "SOURCE:DEMOS;**;*.*") is a structure of type LOGICAL-PATHNAME.
HOST: #<COMMON-LISP::LOGICAL-HOST {72BABBD}>.
DEVICE: :UNSPECIFIC.
DIRECTORY: (:ABSOLUTE "DEMOS" :WILD-INFERIORS).
NAME: :WILD.
TYPE: :WILD.
VERSION: NIL.

Erik> this appears to be completely in line with the specification.

CMUCL appears to match pretty much what ACL says in these examples.

Erik> I'd like to hear the evidence you found that it was not, and also your
Erik> theories on why it supposedly helped CMUCL to have a non-wild first
Erik> directory component.

I have no evidence---just the fact that CMUCL and ACL return different
answers for the original case (not the case examined here). If ACL is
right, I would try to make CMUCL do the right thing too.

BTW for the original example, CMUCL says

* (setf (logical-pathname-translations "demo")


`(("**;*.*" #P"home/rmiles/code/lisp/source/demos/**/*.*")))

* (setf host (pathname-host (parse-namestring "demo:")))
#<COMMON-LISP::LOGICAL-HOST {7180F05}>
* (describe (parse-namestring "**;*.*" host))
HOST: #<COMMON-LISP::LOGICAL-HOST {7180F05}>.
DEVICE: :UNSPECIFIC.
DIRECTORY: (:ABSOLUTE :WILD-INFERIORS).
NAME: :WILD.
TYPE: :WILD.
VERSION: NIL.
* (describe (parse-namestring ";**;*.*" host))
#.(logical-pathname "DEMO:;**;*.*") is a structure of type LOGICAL-PATHNAME.
HOST: #<COMMON-LISP::LOGICAL-HOST {7180F05}>.
DEVICE: :UNSPECIFIC.
DIRECTORY: (:RELATIVE :WILD-INFERIORS).
NAME: :WILD.
TYPE: :WILD.
VERSION: NIL.

So I guess CMUCL just doesn't like an empty part between the host and
the directory.

Ray

Pierre Mai

unread,
Dec 22, 1998, 3:00:00 AM12/22/98
to
robert_...@yahoo.com writes:

> Note the missing '.3' from the end of the string ACL5 returned. Now what
> would be the _standard_defined_ way to get the 3 at the end to work with
> ACL5, and why didn't it work in ACL5 like it did with CMUCL, and if this can
> be slightly modified to work with ACL5 and CMUCL, would it then break the
> LISPM, MCL, and Lispworks versions, which I don't have around to play with to
> make sure?

I'm not going to go into any of the details of getting logical
pathnames to do what you want. I just want to remind you, that
logical pathnames will finally get translated into physical pathnames,
and that those will _always_ be at least plattform-dependend, and
more often also implementation-dependend, since many filesystems don't
provide all the features that logical pathnames provide for, and thus
implementors will have to provide some form of mapping, which often no
two implementors will agree on in the finest details.

So you should IMHO write your software using logical-pathnames
(without probably using some of the less common features), and then
you will probably always have to tweak your translation-tables to your
particular implementations anyways.

WRT to your example:

a) I wouldn't rely on version-numbering anyway, since this is one of
the more problematic features of logical-pathnames, as the
currently popular filesystems don't support this kind of concept
anymore (unlike previous OSs). And I don't think that the
currently ANSI CL-mandated concept of a version-number (a single
non-negative integer) could be made to work fruitfully for advanced
versioning filesystems, which normally support indefinit branching,
which would need something more non-linear...

b) It seems that ACL 5 doesn't support version-numbers in
pathname-translations...

Regs, Pierre.

--
Pierre Mai <pm...@acm.org> http://home.pages.de/~trillian/
"One smaller motivation which, in part, stems from altruism is Microsoft-
bashing." [Microsoft memo, see http://www.opensource.org/halloween1.html]

Erik Naggum

unread,
Dec 23, 1998, 3:00:00 AM12/23/98
to
* Kent M Pitman <pit...@world.std.com>

| In the examples I've seen, you're mapping all top-level dirs in that
| device to the same directory, and so then it doesn't matter what the
| "something;" is because it can have no effect.

I would have shared your concern if that was what I observed. naturally,
mapping everything to the root would be counterproductive, but at least
under Allegro CL, the following mapping:

(logical-pathname-translations "TDN")
=> ((#l"**;*.*" #p"/home/tdn/"))

does not map everything to the root. I actually use several
subdirectories under the TDN host, some of which have their own logical
pathname host because it is useful to differentiate between absolute and
relative pathnames, such as for an archive whose absolute mapping is to
the root of the date-based archive directory hierarchy, and the relative
mapping is to the current date within that archive. e.g.,

(logical-pathname-translations "archive")
=> ((#l";*.*" #p"archive:1998;12;23;")
(#l"**;*.*" #p"tdn:archive;")))

this may look funny, but the point is that the first of these is actually
recomputed every midnight, and does not want to do the mapping that the
constant part does.

I get the impression that you think there should have been a **;*.* at
the end of the destinations, too. I have always figured they would have
to be there. mapping everything to a single directory seems so utterly
pointless that I can't see why it would be the expected behavior.

#:Erik

PS: mail to you fails for me at the moment

Erik Naggum

unread,
Dec 23, 1998, 3:00:00 AM12/23/98
to
* robert_...@yahoo.com

| Note the missing '.3' from the end of the string ACL5 returned.

what do you suppose you'd do with it? ACL 5.0 doesn't support file
versions. I think it'd be super neat if we could get rid of the
braindamaged file systems semantics in Unix and set course for _real_
file versions, the ability to make a file visible only after it had been
closed, and the ability to abort a file creation and restore what was
before the file was attempted. however, as long as Unix doesn't do this,
it would be a lot of work to support it. I think it's worth it, so maybe
I'll do it.

| Now what would be the _standard_defined_ way ...

please note that a conforming implementation is allowed _not_ to support
file versions. I think you confuse your wish list with the standard.

#:Erik

Erik Naggum

unread,
Dec 23, 1998, 3:00:00 AM12/23/98
to
* Raymond Toy <t...@rtp.ericsson.se>

| I don't understand either. It was just a workaround to make it work on
| CMUCL. I have no idea if it works on ACL.

yes, it works in ACL 5.0.

| CMUCL appears to match pretty much what ACL says in these examples.

yup, but note that the ACL I have used is slightly patched. the regular
version doesn't quite get directory-less logical pathnames right.

| So I guess CMUCL just doesn't like an empty part between the host and
| the directory.

um, that's the specification of a relative pathname, dude. if you start
off the directory list with a string, it's absolute. you got the results
you should in that test case. the problem is how CMUCL maps the result
back to physical pathnames. CMUCL turns a relative logical pathname into
a physical pathname relative to the current directory. this is quite
extraordinarily silly behavior.

Raymond Toy

unread,
Dec 23, 1998, 3:00:00 AM12/23/98
to
>>>>> "Raymond" == Raymond Toy <t...@rtp.ericsson.se> writes:

[examples and discussion snipped]
Raymond> So I guess CMUCL just doesn't like an empty part between the host and
Raymond> the directory.

Here is a patch for CMUCL to make it work the same way as ACL. I
tried the examples on Lispworks for Windows and they agree with ACL.

* (setf (logical-pathname-translations "demo")

'(("**;*.*" "/home/rmiles/code/lisp/source/demos/")
(";**;*.*" "/home/rmiles/code/lisp/source/demos/")))
* (translate-logical-pathname "demo:foo.lisp")
#p"/home/rmiles/code/lisp/source/demos/foo.lisp"

If you can't rebuild CMUCL with this patch (probably), you can
download pathname.lisp from www.cons.org, apply the patch, extract out
the two affected functions, and put them (with the correct *package*) in
your .cmucl-init.lisp file. That will apply the fix for you.

I don't think this patch affects any other behavior in CMUCL, but I've
only tested it against the examples in CLtL2.

If you need help, let me know.

Ray

--- src/code/pathname.lisp Mon Feb 9 14:35:29 1998
+++ new/code/pathname.lisp Wed Dec 23 12:42:21 1998
@@ -313,6 +313,9 @@
(defun directory-components-match (thing wild)
(or (eq thing wild)
(eq wild :wild)
+ ;; If THING has a null directory, assume it matches
+ (and (consp wild)
+ (null thing))
(and (consp wild)
(let ((wild1 (first wild)))
(if (eq wild1 :wild-inferiors)
@@ -1150,7 +1153,7 @@
;;;
(defun translate-directories (source from to diddle-case)
(if (not (and source to from))
- (or to
+ (or (and to (null source) (remove :wild-inferiors to))
(mapcar #'(lambda (x) (maybe-diddle-case x diddle-case)) source))
(collect ((res))
(res (first source))

Raymond Toy

unread,
Dec 23, 1998, 3:00:00 AM12/23/98
to
>>>>> "Erik" == Erik Naggum <er...@naggum.no> writes:

Erik> | So I guess CMUCL just doesn't like an empty part between the host and
Erik> | the directory.

Erik> um, that's the specification of a relative pathname, dude. if you start
Erik> off the directory list with a string, it's absolute. you got the results
Erik> you should in that test case. the problem is how CMUCL maps the result

Which test case are we talking about here?

Erik> back to physical pathnames. CMUCL turns a relative logical pathname into
Erik> a physical pathname relative to the current directory. this is quite
Erik> extraordinarily silly behavior.

I don't quite follow this.

Are you saying the logical pathname "demo:foo.lisp" gets mapped to a
physical pathname relative to the current directory? I suppose that
would be true if (logical-pathname-translations "demo") was
'((";**;*.*.*" "./")), but isn't that what the translation says to do?

Anyway, I've sent a patch which makes CMUCL behave in the same way as
ACL for the original question.

Ray

Erik Naggum

unread,
Dec 24, 1998, 3:00:00 AM12/24/98
to
* Raymond Toy <t...@rtp.ericsson.se>

| Which test case are we talking about here?

sigh. you need to look up the meaning of relative and absolute logical
pathnames in the specification. you clearly do not understand this, yet
you assume you do. that is _bad_ karma.

"host:name.type" is an absolute logical pathname namestring. an absolute
logical pathname's directory component is (:ABSOLUTE). "host:;name.type"
is a relative logical pathname namestring. a logical pathname's
directory component is either NIL or (:RELATIVE). THIS IS OPPOSITE OF
PHYSICAL PATHNAME NAMESTRINGS under Unix, where "foo.bar" should have a
directory component of NIL or (:RELATIVE) when parsed, and "/foo.bar"
should have a directory component of (:ABSOLUTE) when parsed.

the specification of logical pathname namestring syntax is very clear. I
cannot fathom how you could begin to patch and hack on CMUCL without even
reading it.

| Are you saying the logical pathname "demo:foo.lisp" gets mapped to a
| physical pathname relative to the current directory?

"demo:foo.lisp" is an _absolute_ logical pathname. pay attention!

| I suppose that would be true if (logical-pathname-translations "demo")
| was '((";**;*.*.*" "./")), but isn't that what the translation says to do?

huh? the whole point of logical pathnames is to remove the dependencies
on locations in the file systems. using the current working directory as
the target of a logical pathname translation is just really stupid.

I installed cmucl_2.4.5 on my Debian system, and this trial run shows the
pathological¹ case, somewhat abbreviated to reduce CMUCL's overly chatty
error-reporting:

CMU Common Lisp 18a+ release x86-linux 2.4.5 29 June 1998 cvs, running on sourcery

* (setf (logical-pathname-translations "DEMO")
'(("**;*.*" "/tmp/") (";**;*.*" "/tmp/foo/")))

(("**;*.*" "/tmp/") (";**;*.*" "/tmp/foo/"))
* (translate-logical-pathname #p"demo:x")

File-error in function TRANSLATE-LOGICAL-PATHNAME:
No translation for #.(logical-pathname "DEMO:X")
* (translate-logical-pathname #p"demo:;x")

#p"tmp/foo/x"
* (translate-logical-pathname #p"demo:foo;x")

#p"/tmp/x"

please note how insanely useless the translation of #p"demo:;x" is.

| Anyway, I've sent a patch which makes CMUCL behave in the same way as
| ACL for the original question.

this is not comforting. this is why I want to argue with people who may
know better than me and who have real, economic concerns about making
changes to their code before something is admitted into an implementation.

you have not heeded my warnings that what I have shown you is not ACL 5.0
behavior, it's the behavior of _my_patched_ ACL 5.0, because I think I
got it right after spending a _lot_ of time on this shit, and there are
a few minor issues in ACL 5.0 that don't rhyme with what I think, and I
went ahead and made it make sense according to my understanding of the
standard. it is _not_ a resolved set of issues at Franz Inc, and they
are understandably reluctant to make changes that will affect customer
applications. I really wish more "free" software was as cautious. (this
appears to contradict my desire to see fully conforming implementations,
but getting there involves changes, and changes involve investments.)

_I_ think you have just rebugged CMUCL's logical pathname handling.

#:Erik
-------
¹ "ersatz", anyone? (honk if you get the reference! :)

Steve Gonedes

unread,
Dec 24, 1998, 3:00:00 AM12/24/98
to

Erik Naggum <er...@naggum.no> writes:

<
< * robert_...@yahoo.com
< | Note the missing '.3' from the end of the string ACL5 returned.
<
< what do you suppose you'd do with it? ACL 5.0 doesn't support file
< versions. I think it'd be super neat if we could get rid of the
< braindamaged file systems semantics in Unix and set course for _real_
< file versions, the ability to make a file visible only after it had been
< closed, and the ability to abort a file creation and restore what was
< before the file was attempted. however, as long as Unix doesn't do this,
< it would be a lot of work to support it. I think it's worth it, so maybe
< I'll do it.

Have you tried using chattr to set the file's version? Kinda neat,
changes a file's version; does nothing else (the single tool single,
single job philosophy I guess). I have found this useful for helping
me remeber if the file I was working on is the current version or not.


Erik Naggum

unread,
Dec 24, 1998, 3:00:00 AM12/24/98
to
* Steve Gonedes <jgon...@worldnet.att.net>

| Have you tried using chattr to set the file's version?

which versions of chattr support versions?

#:Erik

R. Toy

unread,
Dec 24, 1998, 3:00:00 AM12/24/98
to
Erik Naggum wrote:
>
> * Raymond Toy <t...@rtp.ericsson.se>
> | Which test case are we talking about here?
>
> sigh. you need to look up the meaning of relative and absolute logical
> pathnames in the specification. you clearly do not understand this, yet
> you assume you do. that is _bad_ karma.

You assume I make that assumption. I certainly do not assume I know
everything about logical pathnames.

(What is it about usenet that makes people so uncivil? Would they be so
uncivil face-to-face?)


[good description of relative and absolute logical pathnames deleted]

Thank you for explaining the difference to me. Now I know.

--
---------------------------------------------------------------------------
----> Raymond Toy rt...@mindspring.com
http://www.mindspring.com/~rtoy

Steve Gonedes

unread,
Dec 24, 1998, 3:00:00 AM12/24/98
to

Erik Naggum <er...@naggum.no> writes:

<
< * Steve Gonedes <jgon...@worldnet.att.net>
< | Have you tried using chattr to set the file's version?
<
< which versions of chattr support versions?

None. chattr 1.12 with the extenion2 filesystem (linux) has version
numbers for files. You can view the file's version number with lsattr.
You must back the file up using cp though (you have to rename the file
as well).

Barry Margolin

unread,
Dec 24, 1998, 3:00:00 AM12/24/98
to
In article <m3hful5...@eho.eaglets.com>,
Sam Steingold <s...@goems.com> wrote:
>>>>> In message <3682678C...@mindspring.com>
>>>>> On the subject of "Re: Logical pathname hosts."
>>>>> Sent on Thu, 24 Dec 1998 11:10:52 -0500

>>>>> Honorable "R. Toy" <rt...@mindspring.com> writes:
> >>
> >> (What is it about usenet that makes people so uncivil? Would they
> >> be so uncivil face-to-face?)
>
>that's not usenet-specific but rather Naggum-specific.

Although Erik is may be an extreme example, it's quite true that the online
medium brings this out in many people. I imagine that quite a few cultural
psychologists (e.g. Sherry Turkle and her ilk) have been studying this
effect.

In the case of technical newsgroups (which you would intuitively expect to
be *more* civil), my suspicion is that some people who frequently post
answers feel that the fact that they're volunteering assistance gives them
the right to act however they want. They're not under any obligation to
post, so people should be satisfied with whatever they get. As I said,
this is just my opinion, I don't know if it's actually why Erik likes to
flame so much here (especially at Sam, it seems).

--
Barry Margolin, bar...@bbnplanet.com
GTE Internetworking, Powered by BBN, Burlington, MA
*** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.
Don't bother cc'ing followups to me.

Barry Margolin

unread,
Dec 24, 1998, 3:00:00 AM12/24/98
to
In article <m37lvh5...@eho.eaglets.com>,
Sam Steingold <s...@goems.com> wrote:
>PS In the previous (canceled) version of this article I called Erik
> "Eric". I apologize - this was not intentional.
> Apparently, since ispell ate it, it's a valid spelling of something.
> Is it a different spelling of the same name? (Like `John' and `Ivan').
> Or maybe it's two different name? (Like `Simon' and `Sam').

Eric is the common spelling in the US, while I think Erik is more common in
Nordic countries, and Erik Naggum's email address includes a Norwegian
domain.

R. Toy

unread,
Dec 24, 1998, 3:00:00 AM12/24/98
to
Barry Margolin wrote:
>
> In article <m3hful5...@eho.eaglets.com>,

> Sam Steingold <s...@goems.com> wrote:
> >>>>> In message <3682678C...@mindspring.com>
> >>>>> On the subject of "Re: Logical pathname hosts."
> >>>>> Sent on Thu, 24 Dec 1998 11:10:52 -0500
> >>>>> Honorable "R. Toy" <rt...@mindspring.com> writes:
> > >>
> > >> (What is it about usenet that makes people so uncivil? Would they
> > >> be so uncivil face-to-face?)
> >
> >that's not usenet-specific but rather Naggum-specific.
>
> Although Erik is may be an extreme example, it's quite true that the online
> medium brings this out in many people. I imagine that quite a few cultural
> psychologists (e.g. Sherry Turkle and her ilk) have been studying this
> effect.

It was a rhetorical question. I think it's the anonymity.

Based on postings, there are some people I would like to meet because
they seem really cool. Others, I want to meet, just so I can wring
their necks.

>
> In the case of technical newsgroups (which you would intuitively expect to
> be *more* civil), my suspicion is that some people who frequently post
> answers feel that the fact that they're volunteering assistance gives them
> the right to act however they want. They're not under any obligation to
> post, so people should be satisfied with whatever they get. As I said,

But there are others who are gracious with their answers. I've set up
GNUS to highlight you and Kent Pitman, among others, because you know
your stuff and are civil about it. I *want* to read what you have to
say.

On the other hand, I've almost put Erik in my killfile, but I haven't,
yet. When he's right, he's right. You just have to snuff the blaze and
rummage around in the ashes to find any good stuff left.

Ray

Stig Hemmer

unread,
Dec 25, 1998, 3:00:00 AM12/25/98
to
"R. Toy" <rt...@mindspring.com> writes:
> (What is it about usenet that makes people so uncivil? Would they
> be so uncivil face-to-face?)

In the short term, because you notice them. On Usenet you 'meet'
hundreds of people every day. You notice the uncivil one and forget
the rest. In other words, this is a measurement error.

In the long term, a lot of people start believing this is the 'proper'
way to behave here and begin doing so themselves. _Then_ we have a
problem. (Happily it hasn't reached that point on c.l.l... yet)

In a face-to-face situation we would see the reactions of the
bystanders and realize that this is _not_ the way to behave. Even if
the uncivil ones themselves didn't see it, at least they wouldn't
recruit many new ones. Not so on the Net.

Stig Hemmer,
Jack of a Few Trades.

Paul Dietz

unread,
Dec 25, 1998, 3:00:00 AM12/25/98
to
"R. Toy" wrote:

> Based on postings, there are some people I would like to meet because
> they seem really cool. Others, I want to meet, just so I can wring
> their necks.

Now, now; the polite phrasing is "shake them warmly by the throat."

Paul

Erik Naggum

unread,
Dec 25, 1998, 3:00:00 AM12/25/98
to
* "R. Toy" <rt...@mindspring.com>

| (What is it about usenet that makes people so uncivil? Would they be so
| uncivil face-to-face?)

face to face, people actually clue in on having annoyed others. those
who annoy people, such as by not listening to what others tell them, as
much face to face as they do on USENET, experience exactly the same
reactions. experiements have actually shown this, but it's really _hard_
for people to feign a lack of social intelligence so great that they go
on to annoy people after the first couple hints of rejection or requests
to stop annoying others. on USENET, people have been known to annoy
others for months on end, simply for lack of _wanting_ to hear what the
other person is saying, effectively harrassing them with further stupid
and/or hostile comments. I try to send stronger hints than most others,
but the densest, most annoying freaks of nature just don't get it. some,
however, clue in on the fact that I also answer people's questions, and
figure out that there's something in their own behavior that begs for the
"go away" tone. those are worth helping further. the rest should indeed
go away and I hope they don't come back.

Erik Naggum

unread,
Dec 25, 1998, 3:00:00 AM12/25/98
to
* Barry Margolin <bar...@bbnplanet.com>

| In the case of technical newsgroups (which you would intuitively expect to
| be *more* civil), my suspicion is that some people who frequently post
| answers feel that the fact that they're volunteering assistance gives them
| the right to act however they want.

this is so obviously wrong it's sickening to hear it touted as theory.
let me illustrate with something I found in somebody's signature:

*** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.

is that hostile to stupid people, or _what_? the author of this line
effectively _yells_ at strangers, long before they could every ask their
questions. why is this? is it because he doesn't know how to ignore
incoming mail? is it because he feels _invaded_ by people when they send
mail to him? is it because he thinks people who don't understand the
very simplest things about listening to public advice should just go die?
I really don't know which, but I find it amusing that the same person
goes to great length to defend the people he bars from his own mailbox,
saying, in effect: "sure it's OK to annoy everybody else, but stay away
from _my_ mailbox".

what's lacking on USENET is the ability that almost all animals and
people have -- to notice that you annoy somebody else. stupidity _does_
annoy people who try to help those who want to learn. ever seen the
reaction a stupid person who doesn't "get" that he's annoying a lecturer
with stupid questions receives from that lecturer and the audience?

Barry's been trying to blame me for everything for the longest time, but
let me ask him in return: why does he give stupid people the right to be
annoying and want to protect them experience any negative feedback from
their behavior?

| As I said, this is just my opinion, I don't know if it's actually why
| Erik likes to flame so much here (especially at Sam, it seems).

Sam is especially stupid, and is especially protected by something or
other (it could be you, Barry) from realizing that he needs to do his
homework, pay attention, and figure out what he's good at instead of
doing lots of things so badly it cries out for harsh negative reaction.

Erik Naggum

unread,
Dec 25, 1998, 3:00:00 AM12/25/98
to
* Sam Steingold <s...@goems.com>
| Well, a year ago it was Jaari Aalto in Emacs groups.

indeed it was. I'm happy you compare yourself to him. he's another
prime example of massive stupidity who just trods on in life, doing
really bad things and not realizing it, no matter what people tell him.
the funny thing is that novices like him and his suggestions, but if
you've had more than a year of experience with Emacs, you realize that he
has never actually grasped the Emacs mindset, and he's protecting himself
from ever understanding it by writing more mindbogglingly stupid "tiny"
tools all the time. he also provides completely _wrong_ answers to most
Emacs questions, or some special case he lucked out with, etc. he's
_really_ not a person you should try to emulate, Sam.

Erik Naggum

unread,
Dec 25, 1998, 3:00:00 AM12/25/98
to
* "R. Toy" <rt...@mindspring.com>

| It was a rhetorical question. I think it's the anonymity.

and that's why _you_ felt free to discuss me, right? it's quite amusing
to watch how when you react to something you don't like, you do it with
even _worse_ tactics than I use, because you must cross a barrier before
you can respond. somehow, I strongly prefer to see that barrier high
enough that people can express themselves strongly without having to
cross it and let _anything_ go. in particular, I attack what people
_do_, which they can change or at least stop at will, whereas you (and
Barry Margolin in particular) feel free to psychologize and "explain"
what I do and why. I find this quite entertaining in the sense that the
objection to perceived unfairness takes the form of _rabid_ irrationality.



| On the other hand, I've almost put Erik in my killfile, but I haven't,
| yet. When he's right, he's right. You just have to snuff the blaze and
| rummage around in the ashes to find any good stuff left.

well, I appreciate the implied compliment.

however, one of the more interesting properties of these discussions
where you feel entirely free to discuss me and say anything at all about
me and why you think I react the way I do without a single shred of
actual _evidence_ to support your increasingly outlandish theories, is
that you have this curious one-dimensionality to your reactions. since
Barry has _strongly_ approved of psychologizing, let me tell you how I
imagine the crowd of conspiring victims now in group therapy:

I imagine you all running back to your mama to tell a greatly embellished
story about someone who hit you so she will take your side and never ask
any questions about why you were hit in the first place -- that just
_happened_ to mama's good little boy, who is so very deserving of being
consoled, no matter what he did to get hit. a just and intelligent mom
would see right through this load of crap and ask what you did and what
you learned even while consoling you for your bruises and hurt feelings.
the group therapy here, led by Barry Margolin, is about it being OK to be
a retarded jerk, so would I please stop hitting them because they cannot
possibly improve or stop doing what they do; in particular: Sam Steingold
is a helpless moron and has no other option than to post idiotic drivel,
so now I be nice and not hurt him, OK? (I could never be as mean to Sam
as I think Barry is with his defense for him.)

I imagine you were never asked what you learned from any bad experience,
instead going through life in this fantastic bliss where nothing bad ever
_should_ happen to you, so if it does, it's always somebody else's fault
and so very unfair to you. and as long as you can find someone to blame
other than yourself, you can feel so very consoled by the badness of that
somebody that you feel _arrogant_ on top of it, so now you have to go out
there and _purposefully_ annoy whoever hit you, just to prove to yourself
that he's bad and you're not deserving it. this works because you have
suddenly received divine inspiration for your moral outrage (that is,
your mom's agreement that whoever hit you is a bad person and you should
stay away form bad people, and blah, blah, blah).

if I didn't think you were stupid pathetic losers before, I certainly do
when I see how you respond in this amazingly unintelligent group therapy
you conduct amongst yourselves. the question you never _really_ ask is
"_why_ does this happen?", I think because you _know_ that it's because
of something you do yourself. take Sam Steingold, for instance (before
you react to my being specific, think about what you are yourself doing
discussing me, and reconsider if you don't like it in the general case),
an amazingly stupid person who is morally outraged that he can't be a
dork and not get slapped for it. instead of getting the idea that _he_
could change (like pull himself together and actually pay attention for a
change), he's dead set on proving that _he_ has the right to do what he
does worst and _not_ be slapped for it, all the while feeling like a good
boy when he thinks that somebody else who does something that he doesn't
feel he should be doing _should_ get slapped for it, so he does it again
and again and again, always ready to blame the other guy, who _somohow_
doesn't stop being bad to him. now, that's the hallmark of stupidity, if
there ever was one, but Sam has shut himself off from realizing it,
because of his moral outrage, which is another hallmark of stupidity.
(take the Republicans in Washington, so morally outraged at Clinton that
they didn't even see his rise in popularity coming. any outsider could
have predicted that, and many did.)

most real people have found that I reward competence as much as I punish
incompetence. I actually think incompetence should be a capital crime,
and that incompetence exists only because people don't demand competence
of their fellow men. (note that competence is not infallibility, but
about knowing what you can do (well) and when you need assistance or to
learn more before you can do it (well). incompetence is basically doing
what you are ill equipped to do, impervious to the fact that you are ill
equipped to do it.) how anyone can at all reward incompetence in any way
whatsoever is truly beyond me. and Barry Margolin effectively rewards
the incompetent by extending them _more_ respect than he extends those
who answer technical questions in the newsgroups. I find this a _very_
curious attitude. the same happens to labor unions, who go out of their
way to protect the incompetent employees. I think labor unions _exist_
because of incompetent and stupid managers, but if they had worked hard
to protect employees against incompetent managers, instead of working
hard to protect employees no matter what, they would have come a lot
further, because the _shared_ goal of businesses and labor unions would
have been competent managers _and_ competent employees, and the unions
could have done a lot to make sure that their members were competent,
rather than _primarily_ being employed.

so rather than defend the morons, how about helping them to _stop_ being
morons? Barry, that's something _you_ can do if you remove that line in
your signature and instead encourage stupid people to send technical
questions to you in mail and let them loose on the newsgroups when you
feel they are not going to annoy anybody, anymore. how about it?

Erik Naggum

unread,
Dec 25, 1998, 3:00:00 AM12/25/98
to
* Stig Hemmer <st...@pvv.ntnu.no>

| In a face-to-face situation we would see the reactions of the bystanders
| and realize that this is _not_ the way to behave. Even if the uncivil
| ones themselves didn't see it, at least they wouldn't recruit many new
| ones. Not so on the Net.

s/uncivil/stupid/ and you might have a clue. it appears, though, as if
you think annoying people who are uncivil it the right way to make them
less uncivil, because you don't think people are uncivil because they
have been annoyed. I have the exactly opposite view. I think people
annoy others for no particular reason -- they just do it because they are
stupid and inconsiderate. however people respond uncivilly because they
have actually been annoyed by somebody stupid and inconsiderate. it
appears as though you do not recognize any cause of uncivility at all,
and think annoying people is perfectly legitimate, especially if it is
done by somebody stupid and inconsiderate, whom the rest of the world
should treat nicely. is that so? if so, I have finally figured you out
and why you go around poking people in the eye (virtually speaking) to
prove to yourself that they have bad tempers. here's today's tip: stop
poking people in the eye, and see if they still have a bad temper. I
have a feeling you will be very surprised by the reversal of cause and
effect compared to what you believe in.

Erik Naggum

unread,
Dec 25, 1998, 3:00:00 AM12/25/98
to
* Steve Gonedes <jgon...@worldnet.att.net>

| None. chattr 1.12 with the extenion2 filesystem (linux) has version
| numbers for files. You can view the file's version number with lsattr.
| You must back the file up using cp though (you have to rename the file
| as well).

I don't quite understand what you're saying, here. I have chattr 1.12,
now, and it can set and lsattr can list the version number, which is
pretty damn cool, although I can't see any way to keep two versions of
the same file around at the same time. have I missed something?

Erik Naggum

unread,
Dec 25, 1998, 3:00:00 AM12/25/98
to
* Sam Steingold <s...@goems.com>

| that's not usenet-specific but rather Naggum-specific.

it's phenomenally tragic that you have had nobody to raise you and teach
you that when you get hit, it _might_ have something to do with your own
behavior and that it _may_ be avoided in the future by changing the way
that you _interact_ (note: that's the key) with other people. and just
because you only see harsh reactions doesn't mean that you would continue
to see harsh reactions if you pulled yourself together. I would even
applaud it if you came back with something reasonably smart. try it, and
you'll see, but I bet you have already made up your mind that if I
approve of something you do, you should stop doing it, and go back to
what I disapprove of, instead. I've seen a few people as stupid as you
before, and they rebel against anyone who tries to reprimand them, just
like kids who never had the option of rebelling against their parents.

you're the singularly least competent person who keeps posting his drivel
to newsgroups I frequent, and you make the worst unfounded assumptions of
any I come across at the moment. "`read-sequence' is under-specified" my
butt. of course, you don't realize that you could stop and _think_ and
start to separate what you _know_ from what you _guess_ and perhaps learn
to make assumptions based on what you know instead of basing them on your
guesses and other assumptions. first-order assumptions are good; higher-
order assumptions whose lower-order assumptions go unchecked are really
bad for the state of your mind and your future ability to know anything.
what annoys me so much about you in particular is that you don't seem to
have any knowledge at all, it's all just a bundle of unchecked, random
guesswork, from which some stupid question emanates that _has_ no answer,
because any answer you got wouldn't connect to anything else (as answers
you do get do in fact not connect), so you're almost a perfect specimen
of the completely hopeless.

but to continue your initial assumption above, if what you observe is not
usenet-specific, it is steingold-naggum-specific. stop guessing and
start using your brain, and you'll see a difference. if you want it, of
course. I somehow think you _like_ this interaction because it provides
you with a sense of security and predictablity, which you wouldn't have
if you tried to be smart. prove me wrong. I actually think you can.

Martin Rodgers

unread,
Dec 25, 1998, 3:00:00 AM12/25/98
to
In article <Adwg2.58$en4....@burlma1-snr1.gtei.net>,
bar...@bbnplanet.com says...

> As I said,
> this is just my opinion, I don't know if it's actually why Erik likes to
> flame so much here (especially at Sam, it seems).

Well, there'd be little point in Erik flaming me, since I've killfiled
him. ;) In Erik's defense, we agree on most things. However, there were a
few times when he and I have been in violent agreement.

Perhaps, while most of us are assertive, a few people are aggressive? It
could just be a mtter of style. Erik, like yourself and many here, is an
information broker. I've met aggressive sales people, while others use
the soft sell technique. Information broking is not so different.

This too is just an opinion, and I'm a poor communicator.
God Jul (a seasonal greeting in Norway, ISTR).
--
Remove insect from address to email me | You can never browse enough
will write code that writes code that writes code for food

Erik Naggum

unread,
Dec 25, 1998, 3:00:00 AM12/25/98
to
* m...@wildcard.butterfly.demon.co.uk (Martin Rodgers)

| In Erik's defense, we agree on most things.

this is getting too pathetic to stomach. why is it important to you to
lie about this recurring agreement theme? what _do_ you gain from it?

I'd take bloodsucking annelids over your type of leech any day.

Raymond Toy

unread,
Dec 25, 1998, 3:00:00 AM12/25/98
to

Erik Naggum wrote:

> | On the other hand, I've almost put Erik in my killfile, but I haven't,
> | yet. When he's right, he's right. You just have to snuff the blaze and
> | rummage around in the ashes to find any good stuff left.
>
> well, I appreciate the implied compliment.
>

It was.

Ray


Steve Gonedes

unread,
Dec 25, 1998, 3:00:00 AM12/25/98
to

Erik Naggum <er...@naggum.no> writes:

< * Steve Gonedes <jgon...@worldnet.att.net>
< | None. chattr 1.12 with the extenion2 filesystem (linux) has version
< | numbers for files. You can view the file's version number with lsattr.
< | You must back the file up using cp though (you have to rename the file
< | as well).
<
< I don't quite understand what you're saying, here. I have chattr 1.12,
< now, and it can set and lsattr can list the version number, which is
< pretty damn cool, although I can't see any way to keep two versions of
< the same file around at the same time. have I missed something?

That's what I meant by saying it was useful for finding out if the
current (should have said only) file was the current version. It has
version numbers but you cannot use this feature effectively as a
version system, not because all unix tools will fail to recognize the
version, but because the versioning system doesn't have the power to
create new versions. I think that this behavior is correct under the
single tool/single job philosophy - where cp and rename should be used
to create the new version (rendering the version number useless). It
was supposed to be `funny' in a `damn unix' kinda way. Sorry for the
lack of clarity, didn't want to come right out and say that the unix
version system was not well thought out IMHO.

Barry Margolin

unread,
Dec 25, 1998, 3:00:00 AM12/25/98
to
In article <31235725...@naggum.no>, Erik Naggum <er...@naggum.no> wrote:
>* "R. Toy" <rt...@mindspring.com>

> the group therapy here, led by Barry Margolin, is about it being OK to be
> a retarded jerk, so would I please stop hitting them because they cannot
> possibly improve or stop doing what they do; in particular: Sam Steingold
> is a helpless moron and has no other option than to post idiotic drivel,
> so now I be nice and not hurt him, OK? (I could never be as mean to Sam
> as I think Barry is with his defense for him.)

Are you saying that it's OK to be nasty to someone just because they're a
helpless moron? Does it make you feel superior to point out the morons on
the net?

If you don't think his questions are worthy of answering, why do you
bother? Just so you can put him down?

The only questions on Usenet I consider moronic are the ones that are
answered in the FAQs. However, I've resigned myself to the fact that most
people don't bother reading FAQs. I also get annoyed when the same
question shows up practically every day in some groups -- people obviously
post without bothering to read the group they post to.

> so rather than defend the morons, how about helping them to _stop_ being
> morons? Barry, that's something _you_ can do if you remove that line in
> your signature and instead encourage stupid people to send technical
> questions to you in mail and let them loose on the newsgroups when you
> feel they are not going to annoy anybody, anymore. how about it?

I am not a private, personal consultant to the rest of the Internet.
Without that request, my reputation results in my receiving an inordinate
number of direct queries. In fact, even with it, I get one or two messages
a week beginning with something like "You seem to be extremely
knowledgeable about XXX on the net, so I hope you can help me."

Our customers pay through the nose for a service that includes access to my
networking expertise. The rest of the Internet gets it when I feel like
giving it. Yet I still try not to be an asshole when I choose to answer.

--
Barry Margolin, bar...@bbnplanet.com
GTE Internetworking, Powered by BBN, Burlington, MA

*** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.

Barry Margolin

unread,
Dec 25, 1998, 3:00:00 AM12/25/98
to
In article <31235611...@naggum.no>, Erik Naggum <er...@naggum.no> wrote:
> this is so obviously wrong it's sickening to hear it touted as theory.
> let me illustrate with something I found in somebody's signature:
>
>*** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.
>
> is that hostile to stupid people, or _what_? the author of this line
> effectively _yells_ at strangers, long before they could every ask their

The caps (yelling) is to make sure people notice it.

> questions. why is this? is it because he doesn't know how to ignore
> incoming mail?

I could ignore it, but I think that would be rude.

> is it because he feels _invaded_ by people when they send
> mail to him?

I feel it's presumptuous of them to impose on me that way. The fact that I
like to help out in newsgroups does not imply that I wish to provide
private consulting.

> is it because he thinks people who don't understand the
> very simplest things about listening to public advice should just go die?
> I really don't know which, but I find it amusing that the same person
> goes to great length to defend the people he bars from his own mailbox,
> saying, in effect: "sure it's OK to annoy everybody else, but stay away
> from _my_ mailbox".

Usenet is a public medium, one of the purposes of which is for people to
post questions. Anyone who thinks they're annoying shouldn't bother
reading those newsgroups.

> Barry's been trying to blame me for everything for the longest time, but
> let me ask him in return: why does he give stupid people the right to be
> annoying and want to protect them experience any negative feedback from
> their behavior?

I give negative feedback, but I try not to be mean about it. I pointed
out, calmly, that Sam had posted almost the exact same question about
READ-SEQUENCE a month ago. In other groups, I frequently point out to
people that they could have answered the question themselves with a simple
DejaNews search or simply by reading the previous couple of days of
postings in the newsgroup. In the past, I've even gotten complaints to my
manager at work due to my berating people in internal company mailing
lists, and once a customer even complained about my attitude (I was getting
frustrated because I couldn't get him to understand some technical issue).
So I know that online communication allows me to say things I wouldn't
normally say, and I've tried to become sensitive to that and tone it down.

Lars Magne Ingebrigtsen

unread,
Dec 25, 1998, 3:00:00 AM12/25/98
to
Erik Naggum <er...@naggum.no> writes:

> *** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.
>
> is that hostile to stupid people, or _what_? the author of this line
> effectively _yells_ at strangers, long before they could every ask their

> questions. why is this? is it because he doesn't know how to ignore

> incoming mail? is it because he feels _invaded_ by people when they send
> mail to him? is it because he thinks people who don't understand the


> very simplest things about listening to public advice should just go die?

Or it may be because he feels it is more efficient to answer questions
in public, so that more people than one may benefit from the replies.

I certainly prefer answering questions in a public forum, for
instance.

--
(domestic pets only, the antidote for overdose, milk.)
la...@ifi.uio.no * Lars Magne Ingebrigtsen

Erik Naggum

unread,
Dec 26, 1998, 3:00:00 AM12/26/98
to
* Barry Margolin <bar...@bbnplanet.com>

| Are you saying that it's OK to be nasty to someone just because they're a
| helpless moron?

I don't believe in helpless morons, Barry. I believe people do stupid
things because they have been allowed to and not reprimanded for it, and
didn't have a strong requirement on them to avoid doing stupid things. I
also believe the only difference between stupid people and smart people
is that it takes stupid people longer and more information to reach the
same conclusions -- what makes somebody guilty in my eyes is not spending
the time it takes or not gathering the information they need before they
act on such conclusions. both smart and stupid people can commit this
"information crime", but stupid people do it more often because our
society is unwilling to recognize that some people need more time, and
thus impede their progress during their youth. however, when you've
grown up, there are no excuses: incompetence is about people who do
something they are ill equipped to do, and society should tolerate that
kids may be slow and stumble, but should not tolerate that adults are
incompetent. instead we punish kids for being slow and institutionalize
adult incompetence. it's a miracle we're technologically advanced.

if you believe in _helpless_ morons, Barry, I think you rob people of
every opportunity to get things right, you rob them of their dignity by
defending them, and I bet _you_ feel superior when you can help someone
you think is a _helpless_ moron against the perceived "unfairness" of
asking them, first politely, then harshly, to pull themselves together.

I get the impression from your insane accusations that you think I kick
people who have fallen. I kick people who claim to have a right to my
help to get them on their feet, who think they should not do anything on
their own, and who try very hard to make it appear that if they are still
on the ground it is through my failure to help them. in my view, the
people who _should_ be helped are those who would have struggled on their
own and all that help can do it save them some time or pain or effort.
if they couldn't have reached the goal you "help" them reach, you do them
an _immoral_ disservice, because you destroy their sense of independent
accomplishment, which I think is at the core of one's self-esteem. I
also happen to think that some people act stupidly because our society
sees stupid as a valid excuse, and if they're stupid, others have no
right to attack them. that's your line, I believe, so you encourage all
forms of stupidity by defending stupid people, which you certainly do.

| Does it make you feel superior to point out the morons on the net?

do you feel good after posting these increasingly insane accusations
towards people you just don't _agree_ with? first, you spout a lot of
insane drivel about how those who answer technical questions feel that
they do the world such a favor that the world should take anything from
them, which I can only assume is the way you feel about it, and now we
get this "superiority" shit? it's bad enough to have people think a lot
of unfounded crap about technical matters, but you, Barry Margolin, are
the kind of person who goes out of his way to project your own psyche
onto others, and then accuse them of ill will because _you_ would have
had ill will if you did what you _think_ they do, as extrapolated from
what you see with your own prejudices as a strong reinforcer. you really
should stop and think about what you're saying, but I guess that tip has
to come from somebody that doesn't trigger the moron in you.

| If you don't think his questions are worthy of answering, why do you
| bother?

you really aren't very observant, are you? it isn't the _questions_ that
take a harsh reaction, it's the unfounded, wrong, baseless statements of
incorrect fact that get a beating. "`read-sequence' is underspecified",
claims Sam Steingold in his typical way of concluding things long before
he knows what he's talking about, so "ACL5 refuses to read-sequence from
a socket to a vector of unsigned-byte." this is not a question, this is
a moron hard at work to draw baseless conclusions and post idiotic drivel
to a technical newsgroup. of course, there's a question, _too_, but I
guess you think "does it make you feel superior to point out the morons
on the net" is _just_ a question, and not really an accusation, right?

| Just so you can put him down?

that would be what you do, Barry. you seem to have a knack for attacking
people without understanding anything at all of what they are doing, and
you have a disturbing propensity for accusing them of thinking the way
you would have thought if you had acted the same way. since you don't,
and I can only assume you have to work hard at that, you think somebody
else should take the heat for the evil in _your_ ways. so, when somebody
has transgressed, you feel _entirely_ free of all moral bounds and post
the most insane and unfounded accusations against them, you psychologize
and speak for them and all sorts of things that moral, intelligent people
just _don't_ do, no matter how angry they are. I call this the "moral
outrage" stage, and it's just two notches away from a ward-winning
psychiatric illness, because people who suspend every moral precept once
they get past a certain emotional barrier are legally insane at the time
of action. if you can't keep your ethics with you when you're angry or
emotional (or drunk), you don't _have_ any ethics, and people should know
that. your willingness to accuse me of all sorts of insane shit tells me
that people should stay _way_ clear of you if you lose even a moderate
amount of control. you could do anything, being completely unpredictable
once you manage to turn off your ethics, and god knows what that takes,
when you manage to do it simply because you think somebody attacks
"helpless morons", which isn't even the fact of the matter, which of
course is entirely irrelevant to your accusations. your purpose is
simply to make somebody look a lot worse than they are, isn't it? there
is no constructive element in this behavior at all, is there?

| I am not a private, personal consultant to the rest of the Internet.
| Without that request, my reputation results in my receiving an inordinate
| number of direct queries. In fact, even with it, I get one or two
| messages a week beginning with something like "You seem to be extremely
| knowledgeable about XXX on the net, so I hope you can help me."

and what's wrong with a canned reply that is, what, _one_ function key
away? that's what I do. I think you feel personally invaded by these
private questions, and that you have to be rude to people up front,
yelling at them to stay away from your mailbox. I think you know EXACTLY
how it is to be expected to answer people's questions for free, and how
annoying it is to see people ignore your responses, or just take you for
granted so they can ask another simple question the next day. you go out
of your way to defend those who behave that way towards others, yet you
reserve the right to slam your door in the face of random strangers even
before you know what they would say to you. this isn't _smart_, Barry.

| Our customers pay through the nose for a service that includes access to
| my networking expertise. The rest of the Internet gets it when I feel
| like giving it. Yet I still try not to be an asshole when I choose to
| answer.

really? and what were you thinking you were when you wrote what I'm now
replying to? _not_ an asshole? you're a prime-time asshole in my book,
primarily because you steadfastly believe that you have the right to post
your baseless accusations while under the influence of moral outrage. I
bet you feel no remorse at all, either. you actually feel _good_, don't
you, that you have spouted a number of _really_ evil accusations without
a single shred of evidence except that your own motivation would have
been in terms of superiority and similiar crap if you had done the same.

some day, I hope to understand why some Americans are so hypocritical and
feel so entirely free to suspend their ethics when they see something
they don't like. (I once had the mother of a girlfriend cry on the phone
to me for more than an hour because she had read my letters to her and
had gone postal early in our relationship. she did a lot of really evil
things to harm both her daughter and me, and was instrumental in making
the whole relationship unworkable. now she wanted forgiveness, but no
trace of actually understanding that it was fundamentally wrong to steal
her daughter's mail and read it. I never figured this woman out.) I
have tried to figure out what could cause a country to let Kenneth Starr
loose, but gave up. I have tried to figure out what made the Republicans
in Washington tick and how such people could at all be voted into office.
I have tried to figure out Barry Margolin's many weird accusations over
the years, but give up.

these people all have an ethics that says, in effect if not in words,
that if somebody has done something bad, they become fair game, no holds
barred. fire at will, do any nasty thing you have to do to bring the
evil-doer down, because you are now in the moral right, and the evil-doer
isn't. I think this concept of fighting really dirty is a core part of
Christianity, and that's why I probably can't relate to the concept of
suspension of ethics or justice: "be good to all people, forgive sinners,
except you can be arbitrarily _evil_ to those who don't accept your
religious edicts" -- it's been the foundation of all sorts of evil from
the crusades to the anti-abortion people, and so also of how some people
react in small ways to things they don't like, such as Barry Margolin
when he reacts to "unfair" criticism. like, there actually _are_ people
who think a complex system of justice is unnecessary, because they would
have been happier with public lynching of whoever they thought were
guilty. there are people who do not accept that failure to follow due
process _should_ be grounds for dismissal, because they "know" someone's
guilty, usually "as hell", either. such people scare me, because they
are completely unpredictable, irrational, and _amoral_. I see Barry
Margolin as that kind of person, since he's fully willing to assume guilt
on my part in a number of really insane accusations that he just _loves_
to hurl my way. (I'm just waiting for him to disapprove of my fairly
well-founded speculations about him, yet not regret his own actions.)

it's when somebody does something you _don't_ like that you need to know
what you're doing and keep within certain bounds. I flame their socks
off for not using their brain, but welcome any sign of them actually
using it. I _don't_ assume motivation on the part of such people and I
_don't_ assume that they are helpless and cannot change. they have
_done_ something, and they can _do_ something else. I _don't_ attack
their personal space, and I _don't_ attribute all kinds of random evil to
them. that's what my critics, such as Barry Margolin, do, and I make
certain that they have to approve of such tactics before I can respond
and expose their ways.

an interesting question of ethics that never gets answered by people of
Barry Margolin's caliber is "what would it take for you to stop thinking
the way you do?" the answer, in the Christian belief system is: death.
as long as somebody is alive, Christians go around and remember what evil
things they think they have done -- no proof is necessary, of course. in
fact, lack of proof is much to be preferred, because then they're also
hiding it. I work from a radically different point of view: you should
be judged by what you can be expected to do and by what you understand.
what you have done, must be judged according to what you understood at
the time. if you understand more and won't do it again, what more can
anyone ask? punishment at this point is counterproductive in the
_extreme_. only as long as people keep themselves from understanding and
thus keep doing stupid things should they be reprimanded and punished.
once the goal of understanding has been reached, forget the past -- the
person in question will have enough with his own conscience and working
on ways to fix what he inadvertently broke to need any reminders from
vengeful morons around him.

so all I need from people is evidence of understanding and willingness to
exspend the necessary effort. I fully expect people to able to deal with
harsh criticism on this ground, too. I think all of society would be a
much easier place to be if people felt free to react harshly to things
they didn't like (while prohibiting the likes of Barry Margolin and the
Republicans who react not to what they see, but to what they assume must
have been) -- because it would place a certain demand on people to be
more considerate to begin with -- and if society understood that people
can and do change, the goal would not be punishment, but improvement, and
any significant constructive element should be encouraged while the
destructive elements should be proven ineffective. I know that this is
_very_ foreign to the Christian concepts of revenge and punishment, which
have done more to destroy civilization than anything else in our time.
the _only_ reasonable concerns should be restitution, if applicable, and
avoidance of recurrences on the societal side, and personal improvement
on the personal side. that way, you have a clear answer to "what would
it take for you stop thining the way you do?" about those who do bad
things -- just stop doing bad things and start doing good things. no
need for psychologizing crap à la Margolin that doesn't come off, no need
for attaching stigma through baseless accusations à la Margolin that
people of similar moral stature (or lack thereof) keep remembering even
if they were never true, and no need for anyone to be afraid of being
"remembered" as someone who once did something stupid.

people are stupid (that is, do mostly stupid things) because they get
away with it in our society. if they can't get away with it until they
understand what they should do, instead, they might see yet another
reason to change their ways -- more often than not, stupid behavior is
self-reinforcing because others _expect_ them to be stupid. I don't. I
get really pissed when somebody hasn't learned anything from last time,
because I _expect_ people to learn, and they betray their obligation to
learn from their experiences when they don't. I hate betrayal, too.

| *** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.

| Don't bother cc'ing followups to me.

I do wonder how long those two lines will stay in your .signature. I'll
take their removal as a sign that you have understood something from this.
(no apologies for your insane accusations necessary -- just show me you
have understood that you hurt your own case tremendously by going into
moral outrage.)

thanks for listening. this has been my way of extending good will to all
competent men and women and anyone who wants to learn and do a good job,
whatever and wherever it is. I really don't care for the rest.

Martin Rodgers

unread,
Dec 26, 1998, 3:00:00 AM12/26/98
to
In article <vSUg2.2$a06...@burlma1-snr1.gtei.net>, bar...@bbnplanet.com
says...

> The caps (yelling) is to make sure people notice it.

It doesn't bother me, but if it did then a simple filter could locally
remove your sigfile. Some people also complain about CCs, but I don't
mind them much. Nor do I mind that some people _do_ mind, as I can still
understand why it bothers them. I do mind spam, which is why my email
address is mangled, and I see that I'm not alone. Unfortunately, this
bothers some people. I guess they have a more effective spam filter.

In an ideal world, none of these things would be necessary. There would
be no spam at all and nobody would ever need to ask questions, dumb or
otherwise. It seems this is not an ideal world.

> So I know that online communication allows me to say things I wouldn't
> normally say, and I've tried to become sensitive to that and tone it down.

The solution used a friend is to rant about how stupid users can be, but
offline only. That way, the users get the support they need, and he gets
to release his frustration and anger. Otherwise, he'd get complaints.

I think you're doing a great job, Barry. Thanks.

Tesla Coil

unread,
Dec 26, 1998, 3:00:00 AM12/26/98
to
On Thu, 24 Dec 1998, Barry Margolin observed,


> Although Erik is may be an extreme example, it's quite true that the online
> medium brings this out in many people. I imagine that quite a few cultural
> psychologists (e.g. Sherry Turkle and her ilk) have been studying this
> effect.

> In the case of technical newsgroups (which you would intuitively expect to
> be *more* civil), my suspicion is that some people who frequently post
> answers feel that the fact that they're volunteering assistance gives them

> the right to act however they want. They're not under any obligation to
> post, so people should be satisfied with whatever they get.

It occurred to me recently that a sociological study would plausibly
confine itself to the comp.lang hierarchy and attempt to explain the
high or low volume of irritability in terms of the poster's language of
choice. I honestly can't guess what would result. "Users of Feebol,
a strongly typed and syntactically unforgiving language, displayed a
lower incidence of combativeness, perhaps explained by the lack of
alternative coding approaches about which to argue," or "Feebol
programmers experience a high degree of stress debugging code,
as is later reflected in their Usenet posts," or "Employment in Feebol
programming is well-paid but difficult to obtain; Professional Feebol
programmers tend therefore antagonized by potential competition."

In any event, such a study would doubtless be material for a whole
new series of flamage... :}


Barry Margolin

unread,
Dec 26, 1998, 3:00:00 AM12/26/98
to
In article <31236489...@naggum.no>, Erik Naggum <er...@naggum.no> wrote:
> I don't believe in helpless morons, Barry.

You referred to Sam a "helpless moron" in the post I was replying to. I
was just parroting your words back at you. If you now claim there's no
such thing, then this whole "discussion" is totally hopeless.

Actually, I realized it was driveal after I made the mistake of my last
reply, and this will be my final message.

--
Barry Margolin, bar...@bbnplanet.com
GTE Internetworking, Powered by BBN, Burlington, MA

Lieven Marchand

unread,
Dec 26, 1998, 3:00:00 AM12/26/98
to
Erik Naggum <er...@naggum.no> writes:

> the same happens to labor unions, who go out of their
> way to protect the incompetent employees. I think labor unions _exist_
> because of incompetent and stupid managers, but if they had worked hard
> to protect employees against incompetent managers, instead of working
> hard to protect employees no matter what, they would have come a lot
> further, because the _shared_ goal of businesses and labor unions would
> have been competent managers _and_ competent employees, and the unions
> could have done a lot to make sure that their members were competent,
> rather than _primarily_ being employed.
>

I've often thought unions should be replaced by the medieval systems
of guilds, especially in the technical fields. Then they would have an
incentive to make sure that those they give journeyman or master
titles to really deserve them. Then their internal education/evalution
system would have the job of teaching the ignorant and shooting the
stupid.

--
Lieven Marchand <m...@bewoner.dma.be>
------------------------------------------------------------------------------
Few people have a talent for constructive laziness. -- Lazarus Long

Erik Naggum

unread,
Dec 27, 1998, 3:00:00 AM12/27/98
to
* Barry Margolin <bar...@bbnplanet.com>

| You referred to Sam a "helpless moron" in the post I was replying to.

sure, but let's see _how_, which I think is important for _meaning_:

the group therapy here, led by Barry Margolin, is about it being OK to
be a retarded jerk, so would I please stop hitting them because they
cannot possibly improve or stop doing what they do; in particular: Sam
Steingold is a helpless moron and has no other option than to post
idiotic drivel, so now I be nice and not hurt him, OK? (I could never
be as mean to Sam as I think Barry is with his defense for him.)

I was describing _your_ defense of Sam Steingold, Barry, and why you
don't want "helpless" people flamed, while you feel entirely free to
attack me with the most bizarrely irrational accusations. but I see now
that once you've made up your moralistic mind, there's it cannot change.
you cannot even _read_ in that state of moral outrage you're in, can you?

| If you now claim there's no such thing, then this whole "discussion" is
| totally hopeless.

I claim that _you_ think in terms of helplessness. I criticize people
both softly and very harshly because I think they can, in fact have an
_obligation_, to stop doing stupid things and perhaps start doing smarter
things. you want me to stop flaming them because your belief system is
about people who cannot improve their own condition, and thus should be
protected. this is a view I do not subscribe to in any form.

| Actually, I realized it was driveal after I made the mistake of my last
| reply, and this will be my final message.

so, once again, you learn absolutely nothing. how annoyingly predictable.

why _is_ it that the fools who criticize other people for criticizing yet
others feel so morally superior that they would never listen to anything
that has to do directly with their criticism? is it because it takes a
particularly closed mind to feel morally superior to begin with, and that
only moralistic assholes fail to see that there is just as much intent to
see improvement in the criticism of others as there is in theirs? _or_
did Barry only wish to paint as black a picture as possible, regardless
of facts or anything remotely relating to reality, so he could feel
morally vindicated _himself_, rather than have any useful impact on the
world? well, if the Republicans in Washington can think that way, I'm
sure they have constituents who back them up on it, and a culture that
allows that kind of institutionalized hypocrisy.

I'm waiting for those who rude lines in your .signature to go away and
show that you have understood that you are _much_ worse than what you
criticize in others, because you assume without knowing that the people
who are the intended audience of those two lines would annoy you. I deal
with individuals who do something wrong, when they do it, and only then,
whereas you is happy to _presume_ wrongdoing from strangers and the
public at large. if you have any ethics at all, I don't think you do when
you are free to suspend it, I wouldn't want anyone to be the victim of it.

#:Erik

Erik Naggum

unread,
Dec 27, 1998, 3:00:00 AM12/27/98
to
* Barry Margolin <bar...@bbnplanet.com>
| You referred to Sam a "helpless moron" in the post I was replying to.

sure, but let's see _how_, which I think is important for _meaning_:

the group therapy here, led by Barry Margolin, is about it being OK to


be a retarded jerk, so would I please stop hitting them because they
cannot possibly improve or stop doing what they do; in particular: Sam
Steingold is a helpless moron and has no other option than to post
idiotic drivel, so now I be nice and not hurt him, OK? (I could never
be as mean to Sam as I think Barry is with his defense for him.)

I was describing _your_ defense of Sam Steingold, Barry, and why you


don't want "helpless" people flamed, while you feel entirely free to
attack me with the most bizarrely irrational accusations. but I see now

that once you've made up your moralistic mind, it cannot change. you


cannot even _read_ in that state of moral outrage you're in, can you?

| If you now claim there's no such thing, then this whole "discussion" is
| totally hopeless.

I claim that _you_ think in terms of helplessness. I criticize people
both softly and very harshly because I think they can, in fact have an
_obligation_, to stop doing stupid things and perhaps start doing smarter
things. you want me to stop flaming them because your belief system is
about people who cannot improve their own condition, and thus should be
protected. this is a view I do not subscribe to in any form.

| Actually, I realized it was driveal after I made the mistake of my last
| reply, and this will be my final message.

so, once again, you learn absolutely nothing. how annoyingly predictable.

why _is_ it that the fools who criticize other people for criticizing yet
others feel so morally superior that they would never listen to anything
that has to do directly with their criticism? is it because it takes a
particularly closed mind to feel morally superior to begin with, and that
only moralistic assholes fail to see that there is just as much intent to
see improvement in the criticism of others as there is in theirs? _or_
did Barry only wish to paint as black a picture as possible, regardless
of facts or anything remotely relating to reality, so he could feel
morally vindicated _himself_, rather than have any useful impact on the
world? well, if the Republicans in Washington can think that way, I'm
sure they have constituents who back them up on it, and a culture that
allows that kind of institutionalized hypocrisy.

I'm waiting for those two rude lines in your .signature to go away and


show that you have understood that you are _much_ worse than what you
criticize in others, because you assume without knowing that the people
who are the intended audience of those two lines would annoy you. I deal
with individuals who do something wrong, when they do it, and only then,

whereas you are happy to _presume_ wrongdoing from strangers and the

William Barnett-Lewis

unread,
Dec 31, 1998, 3:00:00 AM12/31/98
to
In article <3682B042...@mindspring.com>, "R. Toy"
<rt...@mindspring.com> wrote:

Oh, man, this is soooooo true it scares me.

Erik, get a life, please, and then _share_ it with us. I think we'd all
like to see you actually enjoy something. Including Lisp. You have so many
real and good and true things to say, why do you have to make them be in
such a nasty format?

My wife is a nurse; far too many times when a young nurse fresh out of
school has a question, she gets contempt rather than help; all too often
because the person asked is somehow insecure. I wouldn't think that was the
answer except that your attitude has been such utter garbage so many times.
I've had the
"pleasure" of several of your flames over the years; as a result, I either
address ?'s directly to someone like Barry or re-read Graham (which may be
your goal, I dunno...). All I would like tonight is some evidence that you
actually _like_ Lisp. When I see you get hateful, I don't believe that. G*d
help me, but I cannot...


William


> Barry Margolin wrote:
(major honking snip)

> But there are others who are gracious with their answers. I've set up
> GNUS to highlight you and Kent Pitman, among others, because you know
> your stuff and are civil about it. I *want* to read what you have to
> say.
>

> On the other hand, I've almost put Erik in my killfile, but I haven't,
> yet. When he's right, he's right. You just have to snuff the blaze and
> rummage around in the ashes to find any good stuff left.
>

William Barnett-Lewis

unread,
Dec 31, 1998, 3:00:00 AM12/31/98
to
Barry,
I've been on the news since '86... long compared to some, nothing compared
to others. Thank you.

William

In article <HGUg2.1$a06...@burlma1-snr1.gtei.net>, Barry Margolin <
bar...@bbnplanet.com> wrote:

(Totally snipped.)

Erik Naggum

unread,
Jan 1, 1999, 3:00:00 AM1/1/99
to
* wle...@mailbag.com (William Barnett-Lewis)

| Erik, get a life, please, and then _share_ it with us.

this is making the kind of assumption I try to kill every time I see it:
you guess something in an area where you know nothing, projecting your
unchecked and unobservant assumptions onto others and reality in general,
and then make a _statement_ of purported fact.

| I think we'd all like to see you actually enjoy something.

suppose you see "|||| ||||". do you ask "where are the missing |||?"
or do you refrain from making conclusions based on your assumptions? I
want people to stop basing anything on the stupid, one-dimensional junk
thoughts that requires zero intellectual effort. I enjoy people who find
it unconscionable to make junk thoughts, almost whatever they are,
because they don't make stupid assumptions.

| Including Lisp.

huh? this puzzles me greatly.

| You have so many real and good and true things to say, why do you have to
| make them be in such a nasty format?

because nothing good or true ever comes from complacency. I believe that
creativity is a response to being "sufficiently annoyed". if you don't
think there _has_ to a better way, you wouldn't bother.

| My wife is a nurse; far too many times when a young nurse fresh out of
| school has a question

^^^^^^^^

I don't flog people for questions. I flog them for their assumptions. I
guess you don't know the difference, just as Barry Margolin doesn't.

| All I would like tonight is some evidence that you actually _like_ Lisp.
| When I see you get hateful, I don't believe that. G*d help me, but I
| cannot...

then discard your god and try again. there is no hatefulness, either.

on many occasions, I have expressed enjoyment over properties of Common
Lisp, the language and the standard, of the Allegro CL system, of the
support I get from Franz Inc, of the people I work with at my current
client, of the ability to solve problems very elegantly in Common Lisp,
of the very rich lore in the Lisp community, etc, etc, etc. yet you have
never seen it. why did you tell me this about yourself? aren't you even
_aware_ that you discard information that doesn't fit in your silly
little one-dimensional view of things?

suppose you now see " ||| ". will you now assume that you have
found the missing "|||" from earlier, and _still_ ignore the stuff that
doesn't trigger your emotional responses, and conclude that you have
found the _one_ string that satisfies your desire for one-dimensionality,
or will you bother to review that desire and go back to the "observation
state" that most people have before their "assumption state", and perhaps
invoke the option that you were wrong and that the information is in what
you have _not_ bothered to remember or respond to at the time? most
intellectual progress happens when people realize that they have ignored
the signal and have focused on the noise. to see clearly _means_ to be
able to separate noise from signal, and get them right, respectively.

I think the way people handle noise says something important about them.
I get annoyed by it there and then, and voice my concerns, in the hopes
that the _cause_ of the noise would go away. like fixing a machine that
makes a weird sound, you would normally have to make more sounds and
perhaps cause some disruption of its service to fix whatever caused it,
but the desire is to remove the weird sound. then, when the noise is
gone, it's gone, and who the hell _could_ care about noise past? in
contrast to this, I see people who remember _only_ the noise and they
even fail to grasp _that_ there's a pattern to its rise, much less _what_
that pattern could be or when it occurs. I really don't understand such
people. and when their desire is to _reduce_ noise, they go out and make
_more_ noise and fail utterly to understand that they are the cause of
the noise that they remember, because they forget there's supposed to be
a signal, and noise is all they _know_ how to create.

on the other end of the spectrum, some people view _silence_ as the best
way to respond to things they don't appreciate or like. they optimize
for a high silence-to-signal ratio and frown on all forms of noise,
because to them, silence is what this communication thing really is
about. silence is what would be if people were omniscient and all the
conflicts of the world were resolved and all of us agreed on everything,
and perhaps we'd all be dead, too, who cares? so this ideal of
non-conflict becomes a desire to see more of its measurable quality in
the hopes that silence will _cause_ conflict to go away. I really don't
understand how people can think this way. I know a few people who do.
it's _impossible_ to know what they would like or dislike, what would
please them and what wouldn't. with a _little_ effort, I don't think
anybody would have any problem figuring out what I like and dislike,
despite the fact that a few people clearly are wholly incapabable of even
_observing_ anything that doesn't fit their already set patterns, but at
least that has an explanation of its own.

the best part of not being silent is that you get to learn which people
see signal and which see noise. I think that's so invaluable information
that I accept the "cost" that those who see noise occasionally motivate
me to write something good and true. and if "sufficiently annoyed" is
indeed the cause of creativity, I ought perhaps be grateful for them.

anyway, happy new year, folks.

#:Erik
--
if people came with documentation, could men get the womanual?

Keith M. Corbett

unread,
Jan 3, 1999, 3:00:00 AM1/3/99
to
I met Erik a few years ago. He was guest speaker at a meeting of an
undergraduate computing club. He did a terrific job. IIRC he explained the
protocols and underpinnings of the Web - not just what they were, but why
they were important. He was at all times friendly and courteous. I hope to
meet him again. I hope he will continue to participate in this newsgroup on
his own terms - he is a talented teacher.

/kmc


Christopher R. Barry

unread,
Jan 3, 1999, 3:00:00 AM1/3/99
to

I also like his sense of humor - like the funny stories he tells every
now and then (like how the little angel came to be at the top of the
Christmas tree and the story about the people that had told each other
the same stories so many times that they numbered them and would just
tell each other the numbers).

Christopher

0 new messages