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

Bogus NullPointerExceptions

2 views
Skip to first unread message

Twisted

unread,
Nov 15, 2006, 11:29:33 AM11/15/06
to
while (!dir.equals(baseDir) && dir.list() != null && dir.list().length
== 0) {
File parent = dir.getParentFile();
dir.delete();
dir = parent;
}

is being used to nuke some empty directories in an app of mine, then
the parent if it's now empty, and so forth up the chain to a top
directory.

Sometimes, the while line is throwing an NPE, a problem that seems
impossible.

First, baseDir is not null. It's set only once and never changed,
nothing that uses it ever throws an NPE except this line, and this line
only uses it as the RHS of .equals(), where null is supposed to be
legal anyway.

Second, dir is not null (I added an explicit throw of NPE if dir was
null just before the "while" loop and the "while" line still threw the
NPEs, rather than the line with the explicit throw).

Finally, dir.list().length is accessed only after a short-circuit and
after a test that dir.list() isn't null.

The only logical explanation seems to be that dir.list() can return an
array one nanosecond and null the next...

I don't suppose this is some weird concurrency problem. I guess I'll
try synchronizing on something (baseDir?) before the loop...

Patricia Shanahan

unread,
Nov 15, 2006, 11:52:40 AM11/15/06
to

Additionally, your code seems to me to depend on baseDir being on the
parent chain from the initial value of dir.

If that were not the case, you would reach the end of the parent chain
without encountering the stop condition, so getParentFile would return
null. If that happened, dir would be null in the while test without
having been null when you went through the check before the while loop.

If you have not already done so, perhaps check the code that calculates
dir and baseDir?

Patricia

Twisted

unread,
Nov 15, 2006, 1:28:15 PM11/15/06
to
Patricia Shanahan wrote:
> Additionally, your code seems to me to depend on baseDir being on the
> parent chain from the initial value of dir.

It does, and earlier code guarantees that baseDir is on the parent
chain. (Certain dirs under baseDir are checked for being empty and
deleted if so.)

Fred Kleinschmidt

unread,
Nov 15, 2006, 3:12:38 PM11/15/06
to

"Twisted" <twist...@gmail.com> wrote in message
news:1163608173....@e3g2000cwe.googlegroups.com...

> while (!dir.equals(baseDir) && dir.list() != null && dir.list().length
> == 0) {
> File parent = dir.getParentFile();

Note that getParentFile() can return null.

> dir.delete();
> dir = parent;

if parent is null, dir is now null, and dir.equals() will generate a NPE

> }
>
><snip>


>
> Sometimes, the while line is throwing an NPE, a problem that seems
> impossible.
>

<snip>
--
Fred L. Kleinschmidt
Boeing Associate Technical Fellow
Technical Architect, Software Reuse Project


Patricia Shanahan

unread,
Nov 15, 2006, 4:20:09 PM11/15/06
to

The fact that directory X is under directory Y does not guarantee that
all File objects for X have Y as a getParentFile ancestor.

Of course, the way you are creating the File object may ensure that dir
does have baseDir as a getParentFile ancestor, but if I were you I would
put in a check for null getParentFile result just in case.

Patricia

Twisted

unread,
Nov 15, 2006, 8:58:54 PM11/15/06
to
Fred Kleinschmidt wrote:
> "Twisted" <twist...@gmail.com> wrote in message
> news:1163608173....@e3g2000cwe.googlegroups.com...
> > while (!dir.equals(baseDir) && dir.list() != null && dir.list().length
> > == 0) {
> > File parent = dir.getParentFile();
>
> Note that getParentFile() can return null.

I should have been clearer in the original post. This code is reached
only with dir a descendant of baseDir, so it can't reach the root and
try to keep going.

Twisted

unread,
Nov 15, 2006, 9:02:05 PM11/15/06
to
Patricia Shanahan wrote:
> The fact that directory X is under directory Y does not guarantee that
> all File objects for X have Y as a getParentFile ancestor.

It should, as long as X is genuinely under Y rather than some kind of
shortcut to X being under Y. In this particular application, is
certainly is under Y (it was reached by traversal from Y to begin
with).

Anyway it does seem to have been a concurrency issue -- synchronizing
on baseDir (which is app global and unchanging) at several key spots in
the code made the NPEs go away.

Daniel Pitts

unread,
Nov 15, 2006, 9:24:34 PM11/15/06
to

It doesn't hurt to add an assert.

File parent = dir.getParentFile();
assert parent != null : "Whoops, missed my parent!";

Andreas Leitgeb

unread,
Nov 16, 2006, 3:16:28 AM11/16/06
to
Twisted <twist...@gmail.com> wrote:
> Anyway it does seem to have been a concurrency issue -- synchronizing
> on baseDir (which is app global and unchanging) at several key spots in
> the code made the NPEs go away.

There are two global (principially) modifyable "objects" involved:
baseDir, which you're sure remains unmodified throughout the
running program, and the filesystem itself!

Perhaps the method gets to run twice in parallel, and
the parent-directory obtained in first thread has already
been deleted in the other thread just before you get
to deal with it in the first one. Or something like that.

In that case, synchronizing on baseDir obviously solved
the problem, even if just indirectly. Probably it would
have been enough to synchronize only those methods on baseDir
that actually modify the filesystem's subtree starting at
baseDir.

Ingo Menger

unread,
Nov 16, 2006, 4:52:11 AM11/16/06
to

Twisted schrieb:

The NullPointerException tells you, however, that it can or that there
may be other reasons why getParentFile() returns null.
BTW, make sure you write code that will work with symbolic links.

Patricia Shanahan

unread,
Nov 16, 2006, 8:22:05 AM11/16/06
to
Twisted wrote:
> Patricia Shanahan wrote:
>> The fact that directory X is under directory Y does not guarantee that
>> all File objects for X have Y as a getParentFile ancestor.
>
> It should, as long as X is genuinely under Y rather than some kind of
> shortcut to X being under Y. In this particular application, is
> certainly is under Y (it was reached by traversal from Y to begin
> with).

That should work.

>
> Anyway it does seem to have been a concurrency issue -- synchronizing
> on baseDir (which is app global and unchanging) at several key spots in
> the code made the NPEs go away.
>

I would still try to nail down what is really happening, because adding
arbitrary synchronization can make a program work more often, without
fixing the underlying problem.

The implication is that baseDir is changing, although you thought it was
fixed, which is disturbing.

Alternatively, there could be an initialization problem, if dir is being
calculated in a different thread from the NPE.

Patricia

Chris Uppal

unread,
Nov 16, 2006, 8:55:34 AM11/16/06
to
Daniel Pitts wrote:

> > > > while (!dir.equals(baseDir) && dir.list() != null &&
> > > > dir.list().length == 0) {
> > > > File parent = dir.getParentFile();

[...]

> It doesn't hurt to add an assert.
>
> File parent = dir.getParentFile();
> assert parent != null : "Whoops, missed my parent!";

Or better still -- since this code is running out of control while deleting
stuff (!) -- some heavy duty tracing/logging so that he can find out /exactly/
what erroneous assumption(s) the code is making.

And then leave the null-check in, but use a test plus fatal-internal-error
notification, not a switchable check like an assertion.

-- chris

Twisted

unread,
Nov 16, 2006, 12:08:14 PM11/16/06
to
Ingo Menger wrote:

> > I should have been clearer in the original post. This code is reached
> > only with dir a descendant of baseDir, so it can't reach the root and
> > try to keep going.
>
> The NullPointerException tells you, however, that it can or that there
> may be other reasons why getParentFile() returns null.
> BTW, make sure you write code that will work with symbolic links.

There are none in this application. It creates and destroys
subdirectories of baseDir to house temporary data of various kinds. The
directories are only ever reached by drilling down from baseDir to
begin with. Someone would have to manually and deliberately drop a
symlink to a different part of the directory hierarchy beneath baseDir
for there to be a problem.

It's unlikely even then -- it gets dir from an internal memory of what
it's created, rather than from browsing around under baseDir.

Twisted

unread,
Nov 16, 2006, 12:10:17 PM11/16/06
to

I now think this is what was happening. I do now synchronize on baseDir
everywhere that might create or destroy subdirectories of it.

Twisted

unread,
Nov 16, 2006, 12:13:51 PM11/16/06
to
Patricia Shanahan wrote:
> The implication is that baseDir is changing, although you thought it was
> fixed, which is disturbing.

It can't be -- it's final. It's the structure of the actual filesystem
that was changing asynchronously once I added multithreading.

Tom Forsmo

unread,
Nov 22, 2006, 6:08:26 AM11/22/06
to

Twisted wrote:
> while (!dir.equals(baseDir) && dir.list() != null && dir.list().length
> == 0) {
> File parent = dir.getParentFile();
> dir.delete();
> dir = parent;
> }

There is one big problem with your code. dir can be changed during the
loop, so it does not matter whether you are testing dir for null before
the loop starts. According to the code you have shown us, baseDir only
needs to be checked before the loop. because its not used elsewhere in
the code so it does not change.

The reason for your problem is that you can *not guarantee* that any of
the references/methods you are using does not return null (you are
experiencing an NPE even when you claim there can not be any).
In addition, your code is very unstable. If, for a reason, you change
how baseDir is used or how getParentFile() works, you could get into
problems again in the future.

What you need to do is the following, for absolute certainty:

while (dir != null && baseDir != null &&


!dir.equals(baseDir) &&
dir.list() != null &&
dir.list().length > == 0) {

...
}

tom

Twisted

unread,
Nov 22, 2006, 4:12:51 PM11/22/06
to
Tom Forsmo wrote:
> What you need to do is the following, for absolute certainty:
>
> while (dir != null && baseDir != null &&
> !dir.equals(baseDir) &&
> dir.list() != null &&
> dir.list().length > == 0) {
> ...
> }

This has been debated to death already.

As was discussed earlier, if it DID happen that drilling down from
baseDir to an empty child directory and then working back up with
getParent() could produce a null before reaching baseDir again, it
would mean that the library had a bug (unless some sort of symlink was
placed into one of the directories, which my app doesn't do). In actual
FACT, the NPEs went away when some synchronization was sprinkled over
the problem, indicating a concurrency issue. Finally, contrary to the
alarmist remarks of one poster, it can't "run amok deleting stuff"
because it is explicitly only capable of deleting a directory that is
empty at the time. :P

Ingo Menger

unread,
Nov 23, 2006, 3:54:07 AM11/23/06
to

Twisted schrieb:

> Tom Forsmo wrote:
> > What you need to do is the following, for absolute certainty:
> >
> > while (dir != null && baseDir != null &&
> > !dir.equals(baseDir) &&
> > dir.list() != null &&
> > dir.list().length > == 0) {
> > ...
> > }
>
> This has been debated to death already.
>
> As was discussed earlier, if it DID happen that drilling down from
> baseDir to an empty child directory and then working back up with
> getParent() could produce a null before reaching baseDir again, it
> would mean that the library had a bug (unless some sort of symlink was
> placed into one of the directories, which my app doesn't do).

It could be enough if some component of the path to baseDir is a
symlink.
$ cd /foo/bar/base
$ /usr/bin/pwd
/has/nothing/to/do/with/pathname/entered/has/it?

Or is there a guarantee that getParent() will work "in text mode" only?

Twisted

unread,
Nov 23, 2006, 7:10:43 AM11/23/06
to
Ingo Menger wrote:
> It could be enough if some component of the path to baseDir is a
> symlink.
> $ cd /foo/bar/base
> $ /usr/bin/pwd
> /has/nothing/to/do/with/pathname/entered/has/it?
>
> Or is there a guarantee that getParent() will work "in text mode" only?

I suppose every newcomer to this thread will need this explained
separately and again.

The app creates directories under baseDir. It also creates some files.
It does not create any symlinks, nor is anyone expected to manually
change anything in there.

It also sometimes deletes one of the files, and if this leaves a
directory empty, deletes the directory and works its way up the chain
in case this had made the parent empty and so forth.

The worst case "run amok" scenario would require that someone create a
chain of empty directories somewhere and then place a symlink to the
last one under baseDir. The app would then have to decide on its own to
put a file in a same-named subdirectory, and finding one already
existed not create it; the file then ends up in the symlink. And then
the app has to later delete the file. And the result of this worst-case
scenario is for it to delete the empty directories in the other chain
recursively until it hit one that wasn't empty. And it would have to
delete an empty logical filesystem root before it tried to delete null.

I don't think I've ever even *seen* an empty logical filesystem root.
An empty individual drive root from time to time and *that* is rare.

And of course it can't delete an actual file, except for the extremely
unlikely occurrence of someone (other than the app, now that it's
synchronizing on baseDir) putting a file manually into one of the
subdirectories just as the app is between testing it for being empty
and deleting it. (The most likely case would actually be running two
concurrent instances of the app and pointing them both at the same
baseDir, or at least one at a parent or child of the other's. And that
will, at worst, recreate the concurrency problems that used to exist.)

This thread is over.

Tom Forsmo

unread,
Nov 23, 2006, 8:07:10 PM11/23/06
to

Twisted wrote:
> I suppose every newcomer to this thread will need this explained
> separately and again.

Don't be condescending. You have a bad design and you insist on fixing
it by adding more complexity, synchronisation.

> This thread is over

That's why its not over, you may ignore any further comments if you
wish, but you should not tell others what to do with the thread in a
public forum.

tom

Twisted

unread,
Nov 24, 2006, 6:08:24 PM11/24/06
to
Tom Forsmo wrote:
> Twisted wrote:
> > I suppose every newcomer to this thread will need this explained
> > separately and again.
>
> Don't be condescending. You have a bad design and you insist on fixing
> it by adding more complexity, synchronisation.

Don't be insulting. There is nothing wrong with my design. I'd like to
see you try to suggest a better way to:
* Delete a file in a particular subtree and then
* If the directory it's in is now empty, delete that, and if that
leaves its parent directory entry, delete that too, and so forth, while
remaining confined to that subtree (whose root, even if it becomes
empty, isn't deleted).

> That's why its not over, you may ignore any further comments if you
> wish, but you should not tell others what to do with the thread in a
> public forum.

You seem to misunderstand. Everything has already been said, and now
you are just going around in circles (and forcing me to do so as well,
to rebut insulting BS like what you just posted) saying the same things
repeatedly. You are awfully free with criticism, but seem to lack any
constructive suggestions -- or if not, you're keeping them to yourself.
I suggest you reverse that pattern -- keep your criticisms to yourself
and make any constructive suggestions you may have public. (Yes, that
does mean that in the event you have no constructive suggestions you
should simply shut up.)

But I suspect both of us have better things to do than to continue this
pointless debate. Obviously you disagree with me; equally obviously
neither of us is likely to change the other's mind. Slinging insults
around won't do anything but waste your time slinging them and mine
cleaning up after you. So let's both just go home.

sgoo

unread,
Nov 24, 2006, 8:37:06 PM11/24/06
to
Concurrency may be the problem. Suppose your code runs in thread A, but
another thread B is doing some evil things:

Thread A: check dir.equals(baseDir), false
Thread A: checking dir.list() != null, true, go on

Suddenly --
Thread B: remove dir

Thread A: dir.list().length == 0, NullPointerException! because
dir.list()!=null is no longer true.

nalhawash

unread,
Nov 24, 2006, 11:32:57 PM11/24/06
to
You need to check if dir is null.

Nasser Alhawash

foobar...@hotmail.com

unread,
Nov 25, 2006, 9:27:54 AM11/25/06
to
Twisted wrote:

> You seem to misunderstand. Everything has already been said, and now
> you are just going around in circles (and forcing me to do so as well,

"forcing"? You poor little weak helpless thing! I feel so sorry for
you, being forced against your will to make newsgroup postings by the
nasty big Java programmers.

...

Your design is obviously unmaintainable and inefficient, why can you
not see this?

Twisted

unread,
Nov 25, 2006, 11:31:38 PM11/25/06
to
foobar...@hotmail.com wrote:
> [snip] Your design is [snip]

If you are going to criticize, make it constructive. Suggest how you
would do it instead. Otherwise, shut up.

Andrew Thompson

unread,
Nov 25, 2006, 11:49:31 PM11/25/06
to
Twisted wrote:
> foobar...@hotmail.com wrote:
> > [snip] Your design is [snip]
>
> If you are going to criticize, make it constructive. Suggest how you
> would do it instead.

The 'earth is round' answer has already been provided
by Patricia, Tom, Fred & nalhawash with refinements
offered by Andreas, Daniel, Chris and Ingo.

How many times do you need to hear it, before it
does not bear repeating? (Note that most of the
rest of the people here, would be grateful to
foobarbaz for sparing us the bandwidth..)

>... Otherwise, shut up.

As an aside. You are an *excellent* troll -
my score for your recent efforts, is '9.4'.

Andrew T.

Twisted

unread,
Nov 26, 2006, 1:26:22 AM11/26/06
to
Andrew Thompson wrote:
> How many times do you need to hear it, before it
> does not bear repeating? (Note that most of the
> rest of the people here, would be grateful to
> foobarbaz for sparing us the bandwidth..)

Which is what, add an extra test for null every iteration of a loop
that in the current setting can never test true? (Now that access is
synchronized. It hasn't cropped up in days now.)

foobar...@hotmail.com

unread,
Nov 26, 2006, 3:55:07 PM11/26/06
to
Twisted wrote:
> foobar...@hotmail.com wrote:
> > [snip] Your design is [snip]
>
> If you are going to criticize,

What do you mean "if". I am definitely criticizing your approach to the
problem. Couldn't you tell?

> make it constructive.

You're deluded if you think you have any authority in this newsgroup. I
spurn your directive! You've had a surfeit of constructive help.

> Suggest how you would do it instead.

Another order, your delusion deepens. You've had plenty of sensible
suggestions which you chose to ignore or dismiss offhand.

> Otherwise, shut up.

You thrice compound your error. Your debating skills might suffice for
5 year olds in the schoolyard but I think you'll need to apply more
adult reasoning in this newsgroup if you wish to persuade anyone.

Why don't you use the Observer Pattern?

foobar...@hotmail.com

unread,
Nov 26, 2006, 4:06:49 PM11/26/06
to

Andrew Thompson wrote:
> Twisted wrote:
> > foobar...@hotmail.com wrote:
> > > [snip] Your design is [snip]
> >
> > If ...

> (Note that most of the
> rest of the people here, would be grateful to
> foobarbaz for sparing us the bandwidth..)

Andrew, please use your killfile. I'm just applying reductio ad
absurdam to Twisted's assertion that he is FORCED to respond to every
posting. Everyone but he must by now be aware that it is only Twisted's
own ego that forces him to carry on like this. I doubt he is capable of
getting it under control.

If Twisted doesn't understand why synchronisation reduced the frequency
of occurrence of the NPE then he is just postponing the date when he'll
have to get to grips with his bugs.

I wonder if Twisted has considered upgrading his JRE to 1.6 and
retesting without synchronisation?

Tom Forsmo

unread,
Nov 26, 2006, 6:50:34 PM11/26/06
to

Pay attention and read the entire message before you start steaming,
there is more than just vivid rudeness in this reply. There is also an
actual attempt at providing some help. Only Allah knows why... (LOL).
But that all depends on whether you want some help or are just out to
assert yourself.

Twisted wrote:
> Tom Forsmo wrote:
>> Twisted wrote:
>>> I suppose every newcomer to this thread will need this explained
>>> separately and again.
>> Don't be condescending. You have a bad design and you insist on fixing
>> it by adding more complexity, synchronisation.
>
> Don't be insulting. There is nothing wrong with my design.

What insult did I commit? Is it that asked you not to be
condescending? Oh no! some little person asking you to behave like a
grown up, such insolence! ... Ahh, now I get it. Its because I said your
design was bad, now that's a real insult. You should bang my head against
the wall until it pops. Or better yet, you should just raise your voice
so everybody can hear the mighty Twisted speak.

You need to deflate quite a bit. This is a public forum, where the aim
is to try to provide help, You have already shown us, the last couple of
weeks, that you are not quite the genius you envision yourself to be.
There are messages scattered around from the last couple of weeks, where
you seem to have some problem with your program and the fault is
definitely not yours, it has to be java, it has to be...
This leads me and others to notice that maybe you should be looking at
the code you write.

> I'd like to
> see you try to suggest a better way to:

Because there can only be one solution for this task? what arrogance!

> * Delete a file in a particular subtree and then
> * If the directory it's in is now empty, delete that, and if that
> leaves its parent directory entry, delete that too, and so forth, while
> remaining confined to that subtree (whose root, even if it becomes
> empty, isn't deleted).

Did you ever read ESRs "How to ask questions the right way" (I'll leave
it to you to find it on the net). You should have noticed that, in at
least one of the replies to your post, it was suggested that you should
try to look for the real problem, instead of creating a quick fix. That
should suggest to you that 1) maybe the problem lies deeper than what it
seems initially 2) maybe your design is not the best way to solve this
particular problem 3) to solve this problem you should look at it in a
larger perspective or from a different angle. 4) Maybe if you explain
more than just a little bit of the problem you can get some real answers.

>> That's why its not over, you may ignore any further comments if you
>> wish, but you should not tell others what to do with the thread in a
>> public forum.
>
> You seem to misunderstand. Everything has already been said, and now
> you are just going around in circles

No, I have not misunderstood anything, I have read all the posts and I
know what the posters say. But you do not have time to listen, as you
throw out insults instead on focusing on what the posters are trying to
say to you.

> (and forcing me to do so as well,
> to rebut insulting BS like what you just posted) saying the same things
> repeatedly.

some more hot air...

> You are awfully free with criticism, but seem to lack any
> constructive suggestions -- or if not, you're keeping them to yourself.
> I suggest you reverse that pattern -- keep your criticisms to yourself
> and make any constructive suggestions you may have public. (Yes, that
> does mean that in the event you have no constructive suggestions you
> should simply shut up.)

Fortunately you do not have the possibility to control what I say, when
I say it and where I say it.

You don't seem to have noticed that people here have actually tried to
help you, but you have been so busy cutting them of with rude remarks
and self assertions that they simply cant be bothered to help you any more.

> But I suspect both of us have better things to do than to continue this
> pointless debate. Obviously you disagree with me; equally obviously
> neither of us is likely to change the other's mind. Slinging insults
> around won't do anything but waste your time slinging them and mine
> cleaning up after you. So let's both just go home.

You might have been out flying high, but I have been home all the time
with my feet planted firmly on the ground.


Now, if you are ready to listen, I will give you the suggestions you
think I am unable to provide.

But first, there are some things you need to answer to get proper help,
because as several people have already stated your design has a bad
smell and should probably be redesigned.

- what is the purpose of what you are trying to do?
- why do you need a deep directory structure with files scattered in it?
- why do you need support for multi threaded file operations within the
same directory structure?
- can other solutions help you better?
-

the main criticisms are:

- the design and implementation you have chosen is not very maintainable
- the code its more complicated than it needs to be
- i.e. there are too many difficult to control side effects in the
code.

which both can lead to more headache in the future.

here are some suggestions:

1- don't use multi threading
- but that only solves your immediate problem, so you could almost
just continue to use multi threading.
2- add some proper file error handling code, to allow you to recover
from file errors, as the file system is not very transaction based.
3- not use deep directory structure but some other method instead, such
as dotted hierarchical file names in one directory.
4- design the directory operations in a singleton object in its own
thread, with a message queue to send commands through.
- at least now we are getting closer to some good design for reuse
and maintainability.
5- a recursive clean up method instead of the iterative version you
have chosen.
6- extend 4 with a separate TimerTask thread run every x seconds.
So the only thing you main thread, or x number of threads,
does, is to delete a single file. The clean up thread will take care
of the rest for you. This single file would then only be named in one
thread so there will be no problems. And the operation that creates a
file in the directory structure must also be able to create any
missing directories, so it should be able to handle disappearing
directories
7- or even better, combine 4,5 and 6 into one solution, where the
TimerTask is to add a message in the message queue signalling clean-up.


tom

Twisted

unread,
Nov 26, 2006, 10:17:07 PM11/26/06
to
foobar...@hotmail.com wrote:
> You're deluded if you think you have any authority in this newsgroup.

So are you. Yet you persist in telling me what to do. Why?

> Another order, your delusion deepens. You've had plenty of sensible
> suggestions which you chose to ignore or dismiss offhand.

I determined that the problem was a concurrency one and fixed it. End
of story -- or should have been, anyway. Why do you keep posting to
this thread?

> ...if you wish to persuade anyone.

I don't wish to persuade anyone of anything, except that they should
leave me alone when they are not responding helpfully to something I
wrote. Right now there are several people doing neither (here and in
another thread). They stand to gain nothing, yet they continue, and in
doing so they continue to aggravate me.

Twisted

unread,
Nov 26, 2006, 10:21:10 PM11/26/06
to
foobar...@hotmail.com wrote:
[Snip some nonsensical ranting about my ego]

You seem to be obsessed with other peoples' egos. Perhaps this is the
wrong newsgroup though.

> If Twisted doesn't understand why synchronisation reduced the frequency
> of occurrence of the NPE then he is just postponing the date when he'll
> have to get to grips with his bugs.

Like I've said a thousand times before, it didn't "reduce" anything; it
stopped the NPEs, because concurrency flubs were the *sole* cause. The
only way it could happen any more would be if a user elects to put a
symlink into the directory tree it created, which isn't intended for
user modification anyway.

> I wonder if Twisted has considered upgrading his JRE to 1.6 and
> retesting without synchronisation?

I *am* using 1.6, but I don't see any point in doing anything without
synchronization that clearly requires it for threadsafety!

Twisted

unread,
Nov 26, 2006, 10:39:11 PM11/26/06
to
foobar...@hotmail.com wrote:
[Snip some nonsensical ranting about my ego]

You seem to be obsessed with other peoples' egos. Perhaps this is the
wrong newsgroup though.

> If Twisted doesn't understand why synchronisation reduced the frequency


> of occurrence of the NPE then he is just postponing the date when he'll
> have to get to grips with his bugs.

Like I've said a thousand times before, it didn't "reduce" anything; it


stopped the NPEs, because concurrency flubs were the *sole* cause. The
only way it could happen any more would be if a user elects to put a
symlink into the directory tree it created, which isn't intended for
user modification anyway.

> I wonder if Twisted has considered upgrading his JRE to 1.6 and
> retesting without synchronisation?

I *am* using 1.6, but I don't see any point in doing anything without

Twisted

unread,
Nov 26, 2006, 11:04:37 PM11/26/06
to
Tom Forsmo wrote:
> Pay attention and read the entire message before you start steaming

If you don't want me to start steaming, then be more diplomatic in your
posts. Accusing me of gross incompetence will merely put me on the
defensive and make me entrench myself. Then nothing else you say will
make me budge.

The reason for this is simple. If we are collaborating on finding a
solution to a problem, then great! I'll consider any suggestion you
have.

If on the other hand you are bullying me and making sullying statements
about me (or implying them), then you are my adversary rather than
partner, and you've created a situation with winners and losers.
Obviously, if I do or say anything that amounts to acceptance of your
judgment of me, then I lose, so I can't do that, and that means I have
to argue against whatever you're saying. I certainly cannot start
believing it, since it would mean starting to believe whatever
insulting thing was implied along with it. The reason for that is
itself simple: any other policy on my part would open the door to
letting any Tom, Dick, or Asshole on usenet convince me of whatever
negative claims about me they wished. I'd be letting anyone manipulate
me into all kinds of nihilistic, futility-implying beliefs, which would
probably end with suicide. The third option appears to be to disbelieve
the insult but not publicly oppose it, which will still leave whatever
audience there is with the unopposed impression that the insulting
claim might be true. That's not a much better outcome, since having
everyone in the world believe something bad and untrue about me (even
while I don't) would probably interfere severely in being able to
continue anything resembling a life worth living. Anti-me propaganda
must be met with an equal and opposite force rather than allowed to be
disseminated unopposed. Since I don't believe in censorship, forcibly
shutting up my attackers is out of the question too. Clearly,
therefore, the policy I adopt, which is to fight back with
counterarguments when anyone publicly claims something hostile to me,
is the only viable option.

> there is more than just vivid rudeness in this reply. There is also an
> actual attempt at providing some help.

Help? Unfortunately, attaching some "help" as a rider to a steaming
pile just ensures that it goes into the compost heap along with all of
the accompanying reeking shit.

As a rule, gifts wrapped in fancy paper are accepted far more
frequently than gifts left in someone's toilet bowl, and there's a
reason for this.

> Only Allah knows why... (LOL).

This could explain a great deal...

> But that all depends on whether you want some help or are just out to
> assert yourself.

Well, first of all, the original problem raised in this thread has long
since been solved to my satisfaction, so actually, I don't. As for
"asserting myself", in response to a serious insult leveled at me in a
public forum, you're damned straight.

> What insult did I commit? Is it that asked you not to be
> condescending?

Hypocrisy is almost as bad. But the insult was the accusation of
incompetence.

In any event, your advice is suspect, since you suggested that
synchronizing access to a shared object in a concurrent application was
"unnecessary complexity". I disagree, especially given that it not
being synchronized was in fact causing difficulties before.

[Further insults]

> You need to deflate quite a bit. This is a public forum, where the aim

> is to try to provide help.

Unfortunately, some of you have forgotten that, unless you honestly
believe that the best way to help *anyone* is by insulting them.

[Insults my intelligence]

> There are messages scattered around from the last couple of weeks, where
> you seem to have some problem with your program and the fault is
> definitely not yours, it has to be java, it has to be...

Well, let's see. The priority queue NPE is now part of the Java bug
database as an apparent regression in 1.6 vs. 1.5. That looks to be a
genuine library bug. This NPE proved to be a concurrency problem and
has long since been solved.

> > I'd like to
> > see you try to suggest a better way to:
>
> Because there can only be one solution for this task? what arrogance!

That's odd. In another thread here, people are blasting me for
considering that there may be more than one solution to a task. Now
here, with zero evidence, you accuse *me* of claiming there is only one
solution.

> > * Delete a file in a particular subtree and then
> > * If the directory it's in is now empty, delete that, and if that
> > leaves its parent directory entry, delete that too, and so forth, while
> > remaining confined to that subtree (whose root, even if it becomes
> > empty, isn't deleted).
>
> Did you ever read ESRs "How to ask questions the right way" (I'll leave
> it to you to find it on the net).

I fail to see the relevance. You appear to be recommending some kind of
non-Java resource. It sounds like it might be a self-help book or
something similar, though, which implies an insult. In fact, the phrase
you've quoted itself implies an insult, namely that I'm doing something
the *wrong* way. (And now who is saying there is a right way and a
wrong way and arrogantly assuming the only correct way is their way?)

[Snip a whole lot of rubbish]

I stated some simple requirements, and you've failed to provide even a
sketch of your idea of a preferred implementation. Sorry, you scored 0
points in this round.

What you did instead, mysteriously, was ask a whole bunch of questions
seemingly with the intent of making me redesign the thing. If I did
that, I'd end up with the same code I have now, for obvious reasons.
Unless you suggest something else that obviously doesn't occur to me
otherwise. And you seem to be refusing to do so!

> Maybe if you explain more than just a little bit of the problem you can get

> some real answers!

Sorry, no can do. I will not divulge more than the minimum required,
and I did that in the post you are replying to in a part of it that you
completely ignored.

> No, I have not misunderstood anything, I have read all the posts and I
> know what the posters say. But you do not have time to listen, as you
> throw out insults instead on focusing on what the posters are trying to
> say to you.

Excuse me? *I* throw out insults? What is this, some kind of
transference, or whatever the psychobabble of the month for this
particular pathology is?

It is *you* who has persisted in throwing out insults.

> Fortunately you do not have the possibility to control what I say, when
> I say it and where I say it.

You misspelled "unfortunately".

> You don't seem to have noticed that people here have actually tried to
> help you

Really? Maybe early in the thread when I actually still needed it. I
haven't seen anything recently that looked like any kind of "help",
other than people trying to "help" me believe nasty and awful
accusations, start feeling bad about myself, and maybe go kill myself
or whatever it is that they seem to want.

> but you have been so busy cutting them of with rude remarks
> and self assertions that they simply cant be bothered to help you any more.

Really. I'm the one making "rude remarks" in your twisted perceptions?
Actually all I've done is refute some insulting, malicious remarks
people have made *about* me.

> Now, if you are ready to listen, I will give you the suggestions you
> think I am unable to provide.

Really? (And I never thought you were unable to give suggestions; just
unwilling, or at least unwilling to do so in a civil manner.)

[Insulting suggestion of malodor deleted]

That one doesn't need a detailed rebuttal. It's clearly ludicrous,
given the nature of the medium. :)

> - what is the purpose of what you are trying to do?

Outside the scope of this discussion, and proprietary. Sorry.

> - why do you need a deep directory structure with files scattered in it?

It is a cache implementation. Beyond that, you don't Need To Know(tm).

> - why do you need support for multi threaded file operations within the
> same directory structure?

That's irrelevant. It only matter *that* I do.

> - can other solutions help you better?

Since it's multithreaded, I don't see any superior method to using the
"synchronized" keyword; sorry.

> - the design and implementation you have chosen is not very maintainable

I disagree.

> - the code its more complicated than it needs to be
> - i.e. there are too many difficult to control side effects in the
> code.

If this is true, it's also unavoidable.

> 1- don't use multi threading
> - but that only solves your immediate problem, so you could almost
> just continue to use multi threading.

This is silly. For one thing, the nature of the larger application
requires multithreading. For another, all of the file operations in the
directories in question are now in critical sections synchronized on a
single common Java object, and so in effect it already *is*
single-threaded for that purpose.

> 2- add some proper file error handling code, to allow you to recover
> from file errors, as the file system is not very transaction based.

It has the potential to throw IOException; where file manipulation is
done there are catches and finallys to deal with these here and there
(e.g. to close streams). I'm fairly sure all the needed error handling
is already in place.

> 3- not use deep directory structure but some other method instead, such
> as dotted hierarchical file names in one directory.

This has issues of its own and was ruled out a long time ago. Why isn't
your concern.

> 4- design the directory operations in a singleton object in its own
> thread, with a message queue to send commands through.

This occurred to me as well, but it means adding a new class and other
complexities that just don't seem necessary given that the same effect
is achieved simply by synchronizing.

> 5- a recursive clean up method instead of the iterative version you
> have chosen.

The directory construction uses "mkdirs" so there's no recursive
user-code to unroll along. Besides, construction and destruction may be
widely-separated events.

> 6- extend 4 with a separate TimerTask thread run every x seconds.

Complexity abounds. And you suggested that *my* method was too complex
for just adding a few "synchronized (foo) {" and "}" pairs here and
there!

> And the operation that creates a
> file in the directory structure must also be able to create any
> missing directories, so it should be able to handle disappearing
> directories

It already does, with mkdirs.

> 7- or even better, combine 4,5 and 6 into one solution, where the
> TimerTask is to add a message in the message queue signalling clean-up.

Now the project we're currently discussing would have more classes for
doing just this cleanup than it does for doing the whole rest of what
it does. :P

Message has been deleted

Andreas Leitgeb

unread,
Nov 27, 2006, 4:55:22 AM11/27/06
to
Twisted <twist...@gmail.com> wrote:
> If on the other hand you are bullying me and making sullying statements
> about me (or implying them), then you are my adversary rather than
> partner, and you've created a situation with winners and losers.
> Obviously, if I do or say anything that amounts to acceptance of your
> judgment of me, then I lose,

You're forgetting one important detail in your argumentation:
*You* are the one seeking help for *your* problem.

I can't say for the others, but my motivation to help is,
that someones problems look like puzzles to me. Your
problems even had quite an interesting touch. Your
NullPointerException was my Sudoku-alike :-)
Unfortunately, solving your problems is no longer fun.
And this is not for the nature of the problems.

Twisted

unread,
Nov 27, 2006, 7:55:34 AM11/27/06
to
Joe Attardi wrote:
> Hahaha, wow. [snip more at roughly the same level of articulateness]

[snip way, way too damn much quoted material]

If you don't have anything constructive to say, FOR CHRIST'S SAKE AT
LEAST DON'T TOP-POST! :P

Twisted

unread,
Nov 27, 2006, 7:58:24 AM11/27/06
to
Andreas Leitgeb wrote:
> Twisted <twist...@gmail.com> wrote:
> > If on the other hand you are bullying me and making sullying statements
> > about me (or implying them), then you are my adversary rather than
> > partner, and you've created a situation with winners and losers.
> > Obviously, if I do or say anything that amounts to acceptance of your
> > judgment of me, then I lose,
>
> You're forgetting one important detail in your argumentation:
> *You* are the one seeking help for *your* problem.

Actually, it is you who are forgetting something, and that is your
English language lessons, particularly vis-a-vis verb tenses. *I* am
the one that *was* seeking help ... and eventually solved the problem,
largely on my own. As an unfortunate side effect of having posted here
before coming up with said solution, though, I now find myself wading
through piles of tripe every time I check news!

Perhaps you can help me with that, though -- by letting this stupid
thread die, now that it's emphatically served its original purpose and
is equally emphatically no longer serving *any* constructive purpose.

foobar...@hotmail.com

unread,
Nov 27, 2006, 5:44:08 PM11/27/06
to

Twisted wrote:
> foobar...@hotmail.com wrote:
> > You're deluded if you think you have any authority in this newsgroup.
>
> So are you.

More pantomime debate. If I did I would be, but I didn't.


> Yet you persist in telling me what to do.

You said "If you are going to criticize,make it constructive."

I said "I think you'll need to apply more adult reasoning in this
newsgroup if you wish to persuade anyone."

See the difference? Prefixing with "I think" makes mine more of an
observation than your directive".


> Why?

I'll take that as rhetorical.


>
> > You've had plenty of sensible
> > suggestions which you chose to ignore or dismiss offhand.
>
> I determined that the problem was a concurrency one and fixed it.

No you didn't, you found that adding concurrency diminished the
frequency of occurrence. The cause is as much a mystery to you today as
it was when you first posted on this subject.


> End of story -- or should have been, anyway. Why do you keep posting to
> this thread?

You enjoy it really.


> > ...if you wish to persuade anyone.
>
> I don't wish to persuade anyone of anything, except that they should
> leave me alone when they are not responding helpfully to something I
> wrote. Right now there are several people doing neither (here and in
> another thread). They stand to gain nothing,

You've missed something there.


> yet they continue, and in doing so they continue to aggravate me.

As ye sow, so shall ye reap.

Twisted

unread,
Nov 28, 2006, 1:58:07 AM11/28/06
to
foobar...@hotmail.com wrote:
[Snip lots of content-free ramblings]

> > I determined that the problem was a concurrency one and fixed it.
>
> No you didn't, you found that adding concurrency diminished the
> frequency of occurrence.

To zero. Which is the same thing, moron.

> > I don't wish to persuade anyone of anything, except that they should
> > leave me alone when they are not responding helpfully to something I
> > wrote. Right now there are several people doing neither (here and in
> > another thread). They stand to gain nothing,
>
> You've missed something there.

Oh? Such as? Tell me what you gain by posting drivel like the reeking
turd I'm replying to?
Or hacking GG to make my replying spam random extra newsgroups and put
me over Google's dumbass limit, for that matter? (Which activity you
seem to have stopped, once I caught on to it and it thereby became
futile.)

> > yet they continue, and in doing so they continue to aggravate me.
>
> As ye sow, so shall ye reap.

Are you claiming that I attacked you before you ever attacked me? If
so, it's a damn lie...

foobar...@hotmail.com

unread,
Nov 28, 2006, 3:03:30 PM11/28/06
to

Twisted wrote:
> foobar...@hotmail.com wrote:
> [Snip some nonsensical ranting about my ego]

You mean this


"Twisted's assertion that he is FORCED to respond to every
posting. Everyone but he must by now be aware that it is only Twisted's
own ego that forces him to carry on like this."

> > If Twisted doesn't understand why synchronisation reduced the frequency


> > of occurrence of the NPE then he is just postponing the date when he'll
> > have to get to grips with his bugs.
>
> Like I've said a thousand times before, it didn't "reduce" anything; it
> stopped the NPEs, because concurrency flubs were the *sole* cause. The
> only way it could happen any more would be if a user elects to put a
> symlink into the directory tree it created, which isn't intended for
> user modification anyway.
>

Q.E.D.

I'm not forcing you to respond, you have the choice don't you?

Concurrency "flubs" must almost always be caused by incorrect use of
threads in the first place.

foobar...@hotmail.com

unread,
Nov 28, 2006, 3:24:36 PM11/28/06
to

Twisted wrote:
> foobar...@hotmail.com wrote:

> > Twisted wrote:
> >
> > > I determined that the problem was a concurrency one and fixed it.
> >
> > No you didn't, you found that adding concurrency diminished the
> > frequency of occurrence.
>
> To zero. Which is the same thing, moron.
>

For all you know, the frequency of occurrence has a period greater than
the short elapsed time over which you've carried out testing.

Saying it "is the same thing" is like saying the cause of a wound
bleeding is the absence of bandaging. Using Java synchronisation could
be just a bandage, in which case you haven't detected the real cause.

> > > I don't wish to persuade anyone of anything, except that they should
> > > leave me alone when they are not responding helpfully to something I
> > > wrote. Right now there are several people doing neither (here and in
> > > another thread). They stand to gain nothing,
> >
> > You've missed something there.
>
> Oh? Such as? Tell me what you gain

Isn't it obvious?


> by posting drivel like the reeking turd I'm replying to?

You love it.


> Or hacking GG

a) Look at the headers of the chain of messages and you'll see who
added the FollowUp.

b) Using Followups is hardly hacking (in either sense). Even GG provide
a "Add a followup-to header" link above every "Repy-to" form. Only a
fool thinks clicking a link in a web page is hacking.


> to make my replying spam random extra newsgroups and put
> me over Google's dumbass limit,

Would that be dumbass limit as in limit for dumbasses? How apt.


> for that matter? (Which activity you
> seem to have stopped, once I caught on to it and it thereby became
> futile.)

I didn't start, so it's inaccurate to say I stopped.


>
> > > yet they continue, and in doing so they continue to aggravate me.
> >
> > As ye sow, so shall ye reap.
>
> Are you claiming that I attacked you before you ever attacked me?

Let me explain it in simple words: You aggravate others, this leads to
others aggravating you in turn. Saying "but but he started it!" is a
rather juvenile form of pleading.

> If so, it's a damn lie...

Obvious use of the strawman argument there. Your premise is false. I'm
not attacking you, I'm having a pleasant conversation with you.

foobar...@hotmail.com

unread,
Nov 28, 2006, 3:31:13 PM11/28/06
to

Twisted wrote:
> Andreas Leitgeb wrote:
>> <something>
> <Usual stuff>

> Perhaps you can help me with that, though -- by letting this stupid
> thread die, now that it's emphatically served its original purpose and
> is equally emphatically no longer serving *any* constructive purpose.

Have *you* tried letting the thread die?

Lead by example!

Message has been deleted

Twisted

unread,
Nov 29, 2006, 6:42:52 AM11/29/06
to
foobar...@hotmail.com wrote:
> Twisted wrote:
> > foobar...@hotmail.com wrote:
> > [Snip some nonsensical ranting about my ego]
>
> You mean this
> [Snip some more nonsensical ranting about my ego]

Just because you repeat it six zillion times doesn't mean it's true
asswipe.

> I'm not forcing you to respond, you have the choice don't you?

Not if I want your public accusations to be countered by equally-public
rebuttals.

> Concurrency "flubs" must almost always be caused by incorrect use of
> threads in the first place.

As in lack of "synchronized (foo)" around access to shared
non-immutable resources?

Twisted

unread,
Nov 29, 2006, 6:56:13 AM11/29/06
to
foobar...@hotmail.com wrote:
> For all you know, the frequency of occurrence has a period greater than
> the short elapsed time over which you've carried out testing.

Idiot. The frequency of occurrence can be calculated. It is zero unless
all of the following occur:
* A symlink is dropped under baseDir, externally, whose destination is
a directory on a different partition.
* This partition has zero files.
* Java doesn't treat its root directory as having a parent that is a
"logical root" for all drives (but last time I checked, it does).
* The attempt to delete the partition's empty root directory succeeds,
so the loop continues with "dir" equal to "null" to eventually throw
NPE instead of bombing on a failed deletion instead.

I'm fairly sure the NPE actually *can't happen* now, and the only
consequences of someone dropping a symlink in there would be a) the dir
containing the symlink is never eligible for deletion (same as if a
file got dropped in there) and b) the symlink's destination might be
deleted, if it's empty. Of course, the symlink might then cause
problems in a later run, too. But that a) can't happen on Windows
systems at all and b) requires unlikely, oddball user behavior on Unix
systems. (I'm unsure whether Mac aliases work as true symbolic links,
while I know that Windows shortcuts don't; Mac OSX presumably has true
symlinks but they may be disused relative to aliases, if the latter
weren't retrofit to use the former under the hood. I don't know much
about MacOS more recent than 8 or so, so...)

> Saying it "is the same thing" is like saying the cause of a wound
> bleeding is the absence of bandaging. Using Java synchronisation could
> be just a bandage, in which case you haven't detected the real cause.

The cause was concurrent modifications to the directory tree by
different threads of the same application. Synchronization is the cure,
not just a bandage, for that kind of thing (unless the multithreading
is itself unnecessary -- but that's not the case here).

Why is this even still being discussed?!

You seem awfully convinced that something else is wrong, especially for
someone who necessarily knows an awful lot less about the code than I
do. And no, I won't post the entire source here just for your
edification! I do generally favor open source, but that doesn't by any
means I support demanding or forcing developers to open their
source...aside from voting machines or other publicly-funded stuff.
(Yeah, I know, the voting machine manufacturers are private businesses,
but nobody buys the voting machines with anything except tax money, and
transparency of the process is crucial, so...Diebold is welcome to keep
the source code for their ATMs closed if they wish...)

> > > > I don't wish to persuade anyone of anything, except that they should
> > > > leave me alone when they are not responding helpfully to something I
> > > > wrote. Right now there are several people doing neither (here and in
> > > > another thread). They stand to gain nothing,
> > >
> > > You've missed something there.
> >
> > Oh? Such as? Tell me what you gain
>
> Isn't it obvious?

No, it isn't. You've invested an awful lot of time and effort in a vain
quest to "prove" your opponent not only wrong but some kind of deranged
moron and lunatic, but you haven't bothered to tell anybody why you
want this.

> > by posting drivel like the reeking turd I'm replying to?
>
> You love it.

No, I don't, but I am not able to just leave it alone either, or people
might actually start to believe your BS.

[Snip further insults, irrelevancies, and BS]

> Let me explain it in simple words: You aggravate others

False.

I did not throw the first punch, and anyone claiming otherwise is
either a retard or a liar.
If something I did is "aggravating", it was after I was provoked. By
you.

> Obvious use of the strawman argument there. Your premise is false. I'm
> not attacking you, I'm having a pleasant conversation with you.

If you think this is a "pleasant conversation" then you are hopelessly
delusional and need to check yourself into the nearest psych ward. They
will give you all the Thorazine you need, not to mention take your
computer away from you so that you quit posting drivel and BS to
usenet. What kind of "pleasant conversation" has one of the
participants (i.e. you) uttering insults, put-downs, and other such
crap every other time he opens his mouth? Hmm?

Twisted

unread,
Nov 29, 2006, 6:57:43 AM11/29/06
to

Jesus fucking Christ you're a moron. Haven't I just gotten through
telling you for the umpteenth time that you aren't letting me?! I'd
love for this to end. You'd shut up, I'd post mild responses to your
last batch of drivel refuting the stupid insults in it, and that would
be the end of it. But nooo, you insist that this fight (which you
started) end on your terms, and that you must have the last word...

Jerkwad.

Twisted

unread,
Nov 29, 2006, 6:58:54 AM11/29/06
to
Joe Retardi wrote:

> On Nov 28, 1:58 am, "Twisted" <twisted...@gmail.com> wrote:
> > Or hacking GG to make my replying spam random extra newsgroups and put
> > me over Google's dumbass limit, for that matter? (Which activity you
> > seem to have stopped, once I caught on to it and it thereby became
> > futile.)
>
> HAHAHAHAHAHAHA!!!!!

[Snip rest of similarly juvenile crap]

I thought you'd promised to shut the fuck up? Oh, yes; for the 3rd or
4th time. It's not really surprising (disappointing, but not
surprising) to see you make a liar of yourself yet again. Asswipe.

Andreas Leitgeb

unread,
Nov 29, 2006, 7:35:09 AM11/29/06
to
Twisted <twist...@gmail.com> wrote:
> Jesus fucking Christ you're a moron. Haven't I just gotten through
> telling you for the umpteenth time that you aren't letting me?!

*get cola and chips*

Hey, maybe it is actually fun to continue watching this thread.
Better and more continuous than all the soaps on tv... :-)

Btw., the "tense problem" you diagnosed in my english wasn't
one. It was actually a "time-less" use of present tense.
"Someone does something" doesn't imply he does it right now.

In my use, it referred to "whenever you need help", and in
the past I've seen you asking for help twice, and both times
you ended up declaring your problem solved, while leaving
obvious other problems unsolved. So far that's ok, but
when someone pointed out these remaining problems, you
started using swear words... and that's not ok, imho.

Message has been deleted

Twisted

unread,
Nov 29, 2006, 11:35:02 AM11/29/06
to
Andreas Leitgeb wrote:
> In my use, it referred to "whenever you need help", and in
> the past I've seen you asking for help twice, and both times
> you ended up declaring your problem solved, while leaving
> obvious other problems unsolved. So far that's ok, but
> when someone pointed out these remaining problems, you
> started using swear words... and that's not ok, imho.

I don't think this is true at all. Unless you refer to my responses to
people pointing out perceived "problems" with me (rather than with my
code).

Twisted

unread,
Nov 29, 2006, 11:36:23 AM11/29/06
to
Joe Attardi wrote:

> On Nov 29, 6:58 am, "Twisted" <twisted...@gmail.com> wrote:
> > I thought you'd promised to shut the fuck up? Oh, yes; for the 3rd or
> > 4th time. It's not really surprising (disappointing, but not
> > surprising) to see you make a liar of yourself yet again. Asswipe.
> All right, tough guy. Way to completely dodge the issue yet again!

The only "issue" here is your belligerancy (and pathological lying);
the original Java-related problem is long gone.

foo bar baz qux

unread,
Nov 29, 2006, 4:36:57 PM11/29/06
to

Twisted wrote:
> foobar...@hotmail.com wrote:
> > Twisted wrote:
> > > foobar...@hotmail.com wrote:
> > > [Snip some nonsensical ranting about my ego]
> >
> > You mean this
> > [Snip some more nonsensical ranting about my ego]

You mean this


"Twisted's assertion that he is FORCED to respond to every
posting. Everyone but he must by now be aware that it is only Twisted's
own ego that forces him to carry on like this."

>


> Just because you repeat it six zillion times doesn't mean it's true

If it was true the first time, it would still be true the six
zillionth.

> asswipe.

It's conventional to put your signature at the *end* of the message.

> > I'm not forcing you to respond, you have the choice don't you?
>
> Not if I want your public accusations to be countered by equally-public
> rebuttals.

So, you can be made to dance at anyone's whim, anytime. For the rest of
your life.

> > Concurrency "flubs" must almost always be caused by incorrect use of
> > threads in the first place.
>
> As in lack of "synchronized (foo)" around access to shared
> non-immutable resources?

Not necessarily.

Message has been deleted

foo bar baz qux

unread,
Nov 29, 2006, 5:14:45 PM11/29/06
to

Twisted wrote:
> foobar...@hotmail.com wrote:
> > For all you know, the frequency of occurrence has a period greater than
> > the short elapsed time over which you've carried out testing.
>
> Idiot. <usual boring rant deleted unread>

Addressed at end ...


> Why is this even still being discussed?!

Because you wish to continue discussing it.


> You seem awfully convinced that something else is wrong,

Do I seem convinced?


> > > > > I don't wish to persuade anyone of anything, except that they should
> > > > > leave me alone when they are not responding helpfully to something I
> > > > > wrote. Right now there are several people doing neither (here and in
> > > > > another thread). They stand to gain nothing,
> > > >
> > > > You've missed something there.
> > >
> > > Oh? Such as? Tell me what you gain
> >
> > Isn't it obvious?
>
> No, it isn't.

Think about it a little harder. I've dropped plenty of rather obvious
clues.


> You've invested an awful lot of time and effort in a vain
> quest to "prove" your opponent not only wrong but some kind of deranged
> moron and lunatic,

I've invested a lot less time than you. I'm not on a quest. If you've
been proved to be those things then it is you who has provided the
proof.


> but you haven't bothered to tell anybody why you
> want this.

I don't but if I did want that, I wouldn't necessarily feel any need to
say why.


> > > by posting drivel like the reeking turd I'm replying to?
> >
> > You love it.
>
> No, I don't, but I am not able to just leave it alone either, or people
> might actually start to believe your BS.

You can't leave it alone *because* you love that sort of response.

>
> [Snip further insults, irrelevancies, and BS]

You mean this

T: yet they continue, and in doing so they continue to aggravate me.

F: As ye sow, so shall ye reap.

T: Are you claiming that I attacked you before you ever attacked me?

F: Let me explain it in simple words: You aggravate others, this leads


to
others aggravating you in turn. Saying "but but he started it!" is
a
rather juvenile form of pleading.

> > Let me explain it in simple words: You aggravate others
>
> False.

Anyone reading the start of this thread can see that you aggravate
others.


> I did not throw the first punch, and anyone claiming otherwise is
> either a retard or a liar.

You are repeating yourself, did you forget. Here's my earlier reply

F: Saying "but but he started it!" is a rather juvenile form of
pleading.


> If something I did is "aggravating", it was after I was provoked. By
> you.

You are repeating yourself again. I refer you to my earlier answer.


> > Obvious use of the strawman argument there. Your premise is false. I'm
> > not attacking you, I'm having a pleasant conversation with you.
>

> If you think this is a "pleasant conversation".

I'm enjoying it, aren't you?


> then you are hopelessly
> delusional and need to check yourself into the nearest psych ward. They
> will give you all the Thorazine you need, not to mention take your
> computer away from you so that you quit posting drivel and BS to
> usenet.

Do you speak from experience?


> What kind of "pleasant conversation" has one of the
> participants (i.e. you) uttering insults, put-downs, and other such
> crap

I'll treat this as an abstract question: The kind where the other
participant enjoys it.

Remember at the top of this reply I said "addressed at end." Were
anyone following this thread, they would be able to observe that it is
you who introduce those things into our conversation.


> every other time he opens his mouth? Hmm?

I know you prefer unconventional approaches to tasks (e.g. loading
icons), but I operate my keyboard with my hands. Your way must be messy
and uncomfortable :-)

Tom Forsmo

unread,
Nov 29, 2006, 7:51:08 PM11/29/06
to

Andreas Leitgeb wrote:
> Twisted <twist...@gmail.com> wrote:
>> Jesus fucking Christ you're a moron. Haven't I just gotten through
>> telling you for the umpteenth time that you aren't letting me?!
>
> *get cola and chips*
>
> Hey, maybe it is actually fun to continue watching this thread.
> Better and more continuous than all the soaps on tv... :-)

I have been amused by this thread and a couple of others of Twisted for
a while now :) And once in a while, I feel like reignititing the fire a
bit just to make sure it does not die. Its quite funny how he just cant
help but respond to all the troll responses :)

tom

Tom Forsmo

unread,
Nov 29, 2006, 7:54:06 PM11/29/06
to

foo bar baz qux wrote:
> Twisted wrote:
>> foobar...@hotmail.com wrote:

>>> Twisted wrote:
> You mean this
> "Twisted's assertion that he is FORCED to respond to every
> posting. Everyone but he must by now be aware that it is only Twisted's
> own ego that forces him to carry on like this."

Yes, and thats the funny part....

>> asswipe.
>
> It's conventional to put your signature at the *end* of the message.

LOL

>>> I'm not forcing you to respond, you have the choice don't you?
>> Not if I want your public accusations to be countered by equally-public
>> rebuttals.
>
> So, you can be made to dance at anyone's whim, anytime. For the rest of
> your life.

Another LOL

Tom Forsmo

unread,
Nov 29, 2006, 7:57:15 PM11/29/06
to

foobar...@hotmail.com wrote:
> Twisted wrote:
>> foobar...@hotmail.com wrote:
>>> Twisted wrote:
>>>
>>>> I determined that the problem was a concurrency one and fixed it.
>>> No you didn't, you found that adding concurrency diminished the
>>> frequency of occurrence.
>> To zero. Which is the same thing, moron.
>>
>
> For all you know, the frequency of occurrence has a period greater than
> the short elapsed time over which you've carried out testing.
>
> Saying it "is the same thing" is like saying the cause of a wound
> bleeding is the absence of bandaging. Using Java synchronisation could
> be just a bandage, in which case you haven't detected the real cause.
>
>
>
>>>> I don't wish to persuade anyone of anything, except that they should
>>>> leave me alone when they are not responding helpfully to something I
>>>> wrote. Right now there are several people doing neither (here and in
>>>> another thread). They stand to gain nothing,
>>> You've missed something there.
>> Oh? Such as? Tell me what you gain
>
> Isn't it obvious?
>
>
>> by posting drivel like the reeking turd I'm replying to?
>
> You love it.

or "you love it, you slag..."

Funny :)

>> If so, it's a damn lie...
>
> Obvious use of the strawman argument there. Your premise is false. I'm
> not attacking you, I'm having a pleasant conversation with you.

In fact, we are all having pleasant conversations... :)

Tom Forsmo

unread,
Nov 29, 2006, 8:05:59 PM11/29/06
to

Twisted wrote:
>> Let me explain it in simple words: You aggravate others
>
> False.

No its actually true, you do aggravate others, trust me that's why you
have been spending the better part of a week or two arguing this and a
couple of other threads :)

>
> I did not throw the first punch, and anyone claiming otherwise is
> either a retard or a liar.
> If something I did is "aggravating", it was after I was provoked. By
> you.

To say it with your words: [irrelevant dribble delete] (well no quite
deleted, but any way...)

But in any case, if you get into a street fight because some guy tries
to hit you and you throw a punch you that misses and then throws a punch
that kills the guy, you think you can get away with telling the police
its not your fault because he started it... lol


>> Obvious use of the strawman argument there. Your premise is false. I'm
>> not attacking you, I'm having a pleasant conversation with you.
>
> If you think this is a "pleasant conversation" then you are hopelessly
> delusional and need to check yourself into the nearest psych ward.

The cat always thinks its pleasant to chase a mouse....

foo bar baz qux

unread,
Nov 29, 2006, 9:13:07 PM11/29/06
to
Twisted wrote:
> foobar...@hotmail.com wrote:
> > Twisted wrote:
> > > Andreas Leitgeb wrote:
> > >> <something>
> > > <Usual stuff>
> >
> > > Perhaps you can help me with that, though -- by letting this stupid
> > > thread die, now that it's emphatically served its original purpose and
> > > is equally emphatically no longer serving *any* constructive purpose.
> >
> > Have *you* tried letting the thread die?
>
> Jesus fucking Christ you're a moron. Haven't I just gotten through
> telling you for the umpteenth time that you aren't letting me?!

Do you need my permission to cease posting to this thread? I grant you
that permission.


> I'd love for this to end.

You don't demonstrate any belief this statement.


> You'd shut up

Hypothetically, if your example had persuaded others to adopt your
posting philosophy, how would this thread come to an end?


> ... you insist that this fight (which you started)

I've already said that I view this as a conversation. You started the
"Bogus NullPointerExceptions" thread.


> end on your terms, and that you must have the last word...

I've never written that. It is *you* who have publically stated that
you insist on that.

> Jerkwad.

It's conventional to put hyphen hyphen space newline prior to your
signature.

Twisted

unread,
Nov 30, 2006, 12:26:33 AM11/30/06
to
foo bar baz qux wrote:
> You mean this[snip]

SHUT UP ALREADY. You're like a goddam stuck record!

> If it was true the first time, it would still be true the six
> zillionth.

So would "2 + 2 = 5". Your statement is basically meaningless.

> It's conventional to put your signature at the *end* of the message.

Oh ho, very clever. Not. Your wit is comparable to that of one of my
neighbor's three pigs. The one that frequently leaves runny turds right
at the boundary fence as a matter of fact.

[Further insulting dreck deleted, all of it mischaracterizing me
grossly without anything resembling evidence]

> > > Concurrency "flubs" must almost always be caused by incorrect use of
> > > threads in the first place.
> >
> > As in lack of "synchronized (foo)" around access to shared
> > non-immutable resources?
>
> Not necessarily.

In the same way that your various spoutings are "not necessarily" due
to a deep loathing you feel towards me? Yeah, right. Like I'm going to
believe *you*.

Twisted

unread,
Nov 30, 2006, 12:29:13 AM11/30/06
to
Joe Attacki strikes again:

> On Nov 29, 11:36 am, "Twisted" <twisted...@gmail.com> wrote:
> > The only "issue" here is your belligerancy (and pathological lying);
> > the original Java-related problem is long gone.
> Belligerancy? Now you're making words up too.

I'm not responsible for your lack of dictionary-foo. Now go sulk in a
corner for a while or something.

> If I want to get back involved with a conversation again, that's my right.

Not if your "involvement" is solely for the purpose of character
assassination, it isn't.

> Now for ONCE can you not dodge the question

You are not in any position to be asking me irrelevant,
non-Java-related questions. If you really really want to, use e-mail.

> and answer me this: Why
> does the trend seem to be that once you get into a discussion on
> Usenet, you quickly turn it into a heated argument where the original
> topic is long-gone? [snip calling me a liar]

Tell me sir, have you stopped beating your wife yet?

When you have a yes or no answer to that, I'll get back to you on your
question. Fair's fair.

Twisted

unread,
Nov 30, 2006, 12:37:24 AM11/30/06
to
foo bar baz qux wrote:
> > Why is this even still being discussed?!
>
> Because you wish to continue discussing it.

No I don't. But by wish not to leave this with an insult standing
unchallenged is stronger. Now why don't you tell me why *you* wish to
continue this nonsense of yours?

> > You seem awfully convinced that something else is wrong,
>
> Do I seem convinced?

This is comp.lang.java.programmer. Psychiatrists are asked to please
leave; only rigorous logic is wanted here, and answering questions with
questions, psychobabble, trying to draw out the "patient", and so forth
are ineffective on software anyway. So please go away.

[several meaningless, untrue insults snipped]

> > No, I don't, but I am not able to just leave it alone either, or people
> > might actually start to believe your BS.
>
> You can't leave it alone *because* you love that sort of response.

Another lie. You and Attacki vying for some prize here? First to
accumulate 100 bald-faced lies that you get called on? (Whoever gets
there first is the loser, as far as I am concerned.)

>
> >
> > [Snip further insults, irrelevancies, and BS]
>
> You mean this

[snip repetition]

STOP REINSERTING SNIPPED MATERIAL FUCKHEAD. I SNIPPED IT BECAUSE I
DON'T WANT IT BEING SPREAD AROUND OR BELIEVED BY ANYBODY. ARE YOU
FUCKING STUPID OR SOMETHING?! JEEZ!

> > > Let me explain it in simple words: You aggravate others
> >
> > False.
>
> Anyone reading the start of this thread can see that you aggravate
> others.

No. They can see that people (including, eventually, me) *got*
aggravated; that much is true. But that doesn't mean I did it. Why on
earth would I want to anyway, given what the result is? Anyway, it is
only people like you who feel the need to point fingers of blame (and
invariably end up pointing in the wrong damn direction at that).

> You are repeating yourself, did you forget. Here's my earlier reply

[snip insult]

Eh. What? There's no "reply" there, just another dim-witted ad-hominem
attack.

> I'm enjoying it, aren't you?

NO, you bloody moron! Now shut up! :P

> > then you are hopelessly
> > delusional and need to check yourself into the nearest psych ward. They
> > will give you all the Thorazine you need, not to mention take your
> > computer away from you so that you quit posting drivel and BS to
> > usenet.
>
> Do you speak from experience?

Don't be insulting.

> I'll treat this as an abstract question: The kind where the other
> participant enjoys it.

Clearly a lie, since I do not enjoy it. This is work for me, not play;
work you're forcing me to do, to clean up the stupid messes you keep
leaving.

> Remember at the top of this reply I said "addressed at end." Were
> anyone following this thread, they would be able to observe that it is
> you who introduce those things into our conversation.

Stop lying and shut the hell up.


>
>
> > every other time he opens his mouth? Hmm?
>
> I know you prefer unconventional approaches to tasks (e.g. loading
> icons), but I operate my keyboard with my hands. Your way must be messy
> and uncomfortable :-)

This is way too stupid a remark to bother dignifying with a proper
rebuttal. Go away.

Twisted

unread,
Nov 30, 2006, 12:38:08 AM11/30/06
to
Tom Forsmo wrote:
> I have been amused [snip]

I have not. Now go away and stop implying nasty little lies about me.
Or else.

Twisted

unread,
Nov 30, 2006, 12:39:13 AM11/30/06
to
Tom Forsmo wrote:
[filtering all inarticulate, content-free blather]

[nothing left?!]

Hrm, looks like you forgot to actually put anything meaningful in your
post.

OK, moving along now...

Twisted

unread,
Nov 30, 2006, 12:39:55 AM11/30/06
to
Tom Forsmo wrote:
> In fact, we are all having pleasant conversations... :)

That's false. I, for one, am not. Now GO AWAY.

Twisted

unread,
Nov 30, 2006, 12:41:56 AM11/30/06
to
Tom Forsmo wrote:
> Twisted wrote:
> >> Let me explain it in simple words: You aggravate others
> >
> > False.
>
> No its actually true [reiteration of stupid baseless insult]

Go to hell.

> But in any case, if you get into a street fight because some guy tries
> to hit you and you throw a punch you that misses and then throws a punch
> that kills the guy, you think you can get away with telling the police
> its not your fault because he started it... lol

When you start to come off your meth high and make sense, please be
sure to let me know.

> The cat always thinks its pleasant to chase a mouse....

But it's not nice for the mouse. Cats aren't civilized or self-aware or
any of that, but humans are, and human behavior that's equivalent and
directed at other human beings is wrong. So stop it.

Twisted

unread,
Nov 30, 2006, 12:46:09 AM11/30/06
to
foo bar baz qux used a newsgroup the way puppies use a newspaper:

> > Jesus fucking Christ you're a moron. Haven't I just gotten through
> > telling you for the umpteenth time that you aren't letting me?!
>
> Do you need my permission to cease posting to this thread? I grant you
> that permission.

No, I need no outstanding unaddressed insults to exist, as I've
explained TEN THOUSAND GODDAM TIMES!!

> > I'd love for this to end.
>
> You don't demonstrate any belief this statement.

I stated it TEN THOUSAND GODDAM TIMES, you liar!! The only reason I
continue at all is to undo as much of the damage you are trying to do
to my future as possible, you stupid, worthless piece of shit!

> Hypothetically, if your example had persuaded others to adopt your
> posting philosophy, how would this thread come to an end?

Quickly, if they didn't consistently keep posting attacks and stopped
posting altogether once they were no longer under attack themselves.

Why, by the way, are you now polluting the NPE thread with your drivel?

> I've already said that I view this as a conversation. You started the
> "Bogus NullPointerExceptions" thread.

You turned it into something else asshole and you fucking know it!

> > end on your terms, and that you must have the last word...
>

> I've never written that. [snip]

It's written all over your behavior, notably, the fact that you STILL
HAVEN'T SHUT THE FUCK UP!

> It's conventional to put hyphen hyphen space newline prior to your
> signature.

That wasn't my signature, you complete and utter MORON.

Message has been deleted

Andreas Leitgeb

unread,
Nov 30, 2006, 12:54:28 PM11/30/06
to
Twisted <twist...@gmail.com> wrote:
> Andreas Leitgeb wrote:
>> ... . So far that's ok, but

>> when someone pointed out these remaining problems, you
>> started using swear words... and that's not ok, imho.

> I don't think this is true at all. Unless you refer to my responses to
> people pointing out perceived "problems" with me (rather than with my
> code).

Well, sure, they started criticizing you for your lack of
cooperation (even before your problem was declared solved
by you). While that was indeed personal criticism, this
didn't at that point justify snazzy responses and swear words.

Even now, while you're surely *not* the only one throwing
insults, you're still the only one using direct swear words.

The point where the topic actually went off-track was your
claim that your were "forced" to answer all articles. This
surely invited all lurking leisure-time-Trolls (and yes,
some even admit they do this just for fun, watching you
trying to answer *every* such article). It seems unlikely
that you could exit this thread any other way than backwards.

Twisted

unread,
Nov 30, 2006, 12:57:31 PM11/30/06
to
Joe Attardi wrote:
[another fairly diverse assortment of insults]

Ah, the "broad-spectrum antibiotic" approach. Insult a whole variety of
different things about someone at once in the hope of finding at least
one vulnerable point. Unfortunately, when you are so juvenile about it
it doesn't work, as it's kind of like diluting that antibiotic to one
part in a million and still expecting it to kill anything.

Some specific rebuttals:

> It's not character assassination.

Liar.

> Either way, though, it actually is
> still my right. Since this is an unmoderated public newsgroup, as you
> have stressed to strongly before, anyone has the right to post
> anything.

The ability to, anyway. That doesn't mean some behavior isn't wrong,
such as:
* Intentionally being inflammatory
* Intentionally piloting a thread off-topic
* Character assassination attempts...

Funnily enough, by that measure you're guilty of virtually every crime
usenet has a law for (or what passes for law hereabouts, anyway).

> >Tell me sir, have you stopped beating your wife yet?
> > When you have a yes or no answer to that, I'll get back to you on your
> > question. Fair's fair.

> Wait, what!? That is the most random question ever.

No, actually, it is not. It's from a famous legal case in which a judge
was insisting that a witness answer "yes" or "no" to a loaded question
-- one where either answer admits to something.

Sneakily-worded questions are often used to try to get "facts" entered
into evidence without debate or proper review. And I was (somewhat
obscurely, I admit) calling you on your latest attempt to do so, in
which you asked a question that asked why I <something evil> and, in
the process, tried to sneak in a baseless claim *that* I <something
evil> under the radar.

In other words, "Nice try". :P

Daniel Pitts

unread,
Nov 30, 2006, 1:01:34 PM11/30/06
to

He doesn't need to put anything meaningful, if he follows your example
at least.

Message has been deleted

Twisted

unread,
Nov 30, 2006, 6:08:26 PM11/30/06
to
Andreas Leitgeb wrote:
> Twisted <twist...@gmail.com> wrote:
> > Andreas Leitgeb wrote:
> >> ... . So far that's ok, but
> >> when someone pointed out these remaining problems, you
> >> started using swear words... and that's not ok, imho.
>
> > I don't think this is true at all. Unless you refer to my responses to
> > people pointing out perceived "problems" with me (rather than with my
> > code).
>
> Well, sure, they started criticizing you for your [alleged] lack of

> cooperation (even before your problem was declared solved
> by you). While that was indeed personal criticism, this
> didn't at that point justify snazzy responses and swear words.

Nor did I react that way until some people had done much worse, and
then only to those people (Joe Attardi is currently the #1 villain in
that regard).

> Even now, while you're surely *not* the only one throwing
> insults, you're still the only one using direct swear words.

I'm pissed off, that's why! I want these morons to shut the hell up!
They haven't been saying anything either a) on-topic, b) pleasant, or
c) original for days now -- just repeating themselves over and over
again as if somehow that will make their fantasies magically become
true! And I can't just ignore it because whoever else is reading the
spew coming out of their keyboards might start to believe them --
repetition is a well-known propaganda technique, as these faceless
attackers of mine evidently know well. So I'm forced to wade through
their crap trying to rebut it to counteract its propaganda effects day
after day, for a week or so now, which as you might guess is
FRUSTRATING!

> The point where the topic actually went off-track was your
> claim that your were "forced" to answer all articles.

See above -- if an article contains bogus accusations or allegations
that might poison the minds of third parties until they come to be
prejudiced against me, it's incumbent on me to avoid just sitting back
and doing nothing about it. I've had damaging rumors spread online
about me before and I know from personal experience that they can
result in serious repercussions, so you can't possibly expect me to be
blase about this or to just ignore it and hope it goes away.

[Something that seems vaguely insulting snipped]

Twisted

unread,
Nov 30, 2006, 6:09:55 PM11/30/06
to
Daniel Pitts wrote:
> He doesn't need to put anything meaningful, if he follows your example
> at least.

This appears to be an insult. If so, it is false and you should shut up.

Twisted

unread,
Nov 30, 2006, 6:19:56 PM11/30/06
to
Joe Attardi wrote:
> ** Cracks knuckles and prepares for another round of this nonsense **

** Cocks gun and prepares to end this nonsense once and for all **

> > Joe Attardi wrote:[another fairly diverse assortment of insults]

> Now hang on. You want to talk about insults? You are taking my last
> name and changing the spelling of it to try to make fun of me.

You started it. Then when I land a blow you cry foul? If you're that
wimpy you shouldn't pick fights, moron!

> ??! What are you talking about? You said I didn't have dictionary-foo
> [sic] and I corrected you with how the word is actually spelled. What
> does that have to do with "insult[ing] a whole variety of different
> things about someone at once" ?

Your "correcting" me IS an insult, dweeb. I do not need "correcting".
Certainly not about either spelling or Java. Any suggestion at all to
the contrary is going to provoke a violently hostile reaction from me,
since it cannot be allowed to stand unchallenged. And it wasn't the
only insult I'd snipped in that batch, dumbass.

>
> > Liar.
> This seems to be what you say to something for which you have no
> response or counter examples.

No, it's what I say when someone lied and the thread history speaks for
itself. Oh yeah, but I forget, you seem to believe our mutual audience
(if anyone is even still paying attention to this nonsense) has an
average IQ in the teens and no memory to speak of, and everything has
to be cited like in some scholarly journal or something because
otherwise they'll have no chance of either remembering it on their own
or doing their own googling to find it. Right.

> > * Intentionally being inflammatory
> Twisted says:[snip]

Doesn't count. I didn't do anything of the sort until the thread was
already in flames. It was one of you who put it into that state, not I.

> > * Intentionally piloting a thread off-topic

> Twisted says:
> >> "You are clinically insane"

The thread was already way off-topic long before then, dimbulb. Someone
else steered it there; I just found it like that.

> > * Character assassination attempts...


> Twisted says:
> >> "Tell me sir, have you stopped beating your wife yet?"

I explained that that was an example to show you that your stupid trick
of asking loaded questions a) actually is stupid and b) won't work, but
it sailed right over your head. I *did* forgot to adjust for your
substantially subnormal IQ; I freely admit this. In any event, since
you do recognize that asking such a loaded question constitutes a
character assassination attempt, you will hopefully now apologize for
your own loaded, character-attacking questions.

> My "double-standard" alarm has been tripped! You are guilty of
> everything you are accusing others of.

Wrong! See above. I didn't pilot anything off-topic; only found it
already adrift there. I didn't inflame the thread either; you did that.
And I didn't do anything of the sort *first*, but only when attacked
and provoked by a bunch of crazed howler monkeys given steroids and
internet access.

> > Sneakily-worded questions are often used to try to get "facts" entered
> > into evidence without debate or proper review. And I was (somewhat
> > obscurely, I admit) calling you on your latest attempt to do so, in
> > which you asked a question that asked why I <something evil> and, in
> > the process, tried to sneak in a baseless claim *that* I <something
> > evil> under the radar.

> Are you convinced that this is some sort of courtroom drama?

You're the one putting me on trial. You tell me whether it's a
courtroom drama or not. :P

Tom Forsmo

unread,
Dec 1, 2006, 8:48:56 PM12/1/06
to

Twisted wrote:

> Joe Attardi wrote:
> Some specific rebuttals:
>
>> It's not character assassination.
>
> Liar.

Liar liar pants on fire... thats what I used to say when i went to first
grade....

> The ability to, anyway. That doesn't mean some behavior isn't wrong,
> such as:
> * Intentionally being inflammatory
> * Intentionally piloting a thread off-topic
> * Character assassination attempts...

Exactly what you have been doing as well.

>>> Tell me sir, have you stopped beating your wife yet?
>>> When you have a yes or no answer to that, I'll get back to you on your
>>> question. Fair's fair.
>> Wait, what!? That is the most random question ever.
>
> No, actually, it is not. It's from a famous legal case in which a judge
> was insisting that a witness answer "yes" or "no" to a loaded question
> -- one where either answer admits to something.

you do know that this only works in the movies? along with other
dramatical techniques such as "your honor, please allow me to treat this
witness as a hostile witness" and so on. In real life nobody can dictate
or limit what a witness may answer, the witness may even refuse to
answer (of course in some cases refusing to answer, can lead to
imprisonment, but they can not force you to answer).

Tom Forsmo

unread,
Dec 1, 2006, 9:03:39 PM12/1/06
to

Twisted wrote:
> Nor did I react that way until some people had done much worse, and
> then only to those people (Joe Attardi is currently the #1 villain in
> that regard).

No he is not a villian, he is a gatekeeper trying to fend off all kind
off dirt.

>> Even now, while you're surely *not* the only one throwing
>> insults, you're still the only one using direct swear words.
>
> I'm pissed off, that's why! I want these morons to shut the hell up!

Well they are not going to, and I shall tell you why (which I have tried
to do earlier as well.) you keep responding instead of ignoring them...

> They haven't been saying anything either a) on-topic, b) pleasant, or
> c) original for days now -- just repeating themselves over and over

Neither have you...

> again as if somehow that will make their fantasies magically become
> true! And I can't just ignore it because whoever else is reading the
> spew coming out of their keyboards might start to believe them --
> repetition is a well-known propaganda technique, as these faceless
> attackers of mine evidently know well. So I'm forced to wade through
> their crap trying to rebut it to counteract its propaganda effects day
> after day, for a week or so now, which as you might guess is
> FRUSTRATING!

Thats why they keep responding... to frustrate you for fun...

>> The point where the topic actually went off-track was your
>> claim that your were "forced" to answer all articles.
>
> See above -- if an article contains bogus accusations or allegations
> that might poison the minds of third parties until they come to be
> prejudiced against me, it's incumbent on me to avoid just sitting back
> and doing nothing about it.

Let me try and make this clear to you again.

There are several hundred million users on the net, none of them know
who you are or or cares who you are. To them you are a little mosquito,
some dust blowing by... If it happens to be that one of the mosquitos
are a little dirtier or cleaner than the others, nobodys even going to
notice, because you are insignificant in the grander scale of things, as
are the rest of us as well.
So for each slanderous thing there is written about you there are a
thousand slanderous things written about others as well. And if someone
should read something about a person and take notice, they are mad.
Because we all know that one can not blindly trust the information on
the net.

Did that make it any clearer for you that your effort is totally wasted?

> I've had damaging rumors spread online
> about me before and I know from personal experience that they can
> result in serious repercussions, so you can't possibly expect me to be
> blase about this or to just ignore it and hope it goes away.

please do share...

Tom Forsmo

unread,
Dec 1, 2006, 9:04:33 PM12/1/06
to

Well, I was talking about you... I was talking about the rest of us.

Tom Forsmo

unread,
Dec 1, 2006, 9:13:33 PM12/1/06
to

Twisted wrote:
> Tom Forsmo wrote:
>> Twisted wrote:
>>>> Let me explain it in simple words: You aggravate others
>>> False.
>> No its actually true [reiteration of stupid baseless insult]
>
> Go to hell.

I am in hell at the moment :) and I will stay here until I vanquish the
devil...

>> But in any case, if you get into a street fight because some guy tries
>> to hit you and you throw a punch you that misses and then throws a punch
>> that kills the guy, you think you can get away with telling the police
>> its not your fault because he started it... lol
>
> When you start to come off your meth high and make sense, please be
> sure to let me know.

Im am sorry that it does not make any sense to you, but please let me
know in the future if you manage to make sense of it (its really not
that difficult to understand).

>> The cat always thinks its pleasant to chase a mouse....
>
> But it's not nice for the mouse.

Did you ever hear the story of the scorpion and the turtle trying to
cross a stream?...

Animals dont have feelings and abstract understanding as humans do, so
to them its not a matter whether its nice, it just a biological reflex
of how to react, in other words their nature.

> Cats aren't civilized

Shall I tell you why? because only people can be civilised, its part of
the definition of being civilised.

> or self-aware or
> any of that, but humans are, and human behavior that's equivalent and
> directed at other human beings is wrong. So stop it.

Yes please stop it, you are directing non-human behaviour at other
humans. And as you say it; its wrong, so stop it.

Tom Forsmo

unread,
Dec 1, 2006, 9:15:13 PM12/1/06
to

That sound like a really bad B movie from the eighties or perhaps the
seventies. Are you not able to come up with any better than that?

Twisted

unread,
Dec 1, 2006, 10:19:54 PM12/1/06
to
Tom Forsmo wrote:
[snip some idiocy]

> > The ability to, anyway. That doesn't mean some behavior isn't wrong,
> > such as:
> > * Intentionally being inflammatory
> > * Intentionally piloting a thread off-topic
> > * Character assassination attempts...
>
> Exactly what you have been doing as well.

Wrong. I didn't inflame the thread; I just found it that way one day. I
didn't pilot it off topic either; again I just found it that way. And
I'm not the one assassinating here; I'm the one defending!

[snip even further offtopic asides]

John W. Kennedy

unread,
Dec 1, 2006, 10:31:36 PM12/1/06
to
Tom Forsmo wrote:
> you do know that this only works in the movies? along with other
> dramatical techniques such as "your honor, please allow me to treat this
> witness as a hostile witness" and so on.

In the US (generally):

A witness called by the other side is presumed to be a hostile witness.

A witness called by your side can be ruled a hostile witness by the
judge, though it happens far less often in real life than in drama (in
general, you don't /want/ to call a hostile witness).

A hostile witness may be asked leading questions.

(See rule 611c of Federal procedure.)

The often-encountered "Answer 'yes' or 'no'" is not established by
Federal procedure, as such, but could certainly be interpreted as being
allowed, at need, under rule 611a, which essentially allows the judge to
do whatever needs to be done to get witness interrogation done
efficiently, and in a timely manner.

--
John W. Kennedy
"The blind rulers of Logres
Nourished the land on a fallacy of rational virtue."
-- Charles Williams. "Taliessin through Logres: Prelude"

Twisted

unread,
Dec 1, 2006, 10:44:22 PM12/1/06
to
Tom Forsmo wrote:
> Twisted wrote:
> > Nor did I react that way until some people had done much worse, and
> > then only to those people (Joe Attardi is currently the #1 villain in
> > that regard).
>
> No he is not a villian, he is a gatekeeper trying to fend off all kind
> off dirt.

"Dirt". That's the worst name you can think up to call me right now?
You also seem to have forgotten that this is an unmoderated group.
Nobody has been appointed any kind of gatekeeper, bouncer, or whatever
here, and nobody has any authority to "fend" me off just because they'd
rather I didn't post here.

[snip threats that you'll continue attacking me if I don't stop
defending myself and let you attack me with impunity -- nice try
asshole]

> > They haven't been saying anything either a) on-topic, b) pleasant, or
> > c) original for days now -- just repeating themselves over and over
>
> Neither have you...

But I'm not the one in the driver's seat, dimbulb. Every time they post
their shit I have to make sure those who read it get both sides of the
story and not just their BS, which means a new followup. Every time
they post the same crap, I therefore must post the same anti-crap to
counteract its effect.

[snip more stupidity]

> Let me try and make this clear to you again.

Stop talking down to me like some kind of thug, cop, or other would-be
bossy type. I don't take orders from you, and I don't take kindly to
threats.

[Compares me to a mosquito]

Well, that's original, at least. Most of you lot's postings have about
as much original material as my monthly cable bill.

[snip further attempts to trick me into lowering my guard]

Perhaps my consistently avoiding being tricked will eventually drive
home the fact that I'M NOT THE IDIOT you bunch of dweebs seem to think
I am.

> > I've had damaging rumors spread online
> > about me before and I know from personal experience that they can
> > result in serious repercussions, so you can't possibly expect me to be
> > blase about this or to just ignore it and hope it goes away.
>
> please do share...

No.

Twisted

unread,
Dec 1, 2006, 10:45:25 PM12/1/06
to

Well there's part of your problem. You're an inconsiderate prick, not
to mention you couldn't find your spellchecker with both hands and a
map. Now go away.

Tom Forsmo

unread,
Dec 1, 2006, 10:52:46 PM12/1/06
to
John W. Kennedy wrote:
> A hostile witness may be asked leading questions.
>
> The often-encountered "Answer 'yes' or 'no'" is not established by
> Federal procedure, as such, but could certainly be interpreted as being
> allowed, at need, under rule 611a, which essentially allows the judge to
> do whatever needs to be done to get witness interrogation done
> efficiently, and in a timely manner.

Even though, the judge can not dictate which answer the witness can
give. then its not the witnesses answer any more but the judges or the
attorney. If a witness wants to say "Its not that simple" to a question
that someone would prefer a yes or no answer to, a judge can not
disallow such an answer or instruct the witness to only say yes or no...
If he could then justice would be hollow. A judge could then start
instructing the witnesses to answer what he or the prosecutor wants him
to answer, that's not democracy or rule of law, its fascism.
A judge can instruct a witness to answer, but can not tell him what the
answer should be.

tom

Tom Forsmo

unread,
Dec 1, 2006, 10:56:13 PM12/1/06
to

I WILL NOT GO AWAY... :) how do you like them apples?


Twisted

unread,
Dec 1, 2006, 10:59:34 PM12/1/06
to
Tom Forsmo wrote:

[compares me to satan]

Well, at least you aim high, even if you keep mistakenly attacking the
wrong target. He's THATaway, doofus!

> Im am sorry that it does not make any sense to you, but please let me
> know in the future if you manage to make sense of it (its really not
> that difficult to understand).

I'm guessing it wouldn't have been had you been sober at the time you
wrote it. Unfortunately, it came out a mangled mess and seemingly
completely irrelevant here anyway.

>
> >> The cat always thinks its pleasant to chase a mouse....
> >
> > But it's not nice for the mouse.
>
> Did you ever hear the story of the scorpion and the turtle trying to
> cross a stream?...
>
> Animals dont have feelings and abstract understanding as humans do, so
> to them its not a matter whether its nice, it just a biological reflex
> of how to react, in other words their nature.

Yeah. So, what's *your* excuse?

> Yes please stop it, you are directing non-human behaviour at other
> humans. And as you say it; its wrong, so stop it.

You've gotten it backwards again, dumbass. I'm the one on defense here
remember? It's Attardi and, lately, mainly *you* directing "non-human"
behavior at *me*. (I think the technical term is "inhuman" actually,
although "psychotic" or just plain "evil" will do.)

Now please, Satan, go vanquish thyself as promised earlier. ;)

Twisted

unread,
Dec 1, 2006, 11:00:27 PM12/1/06
to

I just can't be arsed to waste time and effort being original when I
know I'm going to have to repeat it fifty thousand times because you're
as dense as a block of solid plutonium.

Tom Forsmo

unread,
Dec 1, 2006, 11:14:44 PM12/1/06
to

Twisted wrote:
>> Let me try and make this clear to you again.
>
> Stop talking down to me like some kind of thug, cop, or other would-be
> bossy type. I don't take orders from you, and I don't take kindly to
> threats.

When people try to explain to you what you are doing is wrong for the
nth time and you still resist like a stubborn little kid, some get tired
of trying to explain it in a nice way...

> [Compares me to a mosquito]
>
> Well, that's original, at least. Most of you lot's postings have about
> as much original material as my monthly cable bill.

thank you, I take that as a compliment, even from you :) can we be arch
enemies now, just like spiderman and the green goblin? (Because you know
that arch enemies secretly admires each other for their skills?) Dibs on
spiderman :)

> [snip further attempts to trick me into lowering my guard]
>
> Perhaps my consistently avoiding being tricked will eventually drive
> home the fact that I'M NOT THE IDIOT you bunch of dweebs seem to think
> I am.

Yes this is all a grand conspiracy targeted at you, and you only. We
have been sitting here idle, waiting for you to come to this group and
then we throw ourselves on you in anticipation of the great epic battle.

You dont seem to get it: its not personal, its just that you are this
months idiot, who think he can do as he pleases without being told its
wrong.

>>> I've had damaging rumors spread online
>>> about me before and I know from personal experience that they can
>>> result in serious repercussions, so you can't possibly expect me to be
>>> blase about this or to just ignore it and hope it goes away.
>> please do share...
>
> No.

then why should we care or stop?

Tom Forsmo

unread,
Dec 1, 2006, 11:25:54 PM12/1/06
to

Twisted wrote:
> Tom Forsmo wrote:
>
> [compares me to satan]

Too right :D Just keeping it real you know...

>
> Well, at least you aim high, even if you keep mistakenly attacking the
> wrong target. He's THATaway, doofus!

Allmost funny, but still ill fated.

>> Im am sorry that it does not make any sense to you, but please let me
>> know in the future if you manage to make sense of it (its really not
>> that difficult to understand).
>
> I'm guessing it wouldn't have been had you been sober at the time you
> wrote it. Unfortunately, it came out a mangled mess and seemingly
> completely irrelevant here anyway.

Its easier to just avoid though questions like these, with sarcasm, isnt it?

>> Animals dont have feelings and abstract understanding as humans do, so
>> to them its not a matter whether its nice, it just a biological reflex
>> of how to react, in other words their nature.
>
> Yeah. So, what's *your* excuse?

human nature... what is yours?

> Now please, Satan, go vanquish thyself as promised earlier. ;)

after you... ladies first...


(i am having so much fun... :D how about you? want to go another round?)

Twisted

unread,
Dec 1, 2006, 11:38:16 PM12/1/06
to
Tom Forsmo is a jerk:
> When people try to explain to you [something insulting] for the
> nth time and you still resist like a [vicious lie], some get tired

> of trying to explain it in a nice way...

Then stop "trying to explain it" at all. I don't want to hear your
boneheaded insults. I couldn't care less what horrible things you
believe about me, and I certainly prefer that you not broadcast those
beliefs in front of others. Keep them to yourself or take it to e-mail
asswipe.

> thank you, I take that as a compliment, even from you :) can we be arch
> enemies now, just like spiderman and the green goblin? (Because you know
> that arch enemies secretly admires each other for their skills?) Dibs on
> spiderman :)

Sorry, spiderman is the good guy and green goblin is the psychopathic
villain, so you got them the wrong way around. Go put on your green
helmet now. Preferably the one with the built-in muzzle.

> Yes this is all a grand conspiracy targeted at you, and you only. We
> have been sitting here idle, waiting for you to come to this group and
> then we throw ourselves on you in anticipation of the great epic battle.

Really? I'd rather thought you were a bunch of dweebs who hung around
here discussing software all day, but unlike the smarter geeks that
enjoy such and the smarter non-geeks who don't come here if they don't
like it, you got bored and eventually decided to torture a n00b or
something. So, more of a petty little bunch of losers with too much
free time and too little compassion, among other things.

But if you say it's actually a grand conspiracy instead ...

[calls me a name]

Do shut up.

Twisted

unread,
Dec 1, 2006, 11:57:51 PM12/1/06
to
Tom Forsmo wrote:

[snip a variety of largely nonsensical, mildly-insulting crud]

> > Yeah. So, what's *your* excuse?
>
> human nature... what is yours?

I don't need one. Unlike you, I'm not a vicious predatory sociopath.

Now either take this to e-mail or take it to /dev/null, your choice.

vjg

unread,
Dec 2, 2006, 12:12:58 AM12/2/06
to

Twisted wrote:

<snip>

> No, it's what I say when someone lied and the thread history speaks for
> itself. Oh yeah, but I forget, you seem to believe our mutual audience
> (if anyone is even still paying attention to this nonsense) has an

I have to say that I read the whole thread because I was bored and had
nothing better to do for a little while. I also have to say that you're
nuts... let it go and walk away. Watch closely. This is how it's done.

- Virgil

Chris Uppal

unread,
Dec 2, 2006, 11:40:33 AM12/2/06
to
Tom Forsmo wrote:

> Even though, the judge can not dictate which answer the witness can
> give. then its not the witnesses answer any more but the judges or the
> attorney. If a witness wants to say "Its not that simple" to a question
> that someone would prefer a yes or no answer to, a judge can not
> disallow such an answer or instruct the witness to only say yes or no...
> If he could then justice would be hollow.

Not necessarily -- not at all, one would hope. There are two (classes of)
reasons why a witness might not want to give a straightforward answer to an
apparently straightforward question. One is that the matter is not actually as
straightforward as it appears; the other is that the witness is trying to avoid
answering the question at all. Justice is ill-served if either the former is
forbidden, or the latter is permitted. One part of the judge's job -- as a
hopefully unbiased and presumably expert adjudicator -- is to distinguish
between the two, and to direct the legal processes accordingly. Neither the
witness nor the inquisitor can be trusted to make that judgement.

As an aside, this sorry mess of a thread (and the other one) shows what
fruitless chaos ensues if two opposed parties debate without independent
adjudication of their tactics.

-- chris

oubl...@mail.md

unread,
Dec 2, 2006, 11:48:33 AM12/2/06
to
Tom Forsmo wrote:
> Twisted wrote:

> >>> I've had damaging rumors spread online
> >>> about me before and I know from personal experience that they can
> >>> result in serious repercussions, so you can't possibly expect me to be
> >>> blase about this or to just ignore it and hope it goes away.
> >> please do share...
> >
> > No.
>
> then why should we care or stop?

Do a GG search for "Paul Derbyshire FAQ".

I feel bad for him. He appears not to have learned anything in ten
years.

Twisted

unread,
Dec 2, 2006, 3:53:07 PM12/2/06
to
vjg wrote:
> Twisted wrote:
>
> <snip>
>
> > No, it's what I say when someone lied and the thread history speaks for
> > itself. Oh yeah, but I forget, you seem to believe our mutual audience
> > (if anyone is even still paying attention to this nonsense) has an
>
> I have to say that I read the whole thread because I was bored and had
> nothing better to do for a little while. I also have to say that [insult]

Whose hand is inside this sock? Anyone care to own up? :P

Twisted

unread,
Dec 2, 2006, 4:52:44 PM12/2/06
to
oubl...@mail.md wrote:
> Do a GG search for "Paul Derbyshire FAQ".
[snip]

Who the hell is that, and how can this be of any relevance to
comp.lang.java.programmer?

0 new messages