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

Self-configuring classes

4 views
Skip to first unread message

Chris

unread,
Aug 3, 2007, 3:59:25 PM8/3/07
to
This is a general design question.

I'd like a developer to be able to be able to write his own class that
implements one of our interfaces. The developer would then register the
class with our app which would use it. Our app would discover what
configuration parameters the class needed, and then throw up a page in
our UI so an end user could fill them in.

The question is, what is the best way for the class to tell the app what
parameters it requires? Are there any good design patterns for this?

I could use reflection to discover all the setXXX() methods on the
class, but I'm not sure this is flexible enough, plus I don't like
reflection.

JMX sort-of purports to do this kind of thing, but it's kind of ugly as
well. At least it was when I looked at it a couple years ago.

Arne Vajhøj

unread,
Aug 3, 2007, 4:07:52 PM8/3/07
to
Chris wrote:
> This is a general design question.
>
> I'd like a developer to be able to be able to write his own class that
> implements one of our interfaces. The developer would then register the
> class with our app which would use it. Our app would discover what
> configuration parameters the class needed, and then throw up a page in
> our UI so an end user could fill them in.
>
> The question is, what is the best way for the class to tell the app what
> parameters it requires? Are there any good design patterns for this?
>
> I could use reflection to discover all the setXXX() methods on the
> class, but I'm not sure this is flexible enough, plus I don't like
> reflection.

I think looking up setters are the normal way of doing it.

Performance of reflection should not be an issue here.

Arne

rossum

unread,
Aug 3, 2007, 5:03:48 PM8/3/07
to
On Fri, 03 Aug 2007 14:59:25 -0500, Chris <spam_...@goaway.com>
wrote:

Have you interface include a method to return the required parameters
in some standard format string.

Your app would call this method on the developers class, parse the
returned string and throw up a user form with all the
required/optional parameters as specified.

rossum

Piotr Kobzda

unread,
Aug 3, 2007, 5:16:54 PM8/3/07
to
Chris wrote:

> The question is, what is the best way for the class to tell the app what
> parameters it requires? Are there any good design patterns for this?

I don't know what is the best way for it, and if any good design pattern
supports it. But what about a special method in your interfaces which
your application will call to know a required configuration parameters?

The method would be:

ParameterDescription[] getRequiredParameters();

where ParameterDescription may describe a type, accessors, and/or
whatever your application need to know about each parameter.


piotr

Patricia Shanahan

unread,
Aug 3, 2007, 5:19:07 PM8/3/07
to

Or, same idea but a bit more control, define an interface:

interface ParameterAccepter{
String acceptParameter(String value);
String parameterText();
}

acceptParameter returns null if the value if good, or a String
saying what is wrong with it. parameterText supplies a String you
can use as a label in the GUI and as part of the dialog reporting
an error.

The method in the main interface returns a ParameterAccepter[], null or
length zero if there are no parameters.

You can, if you like, supply some utility methods for conversion and
range checks.

Patricia

Lew

unread,
Aug 3, 2007, 7:02:39 PM8/3/07
to
Chris wrote:
> I'd like a developer to be able to be able to write his own class that implements one of our interfaces. The developer would then register the class with our app which would use it. Our app would discover what configuration parameters the class needed, and then throw up a page in our UI so an end user could fill them in.

Jini, JNDI and Web services UDDI are stabs at this same target. Arguably, so
is EJB. The Spring framework and the pattern called "Inversion of Control".

> The question is, what is the best way for the class to tell the app
> what parameters it requires? Are there any good design patterns for this?

One way is to let the component handle its own initialization.

All the extant approaches of which I'm aware work off the concept of a
registry or a set of descriptors that map implementations to their
abstractions. Many involve a run-time discovery process similar to or based
on reflection. JavaBeans property sheets come to mind.

Just for starters.

--
Lew

Daniel Pitts

unread,
Aug 3, 2007, 7:33:36 PM8/3/07
to

Use Introspector instead of reflection. Introspector will get all the
bean properties (including GUI PropertyEditor classes if they are
defined by the developer in the corresponding BeanInfo class)

Alternatively, you're interface could declare
"Collection<ConfigurablePropertyUI> getConfigurableProperties()"

Twisted

unread,
Aug 3, 2007, 7:45:28 PM8/3/07
to
On Aug 3, 7:02 pm, Lew <l...@lewscanon.nospam> wrote:
> > The question is, what is the best way for the class to tell the app
> > what parameters it requires? Are there any good design patterns for this?
>
> One way is to let the component handle its own initialization.

One way to do that is to have the interface specify a method like:

public JDialog getConfigurationDialog ();

and the calling framework uses something like

synchronized (theNewlyLoadedComponent) {
theNewlyLoadedComponent.getConfigurationDialog().show();
theNewlyLoadedComponent.wait();
}

called from outside the event dispatch thread, or just

theNewlyLoadedComponent.getConfigurationDialog().show();
return;

from inside event-driven code.

The component, of course, returns a JDialog object from this method
that has been constructed with a reference to "this" (the component;
it might use an inner class) and everything set up, components added,
listeners attached, and pack() called; the listeners that dismiss the
dialog invoke notify() on the component as their very last action,
after setVisible(false); and before dispose(); return;.


Thomas Hawtin

unread,
Aug 3, 2007, 11:18:40 PM8/3/07
to
Twisted wrote:
>
> public JDialog getConfigurationDialog ();

> synchronized (theNewlyLoadedComponent) {
> theNewlyLoadedComponent.getConfigurationDialog().show();
> theNewlyLoadedComponent.wait();
> }
>
> called from outside the event dispatch thread, or just

Like JFrame you shouldn't show (or better setVisible) a JDialog off the
EDT. It may not cause a problem that is apparent on your machine today.

Also wait should be in a while loop. Even if it weren't for spurious
wakeups, there is more often than not a race condition.


Back to the original problem. javax.print.ServiceUIFactory does
something similar, although I haven't studied it well enough to see
whether it does it well.

Tom Hawtin

Twisted

unread,
Aug 3, 2007, 11:24:27 PM8/3/07
to
On Aug 3, 11:18 pm, Thomas Hawtin <use...@tackline.plus.com> wrote:
> Like JFrame you shouldn't show (or better setVisible) a JDialog off the
> EDT.

Actually, it's quite normal to do so; a JFrame show() is very often
the last line in main().

[further uninvited criticism deleted]

Arne Vajhøj

unread,
Aug 3, 2007, 11:28:32 PM8/3/07
to
Twisted wrote:
> On Aug 3, 11:18 pm, Thomas Hawtin <use...@tackline.plus.com> wrote:
>> Like JFrame you shouldn't show (or better setVisible) a JDialog off the
>> EDT.
>
> Actually, it's quite normal to do so; a JFrame show() is very often
> the last line in main().

Not particular relevant for the discussion but show is deprecated
and setVisible should be used.

Arne

nebul...@gmail.com

unread,
Aug 3, 2007, 11:30:04 PM8/3/07
to

The code was off-the-cuff; so sue me. The gist of the intent should be
pretty clear.

Thomas Hawtin

unread,
Aug 3, 2007, 11:56:10 PM8/3/07
to
Twisted wrote:
> On Aug 3, 11:18 pm, Thomas Hawtin <use...@tackline.plus.com> wrote:
>> Like JFrame you shouldn't show (or better setVisible) a JDialog off the
>> EDT.
>
> Actually, it's quite normal to do so; a JFrame show() is very often
> the last line in main().

It's normal. It's also wrong. Don't do it. Most certainly, do not
encourage other people to do it.

> [further uninvited criticism deleted]

Uninvited? This is a usenet group. You made a technical error that,
although unlikely to be a problem in this case, is often very serious. I
corrected it.

Tom Hawtin

nebul...@gmail.com

unread,
Aug 4, 2007, 1:01:41 AM8/4/07
to
On Aug 3, 11:56 pm, Thomas Hawtin <use...@tackline.plus.com> wrote:
> Twisted wrote:
> > On Aug 3, 11:18 pm, Thomas Hawtin <use...@tackline.plus.com> wrote:
> >> Like JFrame you shouldn't show (or better setVisible) a JDialog off the
> >> EDT.
>
> > Actually, it's quite normal to do so; a JFrame show() is very often
> > the last line in main().
>
> It's normal. It's also wrong. [attempts to give me orders like he's boss of something]

Oh really? Explain then
a) Why it's normal, if what you say is true;
b) Why it doesn't cause problems (and why you believe it's wrong
despite its not causing problems); and
c) What you'd do instead (since, obviously, one has no access to the
EDT until one has shown some UI and a UI event has subsequently been
generated)

> > [further uninvited criticism deleted]
>
> Uninvited? This is a usenet group. You [accuses me of crap]

If you are unwilling or unable to leave me in peace due to an
uncontrollable urge to post a hostile followup whenever you see my
name, then killfile me. DO NOT, under any circumstances, post any more
unpleasant crap of this sort accusing me of shit. I don't care if
you're being held at gunpoint and told to do it; don't. :P

Owen Jacobson

unread,
Aug 4, 2007, 1:29:31 AM8/4/07
to
On Aug 3, 10:01 pm, nebulou...@gmail.com wrote:
> On Aug 3, 11:56 pm, Thomas Hawtin <use...@tackline.plus.com> wrote:
>
> > Twisted wrote:
> > > ...it's quite normal to do so; a JFrame show() is very often

> > > the last line in main().
>
> > It's normal. It's also wrong. [attempts to give me orders like he's boss of something]
>
> Oh really? Explain then
> a) Why it's normal, if what you say is true;

Because for a long time Sun's own tutorials made that mistake. At
this point other tutorials based off those original, incorrect
tutorials still exist, some of them completely unmaintained. They
have the advantage of simply having been around longer, making them
better-linked as a class, in turn improving the likelyhood one such
"bad" example will appear high in google searches for "swing tutorial"
and similar phrases.

> b) Why it doesn't cause problems (and why you believe it's wrong
> despite its not causing problems); and

Because it does cause problems, but not consistently. As <http://
weblogs.java.net/blog/alexfromsun/archive/2005/11/
debugging_swing_1.html> observes, sometimes even simply creating a
window from main(String...) directly can have unexpected side effects.

> c) What you'd do instead (since, obviously, one has no access to the
> EDT until one has shown some UI and a UI event has subsequently been
> generated)

Use the example from the current Sun Swing tutorials, after verifying
for myself that it really does run the passed code on the right thread
and will actually create it if necessary. The source is, after all,
right there.

....
public static void main(String args[]) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
createGui();
}
});
}

private static void createGui() {

//this code must be run on EventDispatch thread!

JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(new GridBagLayout());
JEditorPane pane = new JEditorPane();
pane.setText("Edt matters!");
pane.setSelectionEnd(pane.getText().length());
frame.getContentPane().add(pane);
frame.setSize(new Dimension(200, 100));
frame.setVisible(true);

//clear selection
pane.setSelectionStart(0);
pane.setSelectionEnd(0);
}
....

> DO NOT

You do not have any right to dictate others behaviour, any more than
others have the right to dictate yours. If Thomas' behaviour bothers
you, you'll look far less foolish if you make use of your newsreader's
killfile feature and cut him from your worldview than you will trying
to order him about.

-Owen

nebul...@gmail.com

unread,
Aug 4, 2007, 1:58:57 AM8/4/07
to
On Aug 4, 1:29 am, Owen Jacobson <angrybald...@gmail.com> wrote:
> Because it does cause problems, but not consistently. As <http://
> weblogs.java.net/blog/alexfromsun/archive/2005/11/
> debugging_swing_1.html> observes, sometimes even simply creating a
> window from main(String...) directly can have unexpected side effects.

Some obscure blog posting from a blog no-one reads. That's your
evidence against me?

I notice nobody else gets attacked for suggesting standard practise in
this group -- only me. Why do people pick on me?

> Use the example from the current Sun Swing tutorials, after verifying
> for myself that it really does run the passed code on the right thread
> and will actually create it if necessary. The source is, after all,
> right there.

I haven't reviewed any of the tutorials in some time, mainly because I
long since learned the basics backward and forward, but ISTR the
typical thing for them to do was ... invoke setVisible(true) or show()
on your main application frame from main().

> public static void main(String args[]) {
> SwingUtilities.invokeLater(new Runnable() {

Eh, until you've presented some UI my understanding has been that the
EDT doesn't even exist yet; it's created lazily. So invokeLater might
be waiting a very long time, given that the UI waits for invokeLater
to invoke its argument before existing, invokeLater waits for the EDT
to exist to invoke its argument, and the EDT waits for the UI to exist
before starting...or has something in that department been changed? I
do hope it's not now true that all console apps however trivial
generate a useless EDT wasting memory and slowing down startup?

Also, ISTR SwingUtilities being a third-party (but commonplace) class,
not a standard Java class at all. Are you sure that one of the primary
Sun tutorials is assuming people have installed it, and not a third-
party tutorial or another of those blog postings?

> You do not have any right to dictate others behaviour, any more than
> others have the right to dictate yours.

Really? Explain why other people have no problem ordering me about
then, but turn right around and object on those very grounds when I
tell them to cut it the hell out? Or is it that some people are for
giving out orders and some people are for taking orders and not
questioning them? Hehe -- very funny. Not.

> If Thomas' behaviour bothers you, you'll look far less foolish if you make use of your newsreader's
> killfile feature and cut him from your worldview than you will trying
> to order him about.

If he were merely being obnoxious, and GG provided killfiles, that
would be fine with me.
Unfortunately, he's not merely being obnoxious; he publicly accused me
of shit and called my integrity and competence into question. Simply
ignoring him (e.g. by killfiling him) won't stop him posting trash
about me wherever he sees fit, but will stop me noticing until it's
too late and he's convinced a huge number of people of his hostile
beliefs about me.
Furthermore, GG doesn't have killfiles anyway. :P

JackT

unread,
Aug 4, 2007, 2:18:23 AM8/4/07
to
On Aug 4, 5:58 am, nebulou...@gmail.com wrote:
> Some obscure blog posting from a blog no-one reads.
> That's your evidence against me?

Try Sun's official tutorial then:
http://java.sun.com/docs/books/tutorial/uiswing/concurrency/initial.html

They now say that you should put the creation of GUI
into a separate Runnable, and invoke it via
SwingUtilities.invokeLater.

(One of their old online demo code often deadlocks,
and they finally found out it was because they didn't
postpone everything until the EDT. So now they advocate
all GUI calls must only be done via the EDT unless
the GUI method's javadoc specifically says it is thread-safe)

> I haven't reviewed any of the tutorials in some time, mainly because I
> long since learned the basics backward and forward, but ISTR the
> typical thing for them to do was ... invoke setVisible(true) or show()
> on your main application frame from main().

That was the typical thing to do back then.

But it was prone to deadlocks; so now Sun advocates
using SwingUtilities.invokaLater instead.

> Eh, until you've presented some UI my understanding has been that the
> EDT doesn't even exist yet; it's created lazily. So invokeLater might
> be waiting a very long time

No. Wrong again. The thread will be created if needed,
so it won't cause the deadlock that you fear.

> Also, ISTR SwingUtilities being a third-party (but commonplace) class

> not a standard Java class at all.

No. Wrong again. It's part of Java 5:
http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/SwingUtilities.html

Now, go away. Your ignorance (and your obvious dishonesty
in your debating tactics is most unwelcome).


Joe Attardi

unread,
Aug 4, 2007, 2:27:30 AM8/4/07
to
On Aug 4, 1:58 am, nebulou...@gmail.com wrote:
> Some obscure blog posting from a blog no-one reads. That's your
> evidence against me?
java.net is hardly an obscure site. You should read it, though some
blog postings are fluff, there is a lot of good stuff from a lot of
knowledgeable people at Sun.


nebul...@gmail.com

unread,
Aug 4, 2007, 2:31:49 AM8/4/07
to
On Aug 4, 2:18 am, JackT <jackt...@gmail.com> wrote:
[snip ... reasonably civil right up until:]

> No. Wrong again.

Take your rude self and try to force it physically into the USB port
on the back of your modem. If we're lucky, you'll both die in the
attempt AND destroy said modem. :P

> The thread will be created if needed, so it won't cause the deadlock that you fear.

That's not the documented behavior that I recollect. If there has been
a major update in this area, then why wasn't I notified? I don't
appreciate being expected to know something from some obscure blog I
don't follow and indeed hadn't even heard of, on pain of being
insulted and trash-talked for not having done so, nor being expected
to frequently revisit familiar and now-boring tutorials just in case
they decide to change the rules out from under everyone. I find it
difficult to believe that this is in fact the way we're supposed to
get notified, or that we're supposed to be publicly lambasted for any
lack of such notification! OTOH, I do recall checking out the change
lists associated with new Java versions. I don't remember seeing any
of this mixed in with generics or enums (1.5) or regexps and suchlike
(1.6).

[further insults me, calling me both a moron and a liar]

Go to hell, Jack T.

JackT

unread,
Aug 4, 2007, 2:46:54 AM8/4/07
to
On Aug 4, 6:31 am, nebulou...@gmail.com wrote:
> On Aug 4, 2:18 am, JackT <jackt...@gmail.com> wrote:
> [snip ... reasonably civil right up until:]

You're pathetic.

Even when people point out your mistake,
you still insist on defending your argument
to the bitter stupid end.

Your Java GUI knowledge is out of date.

If still thought SwingUtilities.invokeLater is a third party addon,
(and thus not use it), that means your GUI code is horribly unsafe.

You are out of date.

Now *that* is an insult, you moron.

Joe Attardi

unread,
Aug 4, 2007, 2:49:03 AM8/4/07
to
On Aug 4, 2:46 am, JackT <jackt...@gmail.com> wrote:
> You are out of date.
> Now *that* is an insult, you moron.

^^^ QFT

I couldn't put it any better myself.

Careful Jack, he'll report you to your ISP for being very very
naughty!

JackT

unread,
Aug 4, 2007, 2:53:53 AM8/4/07
to
On Aug 4, 6:49 am, Joe Attardi <jatta...@gmail.com> wrote:
> Careful Jack, he'll report you to your ISP
> for being very very naughty!

Twisted's ISP is Bell Canada.
Twisted's real name is Paul D.

(He was involved in an equally heated
debate on another newsgroup, and people there
finally confirmed his real name, with evidence!)


Owen Jacobson

unread,
Aug 4, 2007, 3:18:02 AM8/4/07
to
On Aug 3, 10:58 pm, nebulou...@gmail.com wrote:
> On Aug 4, 1:29 am, Owen Jacobson <angrybald...@gmail.com> wrote:
>
> > Because it does cause problems, but not consistently. As <http://
> > weblogs.java.net/blog/alexfromsun/archive/2005/11/
> > debugging_swing_1.html> observes, sometimes even simply creating a
> > window from main(String...) directly can have unexpected side effects.
>
> Some obscure blog posting from a blog no-one reads. That's your
> evidence against me?

What about the first google hit for "swing event dispatch thread":

<http://java.sun.com/docs/books/tutorial/uiswing/concurrency/
index.html>

That page lays out the threading responsibilities of Swing
programmers, and the *very next page* in the trail contains an example
snippet:

Sun posted:
> You can see examples of this throughout the Swing tutorial:
>
> SwingUtilities.invokeLater(new Runnable()) {
> public void run() {
> createAndShowGUI();
> }
> }"

That same example is the *second* link for the google search "java
event dispatch thread".

But let's say you don't know anything about event dispatch threads at
all! Let's say you're just getting started with Swing. Searching
google for "swing tutorial" gets you the Sun JFC/Swing tutorial at
<http://java.sun.com/docs/books/tutorial/uiswing/>. The inline
examples mostly use SwingUtilities; the few remaining examples of the
"old way" are slowly being corrected by Sun.

In JavaSE 6, a lengthy note was added to the API documentation for the
javax.swing package (<http://java.sun.com/javase/6/docs/api/javax/
swing/package-summary.html#package_description>) outlining how and why
Swing classes are thread-unsafe and how to use them correctly. It's
reasonable to expect developers to check the API docs for APIs they
use under new versions of the JDK sooner or later.

On Aug 3, 10:58 pm, nebulou...@gmail.com continued:

> > public static void main(String args[]) {
> > SwingUtilities.invokeLater(new Runnable() {
>
> Eh, until you've presented some UI my understanding has been that the
> EDT doesn't even exist yet; it's created lazily. So invokeLater might
> be waiting a very long time, given that the UI waits for invokeLater
> to invoke its argument before existing, invokeLater waits for the EDT
> to exist to invoke its argument, and the EDT waits for the UI to exist
> before starting...or has something in that department been changed? I
> do hope it's not now true that all console apps however trivial
> generate a useless EDT wasting memory and slowing down startup?

SwingUtilities' invokeNow and invokeAndWait methods both reliably
create and start the EDT if it isn't running, just like any GUI
component. This isn't as well-documented as it could be (you have to
read between the lines a bit in the API javadocs), but the tutorials
do make it very clear that this is what these two methods will do.

> Also, ISTR SwingUtilities being a third-party (but commonplace) class,
> not a standard Java class at all. Are you sure that one of the primary
> Sun tutorials is assuming people have installed it, and not a third-
> party tutorial or another of those blog postings?

The SwingUtilities class is in the package javax.swing, and is
provided as part of the Java Standard Edition platform at least as of
Java 1.3; you'd have to check the API docs yourself to see if it was
available earlier than that.


Twisted

unread,
Aug 4, 2007, 3:19:48 AM8/4/07
to
On Aug 4, 2:46 am, JackT <jackt...@gmail.com> wrote:
> On Aug 4, 6:31 am, nebulou...@gmail.com wrote:
>
> > On Aug 4, 2:18 am, JackT <jackt...@gmail.com> wrote:
> > [snip ... reasonably civil right up until:]
>
> You're [insult deleted].
>
> Even when people point out [insult deleted]

> you still insist on defending your argument
> to the bitter stupid end.

When people insult me, yes, I do defend myself. What? I should just
lie down and die instead, on your say-so? Yeah. You wish.

[more insults deleted, sprinkled with a bit of Java code to make it
look at first glance like it might actually have been on-topic]


Twisted

unread,
Aug 4, 2007, 3:26:13 AM8/4/07
to
On Aug 4, 2:53 am, JackT <jackt...@gmail.com> wrote:
> On Aug 4, 6:49 am, Joe Attardi <jatta...@gmail.com> wrote:
>
> > Careful Jack, he'll report you to your ISP
> > for being very very naughty!
>
> Twisted's ISP is [snip]
> Twisted's real name is [snip attempted invasion of privacy]

Your attempts to violate the law have been reported to Telus and to
Google Groups. Expect to lose both accounts fucktard. You crossed the
line!

And Attardi, don't encourage this type of serious abuse!

Joe Attardi

unread,
Aug 4, 2007, 3:28:53 AM8/4/07
to
Twisted wrote:
> Your attempts to violate the law have been reported to Telus and to
> Google Groups. Expect to lose both accounts fucktard. You crossed the
> line!
What law did he violate? Saying what your name and ISP are?

Twisted

unread,
Aug 4, 2007, 3:29:06 AM8/4/07
to

Really. Well why haven't I heard of it then? And when did it become
required reading, on pain of vicious flamage? I already spend too much
time out of each day catching up on blogs; I hardly need yet another
one added to the pile. Not to mention too much time out of each day
catching up on usenet; I never seem to actually get finished, because
by the time I am done replying some turkey has already posted a nasty
response that requires rebuttal. :P

Joe Attardi

unread,
Aug 4, 2007, 3:33:23 AM8/4/07
to
Twisted wrote:
> Really. Well why haven't I heard of it then? And when did it become
> required reading, on pain of vicious flamage?
Vicious flamage? I simply told you it was not obscure, and suggested
that you read it, because it is a good site.

Sensitive much?

JackT

unread,
Aug 4, 2007, 3:35:25 AM8/4/07
to
On Aug 4, 7:26 am, Twisted <twisted...@gmail.com> wrote:
> Your attempts to violate the law have been reported to Telus and to
> Google Groups. Expect to lose both accounts fucktard. You crossed the
> line!

You're a moron!!! Ha!

I sited your name and your ISP. Now...

(1) You yourself sited Joe Attardi's ISP just a few minutes ago.

(2) Your name was announced by Hunter in comp.lang.java.programmer
a few days ago. And it was announced in rec.games.roguelike.angband
a while back. Just search google groups... You know how to do that,
don't you? You stupid moron.

Gee. Go. Complain. That way more people (and this case,
the tech support) can laugh at your stupidity. You stupid
dickless fuck. Ha!

Joe Attardi

unread,
Aug 4, 2007, 3:38:45 AM8/4/07
to

Make sure you post once a day, Jack, so you can prove that Twisted is
full of shit (and empty threats).

Dear Comcast,

Joe Attardi said mean things to me, and Jack T said....my name and ISP.
Please take away their intarwebs!

Love,
Twisted

Twisted

unread,
Aug 4, 2007, 3:47:06 AM8/4/07
to
On Aug 4, 3:18 am, Owen Jacobson <angrybald...@gmail.com> wrote:
> What about the first google hit for "swing event dispatch thread":

[everything else snipped as it follows from a bogus premise and is
thus invalidated]

Now why, pray tell, would someone who already knows Swing's basics and
has programmed Swing apps for years perform the Google search you
suggest?

If I had something I wanted to do that was new to me and involved
Swing I might perform such a search. If I'm typing a code snippet from
perfectly good memory of what I already know, why would it occur to me
to perform a search at all? Just in case something has been changed by
Sun? Are you therefore suggesting that all of us perform that specific
search every single day just in case Sun has decided to change
something about Swing's functionality on that particular day? And how
many other searches should we spend minutes on each and every day,
pray tell? Another one regarding the I/O classes I suppose, and
another for the collection classes ... maybe a couple of dozen all
told I suppose?

Yeah, right. In a pig's eye. I won't stand for being told to do all of
those searches, all the time, in case something's changed since the
last time, on pain of being violently treated. Instead I will object
to violent treatment should any materialize.

> In JavaSE 6, a lengthy note was added to the API documentation

without fanfare. People already familiar with the API won't notice it.
They go straight to the method reference when they need to look
something up. Class comments and package.html are consulted generally
by newbies to the package or class in question, or if they don't find
the answer to a specific question in the obvious place in the method
documentation, as a rule. So it's a piss-poor place to put an
announcement intended for everyone already familiar with that API to
read. The changes information accompanying the new version is the
place, with anything developers should take note of coming first, then
new major features (e.g. generics or regexps), then minor stuff/
bugfixes.

> This isn't as well-documented as it could be

That's putting it mildly.

> Tutorials do make it very clear that this is what these two methods will do.

Tutorials an old hand has no obvious reason to revisit, without
specific prompting.

> The SwingUtilities class is in the package javax.swing, and is
> provided as part of the Java Standard Edition platform at least as of
> Java 1.3; you'd have to check the API docs yourself to see if it was
> available earlier than that.

Maybe it was SwingWorker that was third-party. Some SwingSomething is,
anyway, and I seem to recall it being mentioned in conjunction with
SwingUtilities a lot if it wasn't itself SwingUtilities.


Twisted

unread,
Aug 4, 2007, 3:53:12 AM8/4/07
to
On Aug 4, 3:28 am, Joe Attardi <jatta...@gmail.com> wrote:
> What law did he violate? Saying what your name and ISP are?

Saying what he *thinks* my name is, yes. It's attempted invasion of
privacy. There's a reason people often go anonymous online, jackass;
it's because they don't want to get stalked or harassed offline by
some random wackjob from the Internet. I, in particular, don't choose
to expose myself unnecessarily to that risk. Jack T, in behaving as he
is doing, appears to be attempting, in fact, to start stalking me
offline. Fortunately, my ISP is going to mislead him around in circles
-- very big circles anyway, since it serves a continent-sized area. As
for my name, well, he can keep guessing. He might actually get it
right in another thousand tries. Although he'll have been thrown off
both local broadband providers and then every dial-up provider in his
city for attempted invasion of privacy long before he gets the chance
to make a thousand tries.

You should note that I already had another wackjob LARTed for the same
offense. I reported his ass twice to Google Groups (which, like Jack
T, he was using to post) without results; when he posted a third
attack, I emailed his broadband provider and he promptly vanished.
Jack T's connection now likewise probably has another few hours to
live -- a day or two if he's lucky and they don't process my abuse
complaint until Monday morning. With luck, he won't be making the same
mistake twice even if he does get reconnected with another provider.
Not when a second LARTing means being stuck with dial-up or spending
$thousands to move to a different city.

Twisted

unread,
Aug 4, 2007, 3:54:51 AM8/4/07
to

I wasn't referring to your post; I was referring to the vicious post
that started this whole mess, apparently from someone who does indeed
consider that blog required reading "or else".

Regardless, there must be a less nasty way of notifying Java
programmers of such a change than by waiting for them to refer to the
old version of whatever changed in cljp and then jumping down their
throat for being unaware of the change!

Joe Attardi

unread,
Aug 4, 2007, 3:57:45 AM8/4/07
to
Twisted wrote:
> On Aug 4, 3:28 am, Joe Attardi <jatta...@gmail.com> wrote:
>> What law did he violate? Saying what your name and ISP are?
>
> Saying what he *thinks* my name is, yes.

There's nothing illegal about that, you idiot. You give yourself way too
much credit. Your abuse complaint will fall on deaf ears, just like it
did with my ISP.

Now stop being a crybaby!

Twisted

unread,
Aug 4, 2007, 3:59:06 AM8/4/07
to
On Aug 4, 3:35 am, JackT <jackt...@gmail.com> wrote:
[nothing but insults, none of which are true]

Yeah, yeah. Get it all said while you still have a working connection.

Twisted

unread,
Aug 4, 2007, 4:01:21 AM8/4/07
to
On Aug 4, 3:38 am, Joe Attardi <jatta...@gmail.com> wrote:
[snip insulting caricature and some other BS]

So far I've left Comcast out of it. You haven't seriously crossed the
line ... yet. Jack T, on the other hand, in attempting to discover my
real name, has revealed himself to be a more serious threat; heck if
he'd not guessed wrong, he might even now be stalking me physically,
with a knife or something, the nutjob, and I could be in genuine
danger! Fortunately he did guess wrong, and he's just as doomed as
Hunter was, since attempting to breach a user's choice of anonymity is
a serious violation.

Joe Attardi

unread,
Aug 4, 2007, 4:03:38 AM8/4/07
to
Wow Twisted, you're such a fucking tough guy because you email people's
abuse departments. What a pussy.

Joe Attardi

unread,
Aug 4, 2007, 4:06:39 AM8/4/07
to
Twisted wrote:
> On Aug 4, 3:38 am, Joe Attardi <jatta...@gmail.com> wrote:
> [snip insulting caricature and some other BS]
>
> So far I've left Comcast out of it.
So you didn't even email them to begin with? I knew you were full of shit.

> Jack T, on the other hand, in attempting to discover my
> real name, has revealed himself to be a more serious threat; heck if
> he'd not guessed wrong, he might even now be stalking me physically,
> with a knife or something, the nutjob, and I could be in genuine
> danger!

Stop with the manufactured drama.

Twisted

unread,
Aug 4, 2007, 4:17:39 AM8/4/07
to
On Aug 4, 4:03 am, Joe Attardi <jatta...@gmail.com> wrote:
[purely off-topic, purely insulting post deleted]

False.

Twisted

unread,
Aug 4, 2007, 4:20:08 AM8/4/07
to
On Aug 4, 4:06 am, Joe Attardi <jatta...@gmail.com> wrote:
> Twisted wrote:
> > On Aug 4, 3:38 am, Joe Attardi <jatta...@gmail.com> wrote:
> > [snip insulting caricature and some other BS]
>
> > So far I've left Comcast out of it.
>
> So you didn't even email them to begin with? I knew you were full of shit.

No, I reported your abusive gmail-transmitted emails to Google, who
apparently suspended your gmail/Google Groups privileges for a week or
two. (This of course means that your purported postings to some web
forums prove nothing.)

[makes light of my being at risk from Jack T(he Ripper) hunting me
down offline]

How callous of you.

Twisted

unread,
Aug 4, 2007, 4:21:12 AM8/4/07
to
On Aug 4, 3:57 am, Joe Attardi <jatta...@gmail.com> wrote:
> Twisted wrote:
> > On Aug 4, 3:28 am, Joe Attardi <jatta...@gmail.com> wrote:
> >> What law did he violate? Saying what your name and ISP are?
>
> > Saying what he *thinks* my name is, yes.
>
> There's nothing illegal about that, [insults deleted]

Attempted invasion of another user's privacy is certainly, at minimum,
a violation of his provider's Terms of Service. If it progresses to
offline stalking or harassment then yes, he's violated the law.


Joe Attardi

unread,
Aug 4, 2007, 4:22:56 AM8/4/07
to
Twisted wrote:
> Attempted invasion of another user's privacy is certainly, at minimum,
> a violation of his provider's Terms of Service. If it progresses to
> offline stalking or harassment then yes, he's violated the law.

Revealing someone's name is hardly an invasion of privacy, especially
when he cites sources ON THE INTERNET. If it's on the Internet, it's
public knowledge. No invasion of privacy.

FAIL.

Joe Attardi

unread,
Aug 4, 2007, 4:26:07 AM8/4/07
to
Twisted wrote:
> No, I reported your abusive gmail-transmitted emails to Google, who
> apparently suspended your gmail/Google Groups privileges for a week or
> two.
Nope. My Gmail's been fine. Sorry, you fail!

>(This of course means that your purported postings to some web
> forums prove nothing.)

Why do I have to prove anything to you anyway? If you want to believe
that you managed to knock out my Gmail account for any (nonexistent)
period of time, you can do that. But I can assure you no such
knocking-out occurred. Not so much as a warning. Because your ridiculous
claims have no merit.

> [makes light of my being at risk from Jack T(he Ripper) hunting me
> down offline]
> How callous of you.

Hunting you down? The guy said what your name is. That's an awful
stretch, even for you.

Twisted

unread,
Aug 4, 2007, 4:26:43 AM8/4/07
to
On Aug 4, 4:22 am, Joe Attardi <jatta...@gmail.com> wrote:
> Twisted wrote:
> > Attempted invasion of another user's privacy is certainly, at minimum,
> > a violation of his provider's Terms of Service. If it progresses to
> > offline stalking or harassment then yes, he's violated the law.
>
> Revealing someone's name is hardly an invasion of privacy

It is if they are choosing to be anonymous online. Of course, it also
technically is only if they actually manage to get it right, which
Jack T didn't.

> especially when he cites sources ON THE INTERNET.

Vaguely referring to having "seen it elsewhere on the net" is hardly
citing sources.

[insults deleted]

I will defend my right to anonymity and you cannot stop me by force or
convince me not to.

Joe Attardi

unread,
Aug 4, 2007, 4:28:41 AM8/4/07
to
Twisted wrote:
> No, I reported your abusive gmail-transmitted emails to Google, who
> apparently suspended your gmail/Google Groups privileges for a week or
> two. (This of course means that your purported postings to some web
> forums prove nothing.)

Riddle me this, then. How was I able to post to two mailing lists?
http://sourceforge.net/search/?ml_name=cruisecontrol-user&type_of_search=mlists&group_id=23523&words=jattardi%40gmail.com
http://www.gossamer-threads.com/lists/engine?list=lucene&do=search_results&search_forum=forum_2&search_string=jattardi%40gmail.com&search_type=AND

Again, fail.


Joe Attardi

unread,
Aug 4, 2007, 4:29:52 AM8/4/07
to
Twisted wrote:
> I will defend my right to anonymity and you cannot stop me by force or
> convince me not to.
If you wanted anonymity, you should've gone through an anonymizing web
proxy. Otherwise, stop crying about it.

Owen Jacobson

unread,
Aug 4, 2007, 4:29:59 AM8/4/07
to
On Aug 4, 12:47 am, Twisted <twisted...@gmail.com> wrote:
> On Aug 4, 3:18 am, Owen Jacobson <angrybald...@gmail.com> wrote:
>
> > What about the first google hit for "swing event dispatch thread":
>
> Now why, pray tell, would someone who already knows Swing's basics and
> has programmed Swing apps for years perform the Google search you
> suggest?

Plenty of reasons. Someone keeping up on their skills in the face of
new java releases might be perusing java blogs and usenet posts.
Someone might have encountered one of the ways manipulating Swing
objects from outside the EDT can cause problems and be wondering why.
Someone might be having, well, this exact conversation and wondering
if more information was available somewhere.

> If I had something I wanted to do that was new to me and involved
> Swing I might perform such a search. If I'm typing a code snippet from
> perfectly good memory of what I already know, why would it occur to me
> to perform a search at all? Just in case something has been changed by
> Sun?

Well, several Java revisions have come out since you started posting
here. For any random API it's likely at least one of those updates
changed something in it.

Programming, for better or for worse, doesn't happen in a vacuum. The
"best" way to do something may or may not be the way you or I or
anyone else did it last year, and today's "best practice" may be
superceded by something better (simpler, faster, easier to debug, or
more flexible) in the future. A five- or ten-minute docs refresher on
the tool at hand often pays off in the long run.

> Are you therefore suggesting that all of us perform that specific
> search every single day just in case Sun has decided to change
> something about Swing's functionality on that particular day? And how
> many other searches should we spend minutes on each and every day,
> pray tell? Another one regarding the I/O classes I suppose, and
> another for the collection classes ...

Ironically, Java 5 *did* update Collections. People who picked one
way and stuck with it back in Java 1.2 or 1.4 and stuck with it may
have been rudely surprised when their newly-updated compiler started
emitting warnings they'd never heard of before.

It's the developer's responsibility to check which parts of the API
changed when a new version of Java is released -- Sun publishes that
information in the form of release notes and changelogs.

> > In JavaSE 6, a lengthy note was added to the API documentation
>
> without fanfare

You're right. They dropped the ball by forgetting to mention what
amounts to a documentation clarification in the release notes. Given
Sun's history of only including the highlights in the release notes
proper, though, it's fairly wise to check API docs for features are
mentioned in the notes after a release to see if anything else has
changed. The package docs are part of the documentation, no matter
how rarely you personally refer to them.

> > The SwingUtilities class is in the package javax.swing, and is
> > provided as part of the Java Standard Edition platform at least as of
> > Java 1.3; you'd have to check the API docs yourself to see if it was
> > available earlier than that.
>
> Maybe it was SwingWorker that was third-party. Some SwingSomething is,
> anyway, and I seem to recall it being mentioned in conjunction with
> SwingUtilities a lot if it wasn't itself SwingUtilities.

Would it help if future posts used fully-qualified names or had import
statements? :-)

nebul...@gmail.com

unread,
Aug 4, 2007, 4:32:51 AM8/4/07
to
On Aug 4, 4:26 am, Joe Attardi <jatta...@gmail.com> wrote:
[snip some vicious insults and typical BS]

> Hunting you down? The guy said what your name is.

The implied threat is obvious.

Of course, the fact that he got it wrong means I might not really have
much to worry about. It might take him years to guess my real name,
and a while longer to figure out my street address from that. At that
point, judging by what evidence we have thus far for his abilities and
competencies, he'll get lost and wind up in the deep northwestern
woods being chased by angry bears, several hundreds of KM away from my
home. And then he'll attempt in desperation to fight off the bears
with his knife only to be holding it handle-outward. Then get eaten,
then die. In that order. :P


nebul...@gmail.com

unread,
Aug 4, 2007, 4:33:09 AM8/4/07
to
On Aug 4, 4:28 am, Joe Attardi <jatta...@gmail.com> wrote:
[snip insults]

Go to hell.

Joe Attardi

unread,
Aug 4, 2007, 4:35:55 AM8/4/07
to
nebul...@gmail.com wrote:
> The implied threat is obvious.
There was no farking implied threat. Unless typing someone's name and
ISP is an implied threat now, in which case you have implicitly
threatened me!!!!!!!!!Oh noes!!!

Dag Sunde

unread,
Aug 4, 2007, 4:37:05 AM8/4/07
to

No, no!

Don't stop!

This is getting so hilariously funny that I really want it to go on.
I've never seen such a paranoid nut-case at Twisted/nebulous99 during
all my years on Usenet.
And the best thing is that it is a multi-threaded comedy running in
several threads in several Newsgroups.

Keep it coming. :-D

This was probably very insulting, Twisted. So I will spare you the
trouble og looking up my real name/ISP:
My real name is Dag Sunde, and I live in Arendal, Norway.
My ISP is Song Networks, Oslo, Norway.

I have "insulted" you before on several occations, so now I can't
wait for you to report me, and get my internet connection terminated.

--
Dag.


Joe Attardi

unread,
Aug 4, 2007, 4:39:21 AM8/4/07
to
Dag Sunde wrote:
> This is getting so hilariously funny that I really want it to go on.
> I've never seen such a paranoid nut-case at Twisted/nebulous99 during
> all my years on Usenet.
> And the best thing is that it is a multi-threaded comedy running in
> several threads in several Newsgroups.
See! Finally, someone else who understands why I just can't stop replying!!

Although, once the majority of posters in this group wake up in a few
hours, they are going to be so pissed at all the flaming that's been
going on!

Sorry guys!

nebul...@gmail.com

unread,
Aug 4, 2007, 4:47:47 AM8/4/07
to
On Aug 4, 4:29 am, Owen Jacobson <angrybald...@gmail.com> wrote:
> Plenty of reasons. Someone keeping up on their skills in the face of
> new java releases might be perusing java blogs and usenet posts.
> Someone might have encountered one of the ways manipulating Swing
> objects from outside the EDT can cause problems and be wondering why.
> Someone might be having, well, this exact conversation and wondering
> if more information was available somewhere.

In other words, you admit that the first warning anyone had of the
change might have been their being viciously attacked in the newsgroup
for not having apparently known about it.

In other words, you admit that the notification system is horribly
broken, and worse people are horribly rude and unforgiving of people
being out of date despite that.

If the first sign someone has that something like this has changed is
being flamed on usenet then something is very wrong, both with the
usenet flamer AND with Sun's change documentation policies.

> Well, several Java revisions have come out since you started posting
> here. For any random API it's likely at least one of those updates
> changed something in it.

And for the most part those changes are either evident from the method
signatures or are "under the hood" changes and in either case,
upwardly compatible so that existing practises are not suddenly
grounds for being flamed.

And usually when they change something like this there's a method that
gets deprecated. In this case, calling some method from off the EDT is
apparently now deprecated but the method itself isn't.

Admittedly, this is a corner case where the javadocs are ill-suited to
provide the alert. Another reason why deprecating that pattern of
usage should have been featured prominently in a change log somewhere,
rather than buried in changes to package.html text nobody but newbies
reads, changes to tutorials non-newbies no longer routinely consult,
and a blog only a fraction of the target audience even knows exists.

Not to mention that a lot of people have the tutorials mirrored
locally and those copies won't have updated at all.

> The
> "best" way to do something may or may not be the way you or I or
> anyone else did it last year, and today's "best practice" may be
> superceded by something better (simpler, faster, easier to debug, or
> more flexible) in the future. A five- or ten-minute docs refresher on
> the tool at hand often pays off in the long run.

No problem, except that there are two niggling issues.
1. If such a change occurs, some sort of alert has to occur. I'm not
going to check the docs every single day to see if something I use
routinely has changed! Nor the tutorials. If something like that
should be reread, then something should prompt everyone to whom it's
relevant to reread it. An announcement in this newsgroup could have
that effect, or a release note with a new version could prominently
mention the change in question.
2. If such a change occurs in a fairly quiet and poorly-documented
manner it is woefully inappropriate to respond to someone's not
knowing about it by blasting them with both barrels!

> Ironically, Java 5 *did* update Collections. People who picked one
> way and stuck with it back in Java 1.2 or 1.4 and stuck with it may
> have been rudely surprised when their newly-updated compiler started
> emitting warnings they'd never heard of before.

Did they get flamed on the newsgroup? No. Did the documentation,
tools, etc. alert them? Yes. Apples and oranges.

> It's the developer's responsibility to check which parts of the API
> changed when a new version of Java is released -- Sun publishes that
> information in the form of release notes and changelogs.

I don't recall deprecating showing frames from off the EDT being
mentioned in any of these for either Java 5 or Java 6. If it was it
was not prominently mentioned, despite the fact that nothing in the
API docs or tool behavior would call attention to the change.

> You're right. They dropped the ball by forgetting to mention what
> amounts to a documentation clarification in the release notes.

I'd call deprecating a formerly common practise in 75+%* of Java
projects, and recommending a new one in its place, more than a
"documentation clarification".

* Totally off-the-cuff estimate. I assume standalone GUI apps are all
affected, and that applets and console apps and the like comprise
roughly a quarter of projects. Given the amount of attention
Enterprise stuff is getting, it may be that applets and servlets are
much more common now than in the past, but standalone GUI apps are
still going to be a substantial chunk of all projects, simply because
they're a substantial chunk of all programming *in general*. They're
also disproportionately represented if you count lines of code rather
than identifiably separate projects.

Regardless, though, my main objection isn't to the change itself, or
even to Sun's relatively quiet non-announcement of it, but to the
manner in which it was brought to my attention: extremely rudely.
There was no cause for publicly belittling me and making it look as if
I were some kind of fool or know-nothing for not being aware of this
admittedly rather soft-pedaled and peculiar change.

nebul...@gmail.com

unread,
Aug 4, 2007, 4:53:15 AM8/4/07
to

You can shove your anonymizing Web proxy up your arse -- I shouldn't
have to resort to such exotic methods just to be safe from pissant
little wannabe stalkers like Jack T!

nebul...@gmail.com

unread,
Aug 4, 2007, 4:55:39 AM8/4/07
to
On Aug 4, 4:35 am, Joe Attardi <jatta...@gmail.com> wrote:

> nebulou...@gmail.com wrote:
> > The implied threat is obvious.
>
> There was no farking implied threat. Unless typing someone's name...

Or at least something they think is someone's name...

You're so smart? How about you tell me exactly what innocuous reasons
he might have for prying into such matters and trying to find out my
real name, given that I go to some effort to disconnect my online life
from my real life?

Let me guess: you can easily think up numerous nefarious reasons for
such behavior but zero innocuous ones.

I trust I've made my point. Besides being off-topic here, speculation
as to any given poster's real offline name can serve no useful,
constructive function, but is obviously useful if you wish to
perpetrate or simply to incite offline harassment of some form.

nebul...@gmail.com

unread,
Aug 4, 2007, 4:57:52 AM8/4/07
to
On Aug 4, 4:37 am, "Dag Sunde" <m...@dagsunde.com> wrote:
[unprovoked attack post]

The various negative things about me that this imbe...vidual implied
and stated are false.

> several Newsgroups.

Eh? Is someone from here badmouthing me in another newsgroup to try to
do it behind my back?

Dag Sunde

unread,
Aug 4, 2007, 5:01:23 AM8/4/07
to
nebul...@gmail.com wrote:
> On Aug 4, 4:37 am, "Dag Sunde" <m...@dagsunde.com> wrote:
> [unprovoked attack post]
>
> The various negative things about me that this imbe...vidual implied
> and stated are false.
>

Because you say so?

LOL

>> several Newsgroups.
>
> Eh? Is someone from here badmouthing me in another newsgroup to try to
> do it behind my back?

I every newsgroup you post, my little twisted friend. ;-)

--
Dag.


nebul...@gmail.com

unread,
Aug 4, 2007, 5:13:03 AM8/4/07
to
On Aug 4, 5:01 am, "Dag Sunde" <m...@dagsunde.com> wrote:

> nebulou...@gmail.com wrote:
> > On Aug 4, 4:37 am, "Dag Sunde" <m...@dagsunde.com> wrote:
> > [unprovoked attack post]
>
> > The various negative things about me that this imbe...vidual implied
> > and stated are false.
>
> Because you say so?

And the insults are true just because *you* say so? Even though I'm
clearly a more knowledgeable person on the subject of me than you are?

> I every newsgroup you post, my little twisted friend. ;-)

Not according to my various checks. Most of them are quiet. The only
one in which I've recently been flamed is this one. And I'd much
rather it stayed that way; if you go intentionally posting OT
insulting posts in other newsgroups just to spread the conflagration
your conduct WILL be reported to your internet provider.

Owen Jacobson

unread,
Aug 4, 2007, 5:22:40 AM8/4/07
to
On Aug 4, 1:47 am, nebulou...@gmail.com wrote:
> On Aug 4, 4:29 am, Owen Jacobson <angrybald...@gmail.com> wrote:
>
> > Plenty of reasons. Someone keeping up on their skills in the face of
> > new java releases might be perusing java blogs and usenet posts.
> > Someone might have encountered one of the ways manipulating Swing
> > objects from outside the EDT can cause problems and be wondering why.
> > Someone might be having, well, this exact conversation and wondering
> > if more information was available somewhere.
>
> In other words, you admit that the first warning anyone had of the
> change might have been their being viciously attacked in the newsgroup
> for not having apparently known about it.
>
> In other words, you admit that the notification system is horribly
> broken, and worse people are horribly rude and unforgiving of people
> being out of date despite that.

All of these assertions hinge on there being a change. In fact, the
"old way" of creating and displaying some or all of the initial UI
from the main thread *never* worked reliably. I gather that Sun's
first goal was to ship a replacement for AWT as soon as possible and
second to fix any niggling "issues" like thread safety. Sun's
developers subsequently discovered, quite likely as the result of bug
reports from users in the field, that Swing's API was structured in a
way that made it impossible to make both thread-safe and performant.

The potential for application bugs was always there, but was not
always known. The only code change that introduced it was the one in
which Swing's event model came into being.

(I'll thank you to not put words in my mouth, if you please. I
believe the flaming and viciousness you're receiving at the hands of
others here has nothing whatsoever to do with Swing.)

> > The
> > "best" way to do something may or may not be the way you or I or
> > anyone else did it last year, and today's "best practice" may be
> > superceded by something better (simpler, faster, easier to debug, or
> > more flexible) in the future. A five- or ten-minute docs refresher on
> > the tool at hand often pays off in the long run.
>
> No problem, except that there are two niggling issues.
> 1. If such a change occurs, some sort of alert has to occur. I'm not
> going to check the docs every single day to see if something I use
> routinely has changed! Nor the tutorials. If something like that
> should be reread, then something should prompt everyone to whom it's
> relevant to reread it. An announcement in this newsgroup could have
> that effect, or a release note with a new version could prominently
> mention the change in question.
> 2. If such a change occurs in a fairly quiet and poorly-documented
> manner it is woefully inappropriate to respond to someone's not
> knowing about it by blasting them with both barrels!

Sun is not and will never be the only source of information about bugs
and changes in Java. Indeed, very soon others will be able to compare
release tags of the JDK themselves for a blood-and-guts-level view of
the changes from release to release and publish their findings
anywhere they choose. Given that, and given that it's likely the
problems with initializing Swing components on the main thread were
discovered by users and not created or discovered by Sun, I hardly
expect them to generate an alert. They may as well generate an alert
every time a user discovers a flaw in the JVM, JRE, or JDK.

(Well, they do; you can watch the bug tracker yourself if you want
that much detail and want to be sure you miss nothing. Otherwise,
you'll have to content yourself with the level of detail provided by
whoever refines that raw bug and task information down to release
notes.)

Regardless of how well or poorly Sun propagated information about
Swing components being thread-unsafe, there are other sources of
information out there on the web. My own observation is that the
thread-safety issues with Swing because widely known sometime around
Java 5's release, if not slightly after; prior to that I'm sure a
handful of websites mentioned it and more than a few developers within
and without Sun had encountered it. At this point information about
Swing and threading is widely available on the internet at large.

Before you ask your usual next question, yes, I do expect you or any
other software developer to keep an eye on what "the internet at
large" is learning about the tools you or they use, since I do it
myself as a way of keeping my skills from rusting. Certainly not
everything, but if someone mentions a bit of information I wasn't
aware of it's up to me to search around and see what I can learn from
that.

> > It's the developer's responsibility to check which parts of the API
> > changed when a new version of Java is released -- Sun publishes that
> > information in the form of release notes and changelogs.
>
> I don't recall deprecating showing frames from off the EDT being
> mentioned in any of these for either Java 5 or Java 6. If it was it
> was not prominently mentioned, despite the fact that nothing in the
> API docs or tool behavior would call attention to the change.

This is important enough that I'll say it again: there was no change
to Swing. Manipulating Swing components from main has *never* been
safe. Sun believed it to be safe when they released Swing and the
original Swing tutorials; they were wrong. Are there other, similar
bugs in the JDK somewhere? Probably.

The problems in Swing's specific case are not the sort that leap out
at you; as you've already discovered, it's possible to do main-thread
component initialization and have it work. As with most threading
bugs, it's sensitive to load, the exact thread execution timing, and
many other factors, so number of states where Swing components do
something unexpected is fairly small compared to the number of states
where Swing components act as expected. This is why the bug initially
escaped detection.

> Regardless, though, my main objection isn't to the change itself, or
> even to Sun's relatively quiet non-announcement of it, but to the
> manner in which it was brought to my attention: extremely rudely.
> There was no cause for publicly belittling me and making it look as if
> I were some kind of fool or know-nothing for not being aware of this
> admittedly rather soft-pedaled and peculiar change.

Reading back over this thread, I don't find the way the bug in your
code was brought to your attention particularly vicious. It wasn't
particularly polite, but this is a technical newsgroup and extremely
blunt and direct phrases like "you shouldn't show a JDialog off the
EDT" are par for the course, not an act of hostility.

Clearly, you disagree, as is your prerogative. I wish you luck in
finding a forum where technical people of or above the calibre found
here are plentiful and as polite as geishas, as I doubt you'll ever
find that in the usenet comp.lang.* hierarchy.

blm...@myrealbox.com

unread,
Aug 4, 2007, 5:30:12 AM8/4/07
to
In article <1186213626.9...@q3g2000prf.googlegroups.com>,

Twisted <twist...@gmail.com> wrote:
> On Aug 4, 3:18 am, Owen Jacobson <angrybald...@gmail.com> wrote:
> > What about the first google hit for "swing event dispatch thread":
>
> [everything else snipped as it follows from a bogus premise and is
> thus invalidated]

There might be an honest misunderstanding here:

When I do a Google search on "swing", "event", "dispatch", and
"thread", the first hit is indeed the one Owen mentions.

Results are different if I search on "swing even dispatch thread"
(single quoted term).

[ snip ]

--
B. L. Massingill
ObDisclaimer: I don't speak for my employers; they return the favor.

Owen Jacobson

unread,
Aug 4, 2007, 5:33:39 AM8/4/07
to
On Aug 4, 2:30 am, blm...@myrealbox.com <blm...@myrealbox.com> wrote:
> In article <1186213626.907114.265...@q3g2000prf.googlegroups.com>,

>
> Twisted <twisted...@gmail.com> wrote:
> > On Aug 4, 3:18 am, Owen Jacobson <angrybald...@gmail.com> wrote:
> > > What about the first google hit for "swing event dispatch thread":
>
> > [everything else snipped as it follows from a bogus premise and is
> > thus invalidated]
>
> There might be an honest misunderstanding here:
>
> When I do a Google search on "swing", "event", "dispatch", and
> "thread", the first hit is indeed the one Owen mentions.
>
> Results are different if I search on "swing even dispatch thread"
> (single quoted term).
>
> [ snip ]

The premise he's objecting to is that someone would have typed any of
the searches I suggested without knowing in advance how Swing and
threading interact. Since that wasn't my point, exactly, I don't
really mind that he snipped it.

(For the record, my point was that a wide variety of searches, *not*
all of which involve the word "thread" at all, or "event", turn up
information on creating Swing components on the right thread and how
to get to that thread from the "main" thread. Information about Swing
and threading is widespread now, regardless of how Sun handled telling
people about the bug.)

blm...@myrealbox.com

unread,
Aug 4, 2007, 6:20:19 AM8/4/07
to
In article <1186220019.7...@m37g2000prh.googlegroups.com>,

Owen Jacobson <angryb...@gmail.com> wrote:
> On Aug 4, 2:30 am, blm...@myrealbox.com <blm...@myrealbox.com> wrote:
> > In article <1186213626.907114.265...@q3g2000prf.googlegroups.com>,
> >
> > Twisted <twisted...@gmail.com> wrote:
> > > On Aug 4, 3:18 am, Owen Jacobson <angrybald...@gmail.com> wrote:
> > > > What about the first google hit for "swing event dispatch thread":
> >
> > > [everything else snipped as it follows from a bogus premise and is
> > > thus invalidated]
> >
> > There might be an honest misunderstanding here:
> >
> > When I do a Google search on "swing", "event", "dispatch", and
> > "thread", the first hit is indeed the one Owen mentions.
> >
> > Results are different if I search on "swing even dispatch thread"
> > (single quoted term).
> >
> > [ snip ]
>
> The premise he's objecting to is that someone would have typed any of
> the searches I suggested without knowing in advance how Swing and
> threading interact. Since that wasn't my point, exactly, I don't
> really mind that he snipped it.

You think? (Well, obviously you do, or you wouldn't have said so.)
Now that I think about it, though, my assumption that Twisted
made the second experiment (search on the quoted phrase) and got
results other than what you cited (for a different experiment) --
maybe that's not so likely.

OT aside: *Is* there a way to make it plain that one intends a
search on separate keywords, rather than on a quoted phrase, without
a lot of verbiage? or is that what most people would take your
words to mean ....

> (For the record, my point was that a wide variety of searches, *not*
> all of which involve the word "thread" at all, or "event", turn up
> information on creating Swing components on the right thread and how
> to get to that thread from the "main" thread. Information about Swing
> and threading is widespread now, regardless of how Sun handled telling
> people about the bug.)

--

Dag Sunde

unread,
Aug 4, 2007, 7:12:49 AM8/4/07
to
nebul...@gmail.com wrote:
> On Aug 4, 5:01 am, "Dag Sunde" <m...@dagsunde.com> wrote:
>> nebulou...@gmail.com wrote:
>>> On Aug 4, 4:37 am, "Dag Sunde" <m...@dagsunde.com> wrote:
>>> [unprovoked attack post]
>>
>>> The various negative things about me that this imbe...vidual implied
>>> and stated are false.
>>
>> Because you say so?
>
> And the insults are true just because *you* say so?
> Even though I'm clearly a more knowledgeable person on the
> subject of me than you are?

You probably are at that.

But you could start a little poll, to check:
1.) how many really sympatize with your behaviour
vs.
2.) how many think you are hilariously funny,
and have paranoid tendencies.

I'm faily certain that point 2 will get an overwhelming
majority ov votes.

>
>> I every newsgroup you post, my little twisted friend. ;-)
>
> Not according to my various checks.

You have to learn how to search newsgroups, then...

> Most of them are quiet. The only one in which I've recently
> been flamed is this one.

I was not only talking about your _current_ behaviour, but
your Usenet history (which draws a prerry clear picture of you).

> And I'd much rather it stayed that way;
> if you go intentionally posting OT insulting posts in other
> newsgroups just to spread the conflagration

There, your paranoid tendencies bleeds through again...

> your conduct WILL be reported to your internet provider.

Oh, Please do, please do!

:-D

--
Dag.


Daniel Dyer

unread,
Aug 4, 2007, 7:51:30 AM8/4/07
to
On Sat, 04 Aug 2007 12:12:49 +0100, Dag Sunde <m...@dagsunde.com> wrote:

> nebul...@gmail.com wrote:
>> On Aug 4, 5:01 am, "Dag Sunde" <m...@dagsunde.com> wrote:
>>> nebulou...@gmail.com wrote:
>>>> On Aug 4, 4:37 am, "Dag Sunde" <m...@dagsunde.com> wrote:
>>>> [unprovoked attack post]
>>>
>>>> The various negative things about me that this imbe...vidual implied
>>>> and stated are false.
>>>
>>> Because you say so?
>>
>> And the insults are true just because *you* say so?
>> Even though I'm clearly a more knowledgeable person on the
>> subject of me than you are?
>
> You probably are at that.
>
> But you could start a little poll, to check:
> 1.) how many really sympatize with your behaviour
> vs.
> 2.) how many think you are hilariously funny,
> and have paranoid tendencies.
>
> I'm faily certain that point 2 will get an overwhelming
> majority ov votes.

May I suggest that, if anybody is planning on voting 2, they also include
the abuse address for their ISP to make things easier :)

Dan.

--
Daniel Dyer
http//www.uncommons.org

Chris

unread,
Aug 4, 2007, 4:52:47 PM8/4/07
to
> Use Introspector instead of reflection. Introspector will get all the
> bean properties (including GUI PropertyEditor classes if they are
> defined by the developer in the corresponding BeanInfo class)
>
> Alternatively, you're interface could declare
> "Collection<ConfigurablePropertyUI> getConfigurableProperties()"

Thanks. I wasn't aware of Introspector, and it looks like it was
designed to solve this very problem. It may be a bit more complex than
what I need, but it's a good start.

Twisted

unread,
Aug 5, 2007, 1:51:11 PM8/5/07
to
On Aug 4, 7:12 am, "Dag Sunde" <m...@dagsunde.com> wrote:
> 2.) how many think you [insults deleted]

Take a hike already.

> I'm faily certain that point 2 will get an overwhelming
> majority ov votes.

I'm fairly certain you will get an overwhelming majority of votes --
for the 2007 God-Awful Spelling Award. :P

> > Not according to my various checks.
>
> You have to learn how to search newsgroups, then...

That suggestion is insulting, not to mention what you're implying is
simply false. The only newsgroup I post to that currently plays host
to any assholish behavior of the sort you're displaying is this one.
The others are quiet now, although some do have past, long-dead flames
in them.

[snip more insults]

[nothing left]

Twisted

unread,
Aug 5, 2007, 1:52:16 PM8/5/07
to
On Aug 4, 7:51 am, "Daniel Dyer" <"You don't need it"> wrote:
> May I suggest that, if anybody is planning on voting 2, they also include
> the abuse address for their ISP to make things easier :)

Oh, I can find that easily enough myself for anyone who dares cross
the line and violate typical ToS agreements.

Twisted

unread,
Aug 5, 2007, 2:18:47 PM8/5/07
to
On Aug 4, 5:22 am, Owen Jacobson <angrybald...@gmail.com> wrote:
> All of these assertions hinge on there being a change.

Which there was -- they apparently deprecated a practise that was
formerly commonplace.

> I'll thank you to not put words in my mouth, if you please.

I'll thank *you* not to accuse me of dishonesty when there has been
none on my part!

> I believe the flaming and viciousness you're receiving at the hands of
> others here has nothing whatsoever to do with Swing.

And the flaming I'm receiving at the hands of you? Implying that I did
something wrong, or should have known something even without being
notified in any way at the time that there was something I should
start knowing.

Anyway I was referring to the flaming and smouldering posts in this
thread specifically, rather than out there generally.

> Sun is not and will never be the only source of information about bugs
> and changes in Java.

But they are the only official source.

> They may as well generate an alert
> every time a user discovers a flaw in the JVM, JRE, or JDK.

Just so long as there's some way for the deprecation of major, common
practises to be announced. In most cases, this involves deprecating a
method so the compiler and API docs will alert you once the library
code and API docs are updated with a new JRE release. In this
particular case, there was no warning that formerly common and
accepted practises would now earn one vicious flamage if posted to
this newsgroup; none whatsoever.

> Before you ask your usual next question, yes, I do expect you or any
> other software developer to keep an eye on what "the internet at
> large" is learning about the tools you or they use, since I do it
> myself as a way of keeping my skills from rusting.

And how, pray tell, do I do that, short of spending most of my waking
hours on repetitive google searches? Right now there's no "push"
method to get specific announcements relating to specific things
distilled down and delivered. You have to go explicitly searching for
something new without even any knowledge of whether there's something
new to be found. I could do a daily search on the topic of Swing
thread-safety and encounter something important and new only every
year or so; or search less often and miss the announcement and get
attacked for having done so.

The real problem is clearly the "get attacked for having done so"
part. I committed no crime. I think I've been treated far too harshly
here. I offered a suggestion to the OP on a way to get their whatsits
configured that nobody else had suggested, and was blasted in the
rudest manner -- and the attacker didn't even have any beef with the
actual gist of the suggestion; no, they just nitpicked niggling
details about the example code! Maybe I should try to be more vague in
the future so there are no details for assholes like that to latch on
to, even if it makes my responses less helpful, since it seems the
price of including a code snippet without actually searching obscure
blogs and testing the snippet compiles and works and other things is
being publicly humiliated and lambasted. And the price of doing those
things is for answering someone's question to take hours instead of a
minute or two.

Maybe I'll just stop even trying to be helpful here. It's obviously
not appreciated, and it's obvious I'm being held to a double standard.
I don't see other posters being blasted in such a fashion when their
help is perceived as less than perfect by someone.

> Certainly not
> everything, but if someone mentions a bit of information I wasn't
> aware of it's up to me to search around and see what I can learn from
> that.

Fine, but I don't like the first mention of the new information taking
the form of a goddamn flame.

> > I don't recall deprecating showing frames from off the EDT being
> > mentioned in any of these for either Java 5 or Java 6. If it was it
> > was not prominently mentioned, despite the fact that nothing in the
> > API docs or tool behavior would call attention to the change.
>
> This is important enough that I'll say it again: there was no change
> to Swing.

I didn't say that there had been. Only that they'd deprecated an
existing practise, which is exactly what you've been saying.

> Manipulating Swing components from main has *never* been safe.

I don't see how this can be the case anyway. Race conditions between
the EDT and the main thread can't occur unless they're both trying to
access components simultaneously, pretty much by definition. In the
usual situation, main calling setVisible(true) at the very end, the
main thread stops accessing components right when it does something
that will cause the EDT to start doing so. It would be continued
manipulation of the components from other threads after some UI was
already shown that I'd expect to cause trouble.

> Reading back over this thread, I don't find the way the bug in your
> code was brought to your attention particularly vicious.

Really. Somebody treated me like I was some sort of fool or moron --
in public. And you don't find that vicious? Moreover, they did so
without provocation; the posting they attacked was not only civil, but
a good-faith attempt to provide someone else with information. Also I
don't like being accused of having "a bug in my code" when we're
talking about an off-the-cuff code snippet that was based on the best
information I had at the time (which included that calling
setVisible() from off the EDT was considered safe, since the EDT
wouldn't start accessing the affected objects until they were made
visible and could thereby generate events). If you think I should have
had more up-to-date information, then you should ensure that in the
future I do have up-to-date information rather than waiting until I do
something to suggest that I don't and then attacking me! Certainly it
must be considered seriously off-charter behavior for anyone here to
flame anyone else over lack of information. Otherwise, given the
evidently rapidly-changing nature of the field, the result will be to
turn this newsgroup into a minefield where people dare not make a
single false step for fear of being dragged through the mud for
inability to stay absolutely, perfectly up to date.

In short, stop holding me to your goddamn perfectionist standards and
leave me in peace! This applies to every one of you.

> It wasn't particularly polite, but this is a technical newsgroup and extremely

> blunt and direct ... are par for the course, not an act of hostility.

This is a technical newsgroup and as such should be held to a higher
standard of civility of discourse than, say, alt.*. Also, this is a
technical discussion and as such the relative merits, perceived
personal failings, and whatnot of various personalities are not on-
topic for discussion here; the technical subject matter itself is.
Leave the person out of any dispute; only refer to their code, and use
phrases like "It's safer to do X" or "I think Y works better", never
"You shouldn't ... You aren't doing it right ... You idiot!". Using
the word "you" makes things personal. Don't.


Twisted

unread,
Aug 5, 2007, 2:23:11 PM8/5/07
to
On Aug 4, 5:33 am, Owen Jacobson <angrybald...@gmail.com> wrote:
> The premise he's objecting to is that someone would have typed any of
> the searches I suggested without knowing in advance how Swing and
> threading interact.

No, the premise I'm objecting to is that someone who was ALREADY
knowledgeable enough to have several working Swing projects under his
belt would have any reason to perform such a search. What would prompt
them to do so? Are you honestly expecting that the day this
deprecation of a practise occurred, people knowledgeable about Swing
programming would wake up and they'd all have the thought just pop
into their heads "I think I'll spend an hour searching Google for all
this information I already know today, just because I have this funny
feeling from out of the blue that something's new or changed."

Sorry. It doesn't work that way. There should be a central place for
checking for announcements for this sort of stuff; a low-traffic
place. With a fucking RSS feed. No way am I letting you impose an
expectation that I perform random searches "just in case" something's
new every day or whatever. (Less frequently and it will simply slip my
mind; but daily is definitely a waste of time. What you propose is
woefully inefficient.)

Patricia Shanahan

unread,
Aug 5, 2007, 3:28:54 PM8/5/07
to
Twisted wrote:
> On Aug 4, 5:33 am, Owen Jacobson <angrybald...@gmail.com> wrote:
>> The premise he's objecting to is that someone would have typed any of
>> the searches I suggested without knowing in advance how Swing and
>> threading interact.
>
> No, the premise I'm objecting to is that someone who was ALREADY
> knowledgeable enough to have several working Swing projects under his
> belt would have any reason to perform such a search. What would prompt
> them to do so?

I was in a similar situation to Twisted. I wrote some swing applications
several years ago, when starting it from main was common, and only
learned about the invokeLater recommendation from this thread.

*THANKS!* to Thomas Hawtin for mentioning the issue, and to those who
clarified it. Without that discussion, I might have got it wrong next
time I wrote some GUI code.

Part of my answer to the staying-up-to-date problem is to participate
in relevant newsgroups. If I were doing a lot of GUI code, I would be
active in comp.lang.java.gui, and would probably have learned to use
invokeLater even to start Swing much earlier.

Patricia

nebul...@gmail.com

unread,
Aug 5, 2007, 4:03:35 PM8/5/07
to
On Aug 5, 3:28 pm, Patricia Shanahan <p...@acm.org> wrote:
> *THANKS!* to Thomas Hawtin for mentioning the issue

Yeah, thank him for a post in which he was insulting and rude, even if
he had something useful to say in the same post. Encourage that kind
of misbehavior. That will work nicely. :P

I suggest you amend that to thanking him for the info but not for the
rude and provocative delivery, and suggesting to him that, at minimum,
his diplomatic skills need serious work.

blm...@myrealbox.com

unread,
Aug 5, 2007, 5:21:44 PM8/5/07
to
In article <f958do$c6e$1...@ihnp4.ucsd.edu>,

Patricia Shanahan <pa...@acm.org> wrote:
> Twisted wrote:
> > On Aug 4, 5:33 am, Owen Jacobson <angrybald...@gmail.com> wrote:
> >> The premise he's objecting to is that someone would have typed any of
> >> the searches I suggested without knowing in advance how Swing and
> >> threading interact.
> >
> > No, the premise I'm objecting to is that someone who was ALREADY
> > knowledgeable enough to have several working Swing projects under his
> > belt would have any reason to perform such a search. What would prompt
> > them to do so?
>
> I was in a similar situation to Twisted. I wrote some swing applications
> several years ago, when starting it from main was common, and only
> learned about the invokeLater recommendation from this thread.
>
> *THANKS!* to Thomas Hawtin for mentioning the issue, and to those who
> clarified it. Without that discussion, I might have got it wrong next
> time I wrote some GUI code.

Seconded! I knew about the recommendation to use invokeLater,
but I found out more or less by accident -- if I remember
right, I was skimming Sun's Swing tutorial to confirm that
it was something I could recommend to beginners, and noticed
that the examples were different from the ones I'd seen when
I was learning Swing.

> Part of my answer to the staying-up-to-date problem is to participate
> in relevant newsgroups. If I were doing a lot of GUI code, I would be
> active in comp.lang.java.gui, and would probably have learned to use
> invokeLater even to start Swing much earlier.

Being corrected in public might not be the most painless way to
get new information, but it might be less time-consuming than other
methods.

Mark Space

unread,
Aug 5, 2007, 10:09:25 PM8/5/07
to
Patricia Shanahan wrote:
>
> *THANKS!* to Thomas Hawtin for mentioning the issue, and to those who
> clarified it. Without that discussion, I might have got it wrong next
> time I wrote some GUI code.

*Whew!* I don't feel so bad now. Ditto, I'm glad I did (eventually)
learn about this bug.

I do agree that Sun ought to publish some sort of tech notes, with
updates and information for Java software engineers. An email list
would be fine.


Dag Sunde

unread,
Aug 6, 2007, 3:44:56 AM8/6/07
to
Twisted wrote:
> On Aug 4, 7:12 am, "Dag Sunde" <m...@dagsunde.com> wrote:
>> 2.) how many think you [insults deleted]
>
> Take a hike already.
>
>> I'm faily certain that point 2 will get an overwhelming
>> majority ov votes.
>
> I'm fairly certain you will get an overwhelming majority of votes --
> for the 2007 God-Awful Spelling Award. :P
>

Hmmm... Personal attacks because of a couple of typos from
an non-native English speaker? Isn't that what getting you so
upset when it hits yourself?


>>> Not according to my various checks.
>>
>> You have to learn how to search newsgroups, then...
>
> That suggestion is insulting, not to mention what you're implying is
> simply false. The only newsgroup I post to that currently plays host
> to any assholish behavior of the sort you're displaying is this one.
> The others are quiet now, although some do have past, long-dead flames
> in them.

Insulting? LOL!

Don't be stupid! Everyone with access to Google can look up all the
NG threads where you are involved with your braindead accusations of
being insulted and that you have to defend yourself.

PS!
I have now insulted you so many times that I really expect
you to take steps to cut my internet connection!
(Or are you just full of air)?

--
Dag.

Owen Jacobson

unread,
Aug 6, 2007, 3:56:34 AM8/6/07
to
On Aug 5, 11:18 am, Twisted <twisted...@gmail.com> wrote:
> On Aug 4, 5:22 am, Owen Jacobson <angrybald...@gmail.com> wrote:

> > I believe the flaming and viciousness you're receiving at the hands of
> > others here has nothing whatsoever to do with Swing.
>
> And the flaming I'm receiving at the hands of you?

If my posts are coming across as flameage, I sincerely apologize. How
can I present the points I'm making (outlined below) in a way that you
will not take offence at? And, if that's not possible, how can I at
least convince you to accept their existence?

POINT 1: I (and many others here) believe you see offense and flameage
where none was intended, to the detriment of your ability to
contribute your not inconsiderable technical skills to this group.

That is, hopefully, the only thing in this entire posting that is
specific to you. All further pronouns should be interpreted as a
generic "you, the reader."

> > Manipulating Swing components from main has *never* been safe.
>
> I don't see how this can be the case anyway. Race conditions between
> the EDT and the main thread can't occur unless they're both trying to
> access components simultaneously, pretty much by definition. In the
> usual situation, main calling setVisible(true) at the very end, the
> main thread stops accessing components right when it does something
> that will cause the EDT to start doing so.

This is not guaranteed by the Swing API; it may create the EDT as soon
as you instantiate a GUI component, and the component may interact
with the EDT (even in the form of "are you visible yet?" or "are you
responsible for this event?" checks) at any point thereafter. To find
out specifics you'd have to read the API spec and ancillary docs in
detail, or read the source.

I've already demonstrated that at least one person has encountered
bugs directly caused by creating the UI on the main thread to the
point of .setVisislbe(true) only. For me, that's sufficient to
convince me never to do that. These computers being what they are, a
"one in a million chance" bug will have been triggered by next
Tuesday; assuming otherwise is bad engineering.

POINT 2: Interacting with Swing components from outside the EDT is
fraught with peril and the sooner this practice dies the better off
Java software as a whole will be.

Lest anyone think I'm talking down from a position of presumed
authority or superiority on this: there are, on my own site no less,
still snippets of code which start up Swing UI components from the
main thread that I have not yet gotten around to correcting.

POINT 3: Swing's handling of thread safety sucks in favour of Swing as
a whole being fast. Sun's handling of Swing bugs isn't much better.

POINT 4: It is only ever correct (as of this writing) to manipulate
Swing objects from the EDT.

> In short, stop holding me to your goddamn perfectionist standards and
> leave me in peace! This applies to every one of you.

My long-held opinion is that example code should be held to higher,
not lower, standards than other code, since people who may not have
the skills to spot problems with it are well within the target
audience. Therefore, were I to post an example of how to use NIO but
fail to, for example, correctly remove selectors from the ready set
out of pure ignorance[1], I would appreciate being corrected as
quickly as possible even if I had not asked for corrections. By
placing my code in a public place I opened it to criticism,
constructive or otherwise; it'd be up to me to take less-polite
criticism as constructively as possible in the interests of better
code all 'round.

Let me flip this around for illustration's sake. Let's say you[2]
came here asking how to frobnicate apothecaries and someone replied
with an example that followed a fairly common but incorrect pattern.
Would you prefer that a second someone replied correcting the first,
or to come away with an incorrect answer to your question? If you'd
prefer the former, do you care *how* the first someone (who, in this
case, is not you) was corrected?

Consider your answer carefully.

POINT 5: I believe example code, by its very nature, is open to
criticism in the interests of correctness, even at the expense of
emotional investment.

POINT 6: I believe it is in everyone's best interest to take
criticism, no matter how clumsily or poorly presented, in the most
constructive light possible.

> > It wasn't particularly polite, but this is a technical newsgroup and extremely
> > blunt and direct ... are par for the course, not an act of hostility.
>
> This is a technical newsgroup and as such should be held to a higher
> standard of civility of discourse than, say, alt.*. Also, this is a
> technical discussion and as such the relative merits, perceived
> personal failings, and whatnot of various personalities are not on-
> topic for discussion here; the technical subject matter itself is.
> Leave the person out of any dispute; only refer to their code, and use
> phrases like "It's safer to do X" or "I think Y works better", never
> "You shouldn't ... You aren't doing it right ... You idiot!". Using
> the word "you" makes things personal. Don't.

"You shouldn't manipulate Swing components from outside the EDT" is a
factual statement, regardless of the person(s) the pronoun "you"
refers to. Often, "you" is a generic pronoun referring to "you, the
reader", though I can see how in the context of Thomas Hawtin's post
it could also be interpreted as "you, Twisted". Both are valid
interpretations of the text.

The statement is lacking an explanatory clause, which makes it rather
blunt and did somewhat invite an irritated (or merely curious) "well,
why not?" followup.

Discussion in this or any other technical newsgroup is, by long and
well-tested convention, focused primarily on facts and on solving
problems. Participating in these groups eventually requires one to
admit to owning or creating a problem, either intentionally (for
discussion's sake) or accidentally. Similarly, eventually everyone
posts something wrong; if we're lucky someone else comes along and
corrects them. If the correction is factually correct and not simply
rude (and "You shouldn't" doesn't strike me as rude in the slightest,
nor did the post stoop to name-calling or denigration of anyone's
skills as a whole, which I would have considered rude), who cares how
it's phrased?

POINT 7: facts über alles, here and everywhere else.

Best,
Owen

[1] An example from my own postings to this very group, in fact.
[2] Breaking with my pronoun use, I do mean Twisted in this paragraph.

Twisted

unread,
Aug 6, 2007, 1:14:52 PM8/6/07
to
On Aug 6, 3:44 am, "Dag Sunde" <m...@dagsunde.com> wrote:
> >> I'm faily certain that point 2 will get an overwhelming
> >> majority ov votes.
>
> > I'm fairly certain you will get an overwhelming majority of votes --
> > for the 2007 God-Awful Spelling Award. :P
>
> Hmmm... Personal attacks because of a couple of typos

In a flame. If you'd made the typos in a normal, constructive, on-
topic post I'd have let them slide.

[a bunch more insults, all of which are false]

You really need to shut up.

Twisted

unread,
Aug 6, 2007, 1:29:30 PM8/6/07
to
On Aug 6, 3:56 am, Owen Jacobson <angrybald...@gmail.com> wrote:
> If my posts are coming across as flameage, I sincerely apologize. How
> can I present the points I'm making (outlined below) in a way that you
> will not take offence at? And, if that's not possible, how can I at
> least convince you to accept their existence?

Perhaps you can't, and you shouldn't bother trying, especially in
public? Perhaps you are simply wrong on these particular points?

> POINT 1: I (and many others here) believe you see offense and flameage
> where none was intended

If you step on someone's toes, it isn't any less damaging just because
it happens to have been an accident.

> This is not guaranteed by the Swing API; it may create the EDT as soon
> as you instantiate a GUI component

Well that's very odd. Constructors with side effects? How naughty.
THERE's your bug. GUI components obviously shouldn't do anything
special until they become visible. Putting them in a visible container
(e.g. JFrame) or in the case of a top-level container (e.g. JFrame)
using setVisible(true) should be what hooks it into the system.

> POINT 4: It is only ever correct (as of this writing) to manipulate
> Swing objects from the EDT.

To the point of even only constructing them on the EDT? How
ridiculous. They should only even become accessible to the EDT once
made visible. If that isn't currently the case, then there's your bug.
And if the EDT is busily accessing GUI objects that haven't yet been
made visible it's wasting time. I thought you said these decisions
were made for reasons of speed? Not consuming EDT resources for
objects not yet set up and made visible should seem an obvious thing
to do for speed as well as other reasons. (Objects that had once been
visible might be another matter.)

> I would appreciate being corrected as
> quickly as possible even if I had not asked for corrections.

Would you still appreciate it if it were done very rudely and in a
manner that belittled you?

> Let me flip this around for illustration's sake. Let's say you[2]

> came here asking how to fr*bnicate

Now, now, this is a family newsgroup!

> apothecaries and someone replied
> with an example that followed a fairly common but incorrect pattern.
> Would you prefer that a second someone replied correcting the first,
> or to come away with an incorrect answer to your question? If you'd
> prefer the former, do you care *how* the first someone (who, in this
> case, is not you) was corrected?

Yes -- I don't like seeing unprovoked flamage regardless of who's the
target. And no, I don't consider having less than perfectly up-to-date
information to constitute provocation.

> POINT 5: I believe example code, by its very nature, is open to
> criticism in the interests of correctness, even at the expense of
> emotional investment.

At the expense of the person though? There isn't any reason to
badmouth the author whose code it is; it can't serve any productive
purpose. Saying or implying anything about the author at all seems
pointless.

> POINT 6: I believe it is in everyone's best interest to take
> criticism, no matter how clumsily or poorly presented, in the most
> constructive light possible.

What, pray tell, would then serve to discourage presenting criticism
clumsily or poorly? (Let alone with malicious intent?) What would
defend an unfairly maligned person's name, if they were not to defend
it themselves? Or would it be left marred by every single instance
where they happened not to be perfectly up to date on something, until
eventually ruined?

> "You shouldn't manipulate Swing components from outside the EDT" is a
> factual statement, regardless of the person(s) the pronoun "you"
> refers to. Often, "you" is a generic pronoun referring to "you, the
> reader", though I can see how in the context of Thomas Hawtin's post
> it could also be interpreted as "you, Twisted". Both are valid
> interpretations of the text.

"Manipulating Swing components from outside the EDT isn't recommended
for reasons of thread-safety" is a much more neutral way of writing it
that does not look like a personal criticism. And isn't much more
typing -- any more if you drop the "for reasons of..." bit.

> The statement is lacking an explanatory clause

See above; it may be beneficial to include the "for reasons of..."
even if it is extra typing.

> Participating in these groups eventually requires one to
> admit to owning or creating a problem, either intentionally (for
> discussion's sake) or accidentally.

I will never admit to anything when rudely accused of wrongdoing,
especially when accused of acting in bad faith. To do otherwise is
obviously stupid -- it hands the attacker victory on a silver platter.
If I'm going to be hung if I plead guilty to something I'm far too
intelligent to plead anything other than not guilty!

> POINT 7: facts über alles
^^^^^^^^^^
Error: undefined symbol.

Twisted

unread,
Aug 6, 2007, 1:32:49 PM8/6/07
to
On Aug 5, 10:09 pm, Mark Space <marksp...@sbc.global.net> wrote:
> I do agree that Sun ought to publish some sort of tech notes, with
> updates and information for Java software engineers. An email list
> would be fine.

A .announce newsgroup strikes me as a better idea (or both, with the
list gatewayed to the newsgroup, and the group moderated either way).

If it's available ONLY as an email list there's no way to lurk and
monitor the announcements without potentially exposing your email
address to spammers, and it's necessary to sign up, and do various
things to maintain a subscription when your own email moves (such as
due to the spam), and it's one more password to remember, and yadda
yadda yadda. A .announce newsgroup or even a blog (a WELL-PUBLICIZED
blog) would provide a place you can just "go", without any special
effort, and which continues to work without maintenance when you
change ISPs, move, &c.

Dag Sunde

unread,
Aug 6, 2007, 3:48:48 PM8/6/07
to

LOL

I Win...

--
Dag.


Twisted

unread,
Aug 6, 2007, 4:38:31 PM8/6/07
to

You are clearly delusional. Seek professional help.

Joe Attardi

unread,
Aug 6, 2007, 5:08:34 PM8/6/07
to
Twisted wrote:
> You are clearly delusional. Seek professional help.

Well, if all you have to shoot back with is "You really need to shut
up", then he kinda does win.

Dag Sunde slays the troll!


--
Joe Attardi
jatt...@gmail.com

Twisted

unread,
Aug 7, 2007, 12:11:11 PM8/7/07
to
On Aug 6, 5:08 pm, Joe Attardi <jatta...@gmail.com> wrote:
> Twisted wrote:
> > You are clearly delusional. Seek professional help.
>
> Well, if all you have to shoot back with is "You really need to shut
> up", then he kinda does win.

You are just as nutty as he is. I rebutted his latest round of insults
and he claims to therefore have won? Give me a break!

[insult deleted]

I thought you were calling it quits? You're such a liar. :P

Joe Attardi

unread,
Aug 7, 2007, 12:19:53 PM8/7/07
to
Twisted wrote:
> You are just as nutty as he is. I rebutted his latest round of insults
> and he claims to therefore have won? Give me a break!
How is "you really need to shut up" a rebuttal?

> I thought you were calling it quits? You're such a liar. :P

Don't call me names. Do I need to report you to your ISP?


--
Joe Attardi
jatt...@gmail.com

Twisted

unread,
Aug 7, 2007, 12:57:26 PM8/7/07
to
On Aug 7, 12:19 pm, Joe Attardi <jatta...@gmail.com> wrote:
> Twisted wrote:
> > You are just as nutty as he is. I rebutted his latest round of insults
> > and he claims to therefore have won? Give me a break!
>
> How is "you really need to shut up" a rebuttal?

It's not; it's a parting shot. The rebuttals were earlier in the same
post.

> > I thought you were calling it quits? You're such a liar. :P
>
> Don't call me names.

I have evidence to back up my claim, such as your promising to quit
and indeed to killfile me, which you evidently have not done.

> Do I need to report you to your ISP?

Of course not, nor would it do you any good anyway; calling someone a
liar, especially someone who *is* a liar, isn't against the terms of
service of my provider.

Joe Attardi

unread,
Aug 7, 2007, 1:11:58 PM8/7/07
to
Twisted wrote:
>> Don't call me names.
>
> I have evidence to back up my claim, such as your promising to quit
> and indeed to killfile me, which you evidently have not done.
>
>> Do I need to report you to your ISP?
>
> Of course not, nor would it do you any good anyway; calling someone a
> liar, especially someone who *is* a liar, isn't against the terms of
> service of my provider.
I think you missed the point there, I was making fun of your ridiculous
threats to complain to the ISP of anyone who is mean to you.

--
Joe Attardi
jatt...@gmail.com

Twisted

unread,
Aug 7, 2007, 4:29:04 PM8/7/07
to
On Aug 7, 1:11 pm, Joe Attardi <jatta...@gmail.com> wrote:
> I think you [snip insult], I was [doing something mean and off-topic as usual]

Yeah, yeah, we noticed, you arsehole.

> threats to complain to the ISP of anyone who is mean to you.

Eh? I only complain to the ISPs of people who cross the line into
violating terms of service, such as committing privacy invasion and
hacking.

Joe Attardi

unread,
Aug 7, 2007, 4:41:24 PM8/7/07
to
Twisted wrote:
> On Aug 7, 1:11 pm, Joe Attardi <jatta...@gmail.com> wrote:
>> I think you [snip insult], I was [doing something mean and off-topic as usual]
> Yeah, yeah, we noticed, you arsehole.
Apparently you didn't, since you responded to the post in full.

> Eh? I only complain to the ISPs of people who cross the line into
> violating terms of service, such as committing privacy invasion and
> hacking.

Let me buy you a seat in the first-class cabin of the clue train.
Here we go!

There is lots of evidence to suggest that you are Paul Derbyshire. All
of that evidence is in Usenet and mailing list archives, which are
publicly available. Available to anyone who does a search.

People who have started referring to you in here as Paul, Paul D, Paul
Derbyshire, etc. have done so by drawing a conclusion based on his past
behavior and your eerily identical behavior, etc.

So, they're drawing a conclusion based on publicly available information.

This violates nobody's TOS, and is hardly an invasion of privacy.

You are so clueless.


--
Joe Attardi
jatt...@gmail.com

Twisted

unread,
Aug 7, 2007, 5:17:06 PM8/7/07
to
On Aug 7, 4:41 pm, Joe Attardi <jatta...@gmail.com> wrote:
> Twisted wrote:
> > On Aug 7, 1:11 pm, Joe Attardi <jatta...@gmail.com> wrote:
> >> I think you [snip insult], I was [doing something mean and off-topic as usual]
> > Yeah, yeah, we noticed, you arsehole.
>
> Apparently you didn't, since you responded to the post in full.

This non-sequitur is your idea of a rejoinder? You're an even bigger
moron than I thought!

[several more insults, and claims I'm that Paul guy again, and a bunch
of bullshit]

[parting insult]

Go fuck yourself assface.

Joe Attardi

unread,
Aug 7, 2007, 5:21:56 PM8/7/07
to
Twisted wrote:
> [several more insults, and claims I'm that Paul guy again, and a bunch of bullshit]
If you aren't Paul Derbyshire, then I should let you know that he is
posing as you elsewhere on the Internets!

Take this email from the OpenOffice.org mailing list:
http://www.openoffice.org/servlets/ReadMsg?list=users&msgNo=117339&raw=true

In particular the From and Reply-To headers. Stop me if I'm wrong, but
isn't that Twisted's email in the Reply-To header?

> [parting insult]
The square brackets, they do nothing!

> Go fuck yourself assface.
Assface! I like that one. For someone who whines about namecalling,
you're doing an awful lot of it.

Twisted

unread,
Aug 7, 2007, 5:41:58 PM8/7/07
to
On Aug 7, 5:21 pm, Joe Attardi <jatta...@gmail.com> wrote:
[snip a whole lot of bullshit, insults, attempted invasions of
privacy, and even posting what appears to be forged email and evidence
of hacking]

FOAD.

Joe Attardi

unread,
Aug 7, 2007, 5:45:33 PM8/7/07
to
Evidence of hacking?! Forged email!? You're a loon, Paul!

News flash! I found it using Google. If it's publicly available through
a Google search, it's NOT AN INVASION OF PRIVACY!

--
Joe Attardi
jatt...@gmail.com

Twisted

unread,
Aug 7, 2007, 5:55:42 PM8/7/07
to
On Aug 7, 5:45 pm, Joe Attardi <jatta...@gmail.com> wrote:
> Twisted wrote:
> > On Aug 7, 5:21 pm, Joe Attardi <jatta...@gmail.com> wrote:
> > [snip a whole lot of bullshit, insults, attempted invasions of
> > privacy, and even posting what appears to be forged email and evidence
> > of hacking]
>
> Evidence of hacking?! Forged email!?

Well, it's not genuine, so forged, and the server it's on is not one
where I believe you have the authorization to modify files, so
hacking.

> You're a loon, Paul!

Stop insulting that Paul fella. He isn't even here to defend himself*,
you miserable fucker! How callous of you.

[a bunch of nonsense snipped]

You claim that just because you were able to deface someone else's Web
site and plant there "evidence" of your nonsensical claims, that this
somehow makes me wrong? Er, sorry, it doesn't work that way asshole.

*Well there's the *slight* chance that he's here under a 'nym
somewhere. Perhaps he's the mysterious Mr. X who posted about Eclipse
policy files, or MVB, or one of several other mysterious nyms. Or even
a false name. Given the nasty things you keep saying about him, it's
certainly not out of the question that it's Jack T. For that matter,
*you* might be this Paul fella. But the odds are high that he simply
isn't here. It's a planet of six and a half billion people while this
newsgroup has what, maybe 200 regular posters? And he's just one
random person.

Joe Attardi

unread,
Aug 7, 2007, 6:08:17 PM8/7/07
to
Twisted wrote:
> Well, it's not genuine, so forged, and the server it's on is not one
> where I believe you have the authorization to modify files, so
> hacking.
> You claim that just because you were able to deface someone else's Web
> site and plant there "evidence" of your nonsensical claims, that this
> somehow makes me wrong? Er, sorry, it doesn't work that way asshole.

You're implying that I hacked the OpenOffice.org email archive? Give me
a break. You're grasping at straws now, aren't you! You're resorting to
making completely libelous statements.

Furthermore, you are simply _claiming_ it's forged. You are clinging to
the delusion that you have a right to privacy online, so of course you
would say that.

You know and I know that nothing is forged, it's a farking mailing list
archive.

From the message headers:
From: Paul Derbyshire <reda...@rogers.com>
Reply-To: twist...@gmail.com <--- that's our boy!

--
Joe Attardi
jatt...@gmail.com

Twisted

unread,
Aug 8, 2007, 7:26:21 PM8/8/07
to
On Aug 7, 6:08 pm, Joe Attardi <jatta...@gmail.com> wrote:
> You're implying that I hacked the OpenOffice.org email archive?

No, I'm implying that you had it done. I very much doubt someone of
your less-than-stellar intellectual capacity could hack their way out
of a paper bag, but any dolt with a grudge and some money can hire an
online saboteur or mercenary of some sort these days.

> You're resorting to making completely libelous statements.

You're one to talk! You've been doing that very thing since day one,
and now you dare to accuse me of doing so?

[insults me once again]

Why aren't you dead yet? Nobody with a body as full of hate and bile
as yours should survive for very long; it's medically proven that that
sort of thing rapidly deteriorates everything from the cardiovascular
system to the immune system. You ought to be wheezing, feeling pains
in your left arm, and developing a few tumours at least, given the
sheer load of toxic negativity you seem to carry around with you. Or
does venting your spleen online prolong life under such conditions? I
really need to research that. :P

Joe Attardi

unread,
Aug 8, 2007, 11:53:31 PM8/8/07
to
Twisted wrote:
> No, I'm implying that you had it done. I very much doubt someone of
> your less-than-stellar intellectual capacity could hack their way out
> of a paper bag, but any dolt with a grudge and some money can hire an
> online saboteur or mercenary of some sort these days.
You know and I know that nobody hacked anything. The mailing list
archive speaks for itself, Paul. Stop with the bullshit about hacking
and just admit the truth, for once.

> Why aren't you dead yet?

Congratulations for sinking to a new low. Hoping someone dies because of
an argument online? That's awesome.

> Nobody with a body as full of hate and bile
> as yours should survive for very long; it's medically proven that that
> sort of thing rapidly deteriorates everything from the cardiovascular
> system to the immune system.

Are you a M.D. now?


--
Joe Attardi
jatt...@gmail.com

Twisted

unread,
Aug 9, 2007, 11:50:24 AM8/9/07
to
On Aug 8, 11:53 pm, Joe Attardi <jatta...@gmail.com> wrote:

[again incorrectly identifies me with that Paul person]

> > Why aren't you dead yet?
>
> Congratulations for sinking to a new low. Hoping someone dies because of
> an argument online? That's awesome.

Who said anything about hoping? I was simply curious, that's all. Mind
you, you've not given me very much reason to want you to stick around;
you're a thorn in my side. A little prick, so to speak.

> > Nobody with a body as full of hate and bile
> > as yours should survive for very long; it's medically proven that that
> > sort of thing rapidly deteriorates everything from the cardiovascular
> > system to the immune system.
>
> Are you a M.D. now?

Have been for years, dipshit.

Joe Attardi

unread,
Aug 9, 2007, 12:06:50 PM8/9/07
to
Paul Derbyshire wrote:
> On Aug 8, 11:53 pm, Joe Attardi <jatta...@gmail.com> wrote:
> [again incorrectly identifies me with that Paul person]
Explain then why your email address is Paul Derbyshire's Reply-To
address. And don't give me some bullshit about hacking; nobody hacked
the OpenOffice.org mailing list.

Secondly, why does your MySpace page http://myspace.com/twisted0n3 (note
the username, same as his email address) give your name as Paul?

Then there's Paul Derbyshire's Home Page at
http://66.39.71.195/Derbyshire/index.html. Specifically, about 2/3 down
the page: "In Quake circles they call me Twisted."

> Who said anything about hoping? I was simply curious, that's all. Mind
> you, you've not given me very much reason to want you to stick around;
> you're a thorn in my side. A little prick, so to speak.

You've stated before that you must defend your reputation so that
prospective employers wouldn't see you being a "floormat". You don't
care that prospective employers would see you asking someone "Why aren't
you dead yet?" and telling people to "fuck off and die"? Wouldn't THAT
keep someone from hiring you, too?

> Have been for years, dipshit.

Somehow I doubt that...


--
Joe Attardi
jatt...@gmail.com

Twisted

unread,
Aug 9, 2007, 12:25:54 PM8/9/07
to
On Aug 9, 12:06 pm, Joe Attardi <jatta...@gmail.com> wrote:
> Paul Derbyshire wrote:
> > On Aug 8, 11:53 pm, Joe Attardi <jatta...@gmail.com> wrote:
> > [again incorrectly identifies me with that Paul person]

Deliberately misattributing when quoting on Usenet is evil. Don't do
it.

[snip some repeated bullshit based on the forged emails and some more
bullshit about my nonexistent MySpace page]

I don't use MySpace. If there's a "twisted0n3" there it isn't me. It's
probably you, planting more "evidence" to support your vicious and
unjustifiable attack campaign.

> Then there's Paul Derbyshire's Home Page athttp://66.39.71.195/Derbyshire/index.html. Specifically, about 2/3 down


> the page: "In Quake circles they call me Twisted."

What a coincidence. In first person shooter circles that kind of
nickname is damned common -- I'll bet there are thousands of Twisteds
that play Quake. Note also no "0n3" at the end.

[what the hell kind of color scheme is that? And why would he host it
at a raw IP?]

[snip more insults, and a futile attempt to convince me that
"resistance is futile"]

If resistance is really futile and I'm fucked no matter what I do,
then I've nothing to lose by continuing to oppose you, right up to and
including with my dying breath, you piece of shit. On the other hand
if resistance is not futile I might actually win, you piece of shit.
So why don't you stick THAT up your ass and smoke it? You piece of
shit.

No matter what, you've earned a permanent enemy Attacki. You have
given me reason enough now to hound you and make your life a living
hell by whatever legal methods are available to me. If you're going to
destroy me and make my life a shambles, then I will do the same to
you. I'll drag you down with me. It's called mutually assured
destruction -- MAD, a perfect acronym if ever there was one. Keep up
your madness and before you know it you'll be up to your neck in a
kettle of boiling shit and I'll be the one stoking the fire. End your
attacks now and you might actually be able to get on with your life
more-or-less intact. Otherwise ...

See you in hell!

Joe Attardi

unread,
Aug 9, 2007, 12:49:54 PM8/9/07
to
Paul Derbyshire wrote:
> [snip some repeated bullshit based on the forged emails and some more
> bullshit about my nonexistent MySpace page]
They aren't forged. You know it and I know it. So stop lying.

> I don't use MySpace. If there's a "twisted0n3" there it isn't me. It's
> probably you, planting more "evidence" to support your vicious and
> unjustifiable attack campaign.

If you say so.

> What a coincidence. In first person shooter circles that kind of
> nickname is damned common -- I'll bet there are thousands of Twisteds
> that play Quake. Note also no "0n3" at the end.

Note also no "0n3" at the end of the username you post under here.

> [snip more insults, and a futile attempt to convince me that
> "resistance is futile"]

Huh? When did I say "resistance is futile" ?

> If resistance is really futile and I'm fucked no matter what I do,
> then I've nothing to lose by continuing to oppose you, right up to and
> including with my dying breath, you piece of shit.

Your dying breath? You need to calm down, seriously.


> On the other hand
> if resistance is not futile I might actually win

Win at what?


> No matter what, you've earned a permanent enemy Attacki.

Sorry, not my name.

> You have
> given me reason enough now to hound you and make your life a living
> hell by whatever legal methods are available to me.

You have zero legal methods available to you. I posted evidence of what
your name is... that is illegal?


> If you're going to destroy me and make my life a shambles

How am I doing this?

> you'll be up to your neck in a
> kettle of boiling shit and I'll be the one stoking the fire.

How can you accuse me of an attack campaign when every other word out of
your mouth now is a threat? Threats which are becoming more and more
serious.

> End your
> attacks now and you might actually be able to get on with your life
> more-or-less intact. Otherwise ...

I've had enough of your threats.

--
Joe Attardi
jatt...@gmail.com

Joe Attardi

unread,
Aug 9, 2007, 1:15:46 PM8/9/07
to
Joe Attardi wrote:
> I've had enough of your threats.

Since I wasn't clear on this, let me expand on it.
I've had enough of your threats so I am finally bowing out of this
discussion.
You've wasted enough of my time and energy.

Good riddance Mr. Derbyshire.


--
Joe Attardi
jatt...@gmail.com

It is loading more messages.
0 new messages