Giving an application a window icon in a sensible way

T

Twisted

Oliver said:

News to me. Some rare and endangered species of lemur in Madagascar, I
suppose, that's either more solitary or actually eusocial like bees...
As I've pointed out earlier, other people have posted here, being
"present", and not being submissive, and they don't get the responses you
seem to trigger.

That's because they're not newbies. It's only when someone at the
*bottom* of the pecking order asserts himself that the ones at the top
pick fights. (And when someone in the middle asserts himself around
someone that's higher up...)
Yet you consistently seemed to be getting these responses.

That's because I am a newbie, and those who adopt an alpha-monkey
attitude therefore pick fights with me. I have some training in this
field, you know, plus I've seen it elsewhere on the net, as well as
everywhere else where humans gather. The subtle put-down, or imperious
commanding attitude, comes first, as a test to the newbie; if the
newbie's response is anything other than "yes sir, no sir, three bags
full sir" or the equivalent the more overt hostility swiftly follows.
In a chat room, someone I hadn't even been directly talking to started
making remarks directed at me one time, ones which assumed a bossy
tone; when I continued to ignore him and talk to someone else he tried
to have me ejected -- evidently I'd failed to pay proper respects to
His Lordship the King of Turd Hill or something by talking exclusively
to other people; fact was, he didn't have anything interesting to say,
and I couldn't care less what turdpile he considered himself king of,
but as far as he was concerned, no doubt, I was a threat and challenge
to his authority, such that it was. On other occasions, I've seen
similar bullying/rancorous behavior in other Usenet groups, Web forums,
and offline -- schoolyards are one place you can generally find
numerous examples of such behavior, and without any confounding factors
such as financial, business, military, or other hierarchies placement
in which may have other factors.
Personally, I would conclude you must be doing something different.

It's called "being new". And, in particular, "being new and yet not
immediately acquiescing and saying you must be right and I must be
wrong the moment anyone suggests that I might not be right". Nobody
seems to like the latter especially, but it's that or be dishonest in
the cases where I honestly don't agree with King Poobah (or whoever).
You seem to be missing the point I'm trying to make. You seem to be
defending your actions to me.

No, I am describing what I mean by "challenged", a word which might
otherwise be misinterpreted. I'm not talking, for instance, about mere
disagreement, but specifically disagreement with an undertone of "not
only don't I agree with you, but I'm right and you're wrong and you'd
better jump when I say 'frog' from now on sonny" and things of that
nature.

Particularly, disagreement where if I say something, and someone else
disagrees, and I don't immediately say "Of course you're right, and
I'll never do that again", the "someone else" then becomes hostile. If
that occurs, it becomes instantly apparent that what's going on is not
merely a difference of opinion about some particular thing or even a
dispute that is factually resolvable with evidence favoring one side,
but a social game of some kind. Otherwise, why would anyone be
developing an angry tone or resorting to insulting their opponent -- or
viewing someone as their "opponent" at all, for that matter? This
isn't, the last time I checked, a contest of any kind -- well, I am not
setting out to create one. Others (not necessarily you) apparently do
wish to make some sort of contest of things though, and should be
advised that if they insist on having one with me, then I will play to
win and I am willing to fight as dirty as they are to do so...
I'm not challenging them, or deriding, or
anything like that. I didn't say what you did was wrong. I'm saying that
your actions have likely triggered the response you got.

Of course they did; we seem to disagree over the mechanism of this
triggering however. My actions, in and of themselves, you must admit
have been innocuous. Surely a refusal to accept someone else's advice
without question (while being willing to accept it conditional on
further information, evidence, or what-have-you) can't be a crime, can
it? This isn't, after all, some theocratic state whose orthodoxy must
not be questioned, right? I mean, I do hope this froup doesn't have its
own resident Taliban warming up their hot pokers and what-have-you to
put the infidels to an inquisition? Well, unfortunately, the evidence
is that there may be one or two wannabes contending for the Tin Hitler
of the Week Award(tm) hereabouts...

All I did, though, was respond to a suggestion with "yes, but"s, "but
what if"s, "I have a question, though"s, and "why"s, rather than
unquestioning acceptance.

Makes you wonder, doesn't it?

If this is the type
of responses you wanted, then great: you're getting what you want. If this
isn't the type of response you want, then you'll probably need to change
your actions.

Unfortunately, there are a couple of problems with that.
1. If I change my response to always be submissive, then I'm being
implicitly dishonest, since some of the times I obviously don't
actually agree with someone more "senior" here, or at least have
questions or reservations.
2. Those questions or reservations would never be addressed.
3. Widespread adoption of that type of subservient attitude of "don't
ever question your elders" stifles freedom of inquiry and is grossly
counterproductive in the long run. Doing so myself would therefore set
a bad example.
4. Bowing down whenever confronted, even when you don't think the
authoritarian behavior is legitimate or you do think that whatever
their authority, the person may not actually be right, teaches the
bullying types that they can push you around and get whatever they want
from you -- whether that's your lunch money or something more
important. As soon as you do that you have lost.

OK, more than a couple of problems.
It has nothing to do with right or wrong, only with cause and
effect.

Above see some effects of doing what the more pushy people here
apparently want. In particular, note that it still wouldn't satisfy
them -- the bully that gets you to say "uncle" comes for your lunch
money next; if they learn that you'll give them that, before long they
want your clothing, textbooks, or whatever else. Then they own you,
lock stock and barrel. This applies at every stage of life and in
pretty much every society, by the way, not just in grade school. Once
you give those types an inch, they take a mile.

Right now, one or two people here got really annoyed that I didn't
simply accept whatever they said unquestioningly and, instead, had the
sheer nerve to actually ask for some clarifications and to express
reservations and seek further information first. I can live with that
far better than I can live with being owned by those same personages.
Okay, so maybe if you STOP doing this, you wouldn't get the undesirable
responses you seem to be getting.

Stop doing what? Ignoring questions whose sole purpose is some kind of
entrapment, or which are at best irrelevant? I don't recall the group
charter being that a condition of help (or acceptance or whatever) is
that n00bs have to answer every question put to them. What if one of
them asks me for my credit card number -- I suppose I should trust them
with that, too?
I'm telling you "Stop perceiving things as being personal attacks."
You're responding "But they *ARE* personal attacks!"

Can you see the circularity of this?

What I can see is something I have no reason to trust -- after all, one
of the things people sometimes do is to make jokes at the expense of
some poor idiot, then if the idiot gets offended, convince the poor
idiot that they're laughing with, not at, him, or something of the
sort. All the while chuckling behind his back.

It should have occurred to the people considering such behavior that it
is highly improbable that anyone posting to comp.lang.java.programmer
is dumb enough to fall for the old "I know that *sounded* like an
insult, but it really isn't" routine. :p

For the record, I will indicate some things that I consider to qualify
as implicitly insulting (I assume that what's explicitly insulting
isn't in dispute):
* Any suggestion that someone is of subnormal intelligence, even
implicit
* Openly referring to anything as a "dumb idea" unless it's truly,
spectacularly, indisputably dumb, like Bush's foreign policy.
* Disagreeing with someone contentiously (i.e. "you're wrong" as
opposed to "I disagree") except where it's a clear, easily decided
factual question (so, "you're wrong" is a fair response to "2 + 2 =
5").
* Any suggestion that someone is inadequate in any way, e.g. that they
"should know" or "should have known" something or that "everybody
knows" this, that, or the other. Obviously, they didn't know.
Automatically placing the blame for that with the person, rather than
considering that maybe what you consider "obvious" isn't obvious to
them, or what's well known to you and a bunch of your associates isn't
widespread household knowledge, and considering that their google
searches may not have turned anything up, that the "obvious" search
query to you or to anyone who already knows the answer might not be so
obvious to someone who only knows the *question*, and that they might
not have performed any searches because it never occurred to them to do
so because they didn't even know that whatever it is you think they
should have searched for was even out there, or that it was relevant to
their particular circumstances, or what-have-you.

That last one is of particular significance since it seems to occur
frequently in technically-oriented newsgroups, and it often seems to be
unintentional -- a chronic "sigh, more stupid newbies" attitude problem
rather than arising from hostility directed specifically at just one
individual. There is frequently a patronizing attitude whose underlying
assumption appears to be that anyone who didn't already know X is ipso
facto a moron and that trumpeting one's suspicion of someone's
moronhood loudly and in public is somehow a good idea. A remarkable
fact is that every one of the patronizing arseholes that behave this
way was, at one time or another, a newbie his- or herself; not that
you'd ever guess from the way they act! It usually goes along with an
attitude that they should command instant and unquestioning respect,
even from someone who doesn't know them from Adam yet. Actual overt
hostility frequently arises from this personality type if it dawns on
them that one of the latest crop of n00bs is, in fact, failing to
behave as if they walk on water or, worse, outright questioning them or
asking for clarification or expressing reservations about something
they suggested.

As for this particular thread? I can't recall any specific examples
word-for-word, but there were several thinly-veiled "only an idiot
would do it that way"s implied at one time or another, as well as some
less veiled, though still implied, contentions that I was woefully
inadequate in my use of Google, mainly because it failed to occur to me
to try queries containing "applet" while develping a standalone
application and so forth.

One thing I notice that no-one has addressed was a point I raised
yesterday about the woeful inadequacy of the search engines themselves.
It remains true that it's much easier to find an answer with a search
engine when you know the answer than it is when you only know the
question, and that, in the latter case, it is not always even possible.
It follows that someone's failure to get an answer (or their getting an
answer, but not the one you consider to be the "right" answer) using
Google (or MSN or whatever) isn't probative when it comes to judging
them on charges of first-degree stupidity; it's very likely the case
that they are innocent of such charges if they only knew the question.
Especially as there are many ways of phrasing most questions, and
search engines tend to give very different answers for some of the ways
of phrasing the very same question.
So just don't defend them.

When they are attacked, I have no choice; otherwise I appear weak, not
to mention stupid. Silence suggests assent, after all, so if I just
meekly go away (or worse, make an instant 180 degree change of opinion)
the instant I'm disagreed with, I might as well change my handle to
"floormat" and hand over my lunch money pre-emptively before they beat
me up for it first, now that I've told them they'll get it from me
eventually.
You posted your solution. Someone posts "Here's a better way to do it."
You read it, say "Ok" (either to yourself, or make an actual post saying just that), and
then go on, living your life.

This is such spectacularly stupid advice that I'm afraid I once again
suspect you may have ulterior motives of your own. After all, if you
intend to take advantage of me, it's to your advantage to convince me
to meekly accept everything without question, no matter what I think or
what questions or caveats occur to me about whatever is suggested.
If you reply "Well, no, my idea is better because...", then expect to get
more replies saying "Actually, no, *MY* idea is better because..." and so
on.

False dichotomy, and a review of this thread will show that I never
said "Well, no, my idea is better because...". My response was more
like "Your idea sounds like it might involve extra work, and have these
possible problems, care to clarify?" along with "My idea is clearly
sufficient for this particular case, while yours may very well be
superior for a larger or more general case but in this instance it
would amount to swatting a fly with a small nuclear device".

At no time did I claim "my" idea was universally better; only that it
wasn't universally worse. One thing I did do was ask for additional
information, and question certain aspects of "your" idea that I wasn't
sure wouldn't introduce complications. Oh, and that "my" idea was the
first thing to come up in my Googling, before any hint of "your" idea,
a fact that might indicate inadequacies in current-generation search
engines more than it indicates that either idea is "better" or that I'm
"too stupid to use Google properly" or whatever it was one of the
nastier responses suggested.
You can't control what other people post on Usenet. All you can do is
ask a question. If someone gives you the answer you want, then great. If
not, then hey, you're no worst off than before, right?

Unfortunately, if some of the responses are hostile, then I am, since
there are now public allegations about me that are in need of a
rebuttal of some sort or another (silence indicating assent, it is not
a viable option in such cases). The minimum consequence is that I waste
time putting out fires that I could spend coding or whatever. The
maximum consequence is that I miss one, and someone reads something
negative about me without reading a corresponding refutation and begins
to believe something false and unflattering about me that they might
not have, given the missing refutation to consider as well. Possibly
many someones. At the same time, whoever launched the bomb that got
through now knows they can poison other people towards me. If I
actually ignore the whole lot, or even worse, cop to whatever they
accuse me of (including implicitly, by doing an instant about-face when
anyone suggests I'm wrong or whatever), then whoever did it owns me and
knows it.
Are you referring to my posts as an informal remedial training?

No; I am referring to those posts that implied that my knowledge of
(name one: Java, programming in general, search engines) is in some way
inadequate and any that adopted a lecturing tone. (The same awful tone
I've seen used way, way too often in all technically-oriented groups,
that of the parent lecturing a small child or the teacher a
particularly slow student. You know the tone.)
Again, you arguing with me using logic.

Of course I am. We are seeking to discover truth and to engineer
sophisticated tools here, not to sweep the next gubernatorial primaries
or whatever.
I'm telling you that no matter
how logical your arguments are, that does NOT change the emotional impact of
your choice of words. You're surprised by the reactions you're getting on
this newsgroup, right? I'm trying to explain to you why you got the
reactions you got so that you won't be so surprised in the future.

This is an odd thing indeed to be telling me, when I am the one
pointing out that other people putting undertones of patronizing
tolerance-of-the-stupid-n00bs and the like into their posts are putting
people off even deigning to ask questions around here. I, on the other
hand, have done nothing of the sort -- when there has been emotional
content in any of my posts, it's either been surprise about something
or disappointment in some continued misunderstanding or continued
hostility. Yes, that has included incredulity at being apparently
expected to take certain posters' advice on faith and never dare raise
questions, however honestly. As well it should.

Or are you claiming that the mere *fact* of saying anything like "yes,
but" or "won't that add xyz complexity/work/overhead?" constitutes
something with an "emotional impact"? I suppose the emotional impact of
"Holy Christ, not only didn't he simply bow down and kiss my feet, he
actually had the nerve to QUESTION ME!" -- in which case it will only
have that impact on precisely those people for whom such an impact is
richly deserved, in my opinion.
I'm trying to share this revelation with you, so that you will
understand why, although we'd both rather it not be the case, sometimes you
*DO* have to factor in emotions to explain human behaviour.

Explain it, yes. Control it, certainly, if that were my goal; however,
it is not.

My goal was simply to answer a particular question. It has since
changed, now being to extricate myself from this whole mess with the
general belief maintained that I at no time did anything wrong, nor is
my IQ abnormally low, nor any of the various other things that have of
late been suggested or implied. I have also been endeavoring to further
understand the phenomenon that this sort of crazy response pattern
embodies; and in this particular instance, to find out what precisely
my critics think they would have done differently in the same position
I was in. (So far, the responses there amount to a couple of Google
queries that they would not really have used in the same exact position
I was in, with the same knowledge I had at that time, as these queries
were clearly contrived with hindsight or otherwise contained query
terms no reasonable person should assume would ever have occurred to me
-- "applet" being just the most egregious example of such a query term.
So, regarding at least the trumped-up charge of Google incompetence, so
far I'm Teflon...)

One thing I would certainly like to know: what emotions, aside from
indignation at being treated as an equal, prompt behavior like this?:
* Criticizing someone you don't know from Adam within minutes of first
meeting them.
* Even when pressed, not providing any sensible response to the fairly
basic question of what you'd have done differently in their place in
the same situation knowing only what they knew.
* When the original matter seems to have been resolved, continuing to
pile on the person.
* Criticizing them even after they claim to have solved their problem
without your supposedly-indispensable help.

Well, the latter isn't actually hard to understand -- it must be deeply
threatening to someone with a certain personality type to find that
someone has, in fact, gotten away with *not* using their advice and yet
had a positive outcome. Why, if everybody else did that ...!

One irony is that the advice in this instance is probably actually
superior for a large class of situations, just not for the specific
case that arose this time...
You're surprised that you had to be on the defensive, right?

More like "disappointed". Nothing surprises me on Usenet anymore.
I'm not. Do
you want to know why? Then listen to my advise. Don't dismiss it out of
hand, because of some perception that I'm with "them" and therefore
"against" you. You don't have to agree with my advise, just listen to it.
Really think about it.

[Error on first token of next line: > found where constructive
suggestion expected. Construct incomplete. Parse terminated.]

Oops. Looks like you have only half of a control structure there. You
forgot to include the next couple of lines where you explain how you
would have asked the original question differently, and once some
arsehole popped up and told you what an idiot you were for googling the
subject some more and then going ahead and doing it yourself instead of
waiting sixteen hours for them to get around to climbing up onto their
high horse and telling you the correct way to do it, what you would
have said back to them.

And it better not turn out that the latter would have been "Yes sir,
sorry sir, won't do it again sir, oh, and do you want fries with that?"
:p Not when it's since become apparent that I had perfectly legitimate
questions about the suggestion in question, for instance regarding
whether it would introduce certain problems of its own that I could
reasonably foresee weren't out of the question for instance.

OK, let me ask you a fairly direct question.

Suppose you were in the exact situation I was. Suppose the following
had happened:
1. You'd had a particular question arise regarding how to.
2. You'd googled it and found nothing that appeared to be relevant.
3. You asked here.
4. After some hours went by without a single response (in a group that
usually generates dozens of posts an hour), you googled some more and
tried some more exotic queries and found something that appeared to
describe what you wanted to accomplish.
5. With some adjustments, you made the solution fit, and it actually
worked as planned.
6. You returned here to report "nevermind, I found this and it seems to
work adequately for this case".
7. The immediate response (in much less than one hour) is clearly and
strongly disapproving of the method you used, and by extension of you.
It mentions an alternative method that you know relatively little
about, with the implicit assertion that you should know all about it
too and if you don't already then you're probably a moron. Implied is
that you should immediately rewrite your code to use their suggested
method, even though the code currently works, with the vague impression
that the so-and-so telling you this believes that if you don't change
it right that instant your computer might catch fire or something.
8. You consider the alternative method, and a moderate number of
questions occur to you, particularly regarding the ways that its
implementation might complicate your project relative to how it is
currently set up. In particular, the method seems likely to complicate
the build process, although that may be a complication your build tools
can automate for you. Nonetheless, at minimum it requires learning
additional features of your existing build tools, possibly even some
whole new build tools, and not just a bit of API here or there; it may
also involve complicating the startup of your app with additional error
recovery and other nuisances. As such, for your particular current
circumstances, you're rather dubious that it's worth it, and for the
longer run, you'd like to know more before accepting (or rejecting) the
suggestion to use for similar purposes in the future.
9. So, it comes time to respond to the surprising and hostile message
you received...

What do you do?

How, exactly, would you have responded, and what differences from how I
responded would you consider significant? Keep in mind that "no
response" is not a valid solution, since a) it would clearly fail the
objectives of discovering more about the possible complications and
determining the information relevant to a risk/reward tradeoff when
choosing between the two options in the future, including when choosing
whether and under what circumstances to change the current
implementation, and b) it sends the clear signal that people can treat
you like dirt and you'll just let them walk all over you. Also, you
can't say you'd just go and change the code to implement the other
suggestion -- keep in mind that not all the details of exactly how to
do so without causing new problems were not even disclosed to me until
earlier today, and that it's cheating to assume any knowledge of the
alternative proposed solution. The person who in a
less-than-perfectly-diplomatic post told you you were doing it wrong
and how to do it right didn't actually tell you how to do it in any
real detail; it is more like they merely named their method and little
else. You may assume that the API side of making their solution work
can be discovered with Google at that point, and you may not assume
anything else about the solution, because you aren't supposed to
actually know. I didn't, in the circumstances in question, so any
suggestion of something I "should" have done differently that I
couldn't have actually done without knowledge I didn't actually have is
clearly worthless to me, and will be if a similar situation arises in
the future involving a different "at least two ways to do it" problem
and a vaguely specified second way to do it.

So, please now state for the record what your response would have been,
and how you expect it to have produced a less hostile response, while
nonetheless a) discovering the needed information vis-a-vis
implementing their suggestion with a minimum of fuss, and how much
additional fuss was unavoidable with it and b) ensuring that it was
crystal clear to every witness that you were in no way acceding to the
various suggestions that you were ...

No, nevermind.

This will never work. In fact, by the time the first response arrived
it was already clearly far too late.

1. I asked a "how to" question -- first googling, then posting here.
2. Hours went by without a reply.
3. More googling.
4. Found something.
5. It worked.
6. I posted back here that I'd done xyz, which had worked.
7. Lambasted.

At step 7, failure to avoid being on the defensive had already
occurred, which means that at step 6 it was already unavoidable. Which
means that if there's anything I should have done differently, it's at
step 6 (or maybe step 1).

Unfortunately, close analysis of both steps fails to reveal anything
obviously flawed.

Let us actually examine the relevant postings, items 1, 6, and 7 above:

First, the initial question.
Hrm. How to go about doing this?

I want to give a Java application a window icon in a manner that is
independent of how it is installed, etc.

The trick is obtaining an Image object for myJFrame.setIconImage().
Loading it from a URL means it won't work without a working network
connection, and I need to host the image somewhere. Every copy of the
app running anywhere in the world will, on startup, hit that host with
a request for the file(!). Loading it from a file path requires a
separate installer that sets the image into a specific directory.
Putting it in a JAR file with the app means learning a big new chunk of
API, plus it won't work when running in the development environment
rather than as a standalone executable JAR.

This suggests doing the ListMessageBundle sort of thing, and somehow
packaging it as a class -- an Image subclass, presumably. Is there a
tool for turning a jpeg, gif, or png into Java source code for an Image
subclass that will, when instantiated, behave as the appropriate jpeg?

I don't have the google-fu to find this -- searches for queries like
"image resource class java" didn't do much for me. Damn, we need *real*
natural language search. :p

I fail to see anything "emotionally wrong" with the above. It provoked
a "you idiot" response all on its own, as I recall, regarding my use of
"URL"; admittedly I might have been clearer that I meant an internet
URL rather than a local-file URL, which I covered separately under
"Loading it from a file path...".

In fact, I seem to have anticipated that there'd be something
resembling getResource as an option, but that it could introduce
complications, particularly when the time came that it had to work
identically in the development environment and when deployed. I even
recognized that there might be two approaches, comparable to putting
string resources in either a ListMessageBundle or (implied) a
PropertyMessageBundle.

Now, perhaps, was the time for anyone who favored the latter to say it
and explain how to do it without introducing the complications I sought
to avoid introducing. Unfortunately, nobody did.

So far, I don't see any fault in anything I did, or any thing I might
have done differently. Waiting longer for some sort of a response could
very well have meant waiting anywhere from another two minutes to
another two whole days, or even eternity, and obviously I had no way of
knowing in advance which. So it's also clear that after some amount of
time, if I hadn't seen a response I'd have to take further proactive
steps. So my proceeding without waiting longer for a response can't be
faulted either.

Step six:
Anyway I found something interesting. My google-fu isn't as weak as I
thought -- I was eventually able to dredge up a way to encode icons
into a class file.

<technical details snipped -- it's safe to say those have none of this
so-called "emotional impact">
But it actually works, and the source code is completely
self-contained, without requiring any extra files besides the .java
files. Which is what I was hoping to accomplish.

Thanks anyway. :)

I don't see much of anything to complain about here, either. There were
a couple initial responses that arrived between my getting it to work
and my posting the above quoted material, which mentioned getResource.
I'd already made it work in under 20 minutes, and those arrived while I
spent a further hour or two messing around in photoshop and testing
various things to get the effect I wanted with the image's detailed
structure.

The posting I then made basically just says I solved my problem.
Nothing seems to be questionable -- for instance, I don't see anything
to suggest an attitude of "nyah nyah, did it without you lot!" or
anything of that nature, in case that's the sort of no-no you were
thinking I might have committed.

Next replies are fairly innocuous. On the one hand we have:
What's the advantage of this approach compared to using getResource?

which does however imply two dubious things:
1. There is a sense that the poster thinks I've done something either
wrong or at least questionable.
2. There is the impression that the poster thinks I read the earlier
post and ignored it, when in fact that post didn't arrive until after
I'd found and applied the other approach. (It had arrived before I
*posted* mentioning that I'd gotten it working.) Moreover, there is the
impression that the poster thinks I either should have read that post
(i.e. waited for it and not gone ahead and done anything on my own) or
that I shouldn't have ignored it (I hadn't).

Already the downhill slide of the thread is evident, and my conscience
is clean as a sheet.
Wouldn't it be MUCH easier to put gif/jpg/png files directly into the jar...

Implies I have a jar, or even that if I don't I *should* have one. This
may merely reflect a misconception that I was further ahead in
development than I was, and had packaged something for distribution and
beta-testing already, or whatever.

But by this point it's already too late anyway. The two replies quoted
there indicate that avoiding having to defend my code was already a
moot point at that time. Particularly "Wouldn't it be MUCH easier...".

So, I think I have determined that there is not anything I should have
done differently. It was not possible for me to avoid this situation.
There is nothing with an "emotional tone" in my postings up to that
point that could possibly be in any way provocative of hostility. In
fact, as near as I can figure, the causal chain was quite simply:

* I find method A using google
* I apply method A
* I mention applying method A
* Because I didn't apply method B, people promptly attack my choice of
method A, ignoring the fact that it wasn't actually much of a choice
because at the time I had not been made aware of method B.

There only seem to be three ways to avoid it, two of which are
dependent on luck:
* I could have happened to stumble onto method B before A, instead of
the other way around.
* I could have waited longer for replies before forging ahead;
ultimately, it was a roll of the dice, both how long before the first
reply actually arrived and how long I'd wait at a maximum before
forging ahead without seeing one.
* I could have kept mum about the method I found and applied, and
simply stopped posting to the thread well before any questioning of my
choices occured in it.

The third option is the only one not dependent on luck, and it instead
requires what I would consider to be bad netiquette:
* Keeping a solution to yourself;
* Not telling people that have heard a question from you that they can
safely quit working on answering it as it's a moot point.
I might add that the thought of *not* disclosing when and how I'd
solved my problem had not even occurred to me, nor do I think it should
have, let alone that such behavior should be rewarded. Yet by
comparison with what we now, with 20/20 hindsight, know was the only
alternative, it is evident that such behavior *is* rewarded around
here! Not good, and indicative that there are problems here that
clearly are not in any way my responsibility; I am in fact just the
messenger who (inconveniently, for some) exposed these problems.

There's a sort of fourth option, never posting anything about this
particular problem to this group in the first place, but again, I was
bound to eventually if I didn't find a solution independently in a
certain amount of time. In fact, it's another luck-dependent option
similar to the second one above: on the one hand, how quickly I manage
to turn up something relevant with google or other research methods; on
the other, how many fruitless attempts at same (or how much time spent)
before resorting to posting to usenet. If the former had been faster or
the latter slower by enough, the situation might again have been
completely avoided, but again that was always going to be a roll of the
dice.

Ultimately, there seems to have been nothing I should have done
differently, and only one thing I could have done differently, which
was never to give any detail of any solution I came up with (lest it be
criticised). Once I did give any such information, if someone chose to
attack it, the goal of avoiding being put on the defensive would be
thwarted; the ability to ensure against that was out of my hands at
that point.

It seems the choice was between bad netiquette and being potentially
attacked, then. And that means that the real problem here isn't me or
my "emotional impact" or anything of the sort at all; it is people who
respond to earnest and honest posters with hostility and criticism, and
who thereby punish good netiquette and in effect reward bad netiquette.

Well, I suppose they don't see it that way. They think I should have
done the *fifth* option, which was to know all about their method and
use it in the first place and either never bother them or ask the
question I asked but then post all about how I'd discovered the
solution they like and applied it.

Of course, this was never actually an option at all, given the
information I actually had at the time and the luck of the various
draws with Google. Far be it from them to see that though. In fact,
they clearly don't think that anything is wrong with someone being put
on the defensive, for that matter, and are probably quite happy with
the way things *actually* turned out, even if they're the only ones.

My response to anyone (not naming names, and besides, this way I
include lurkers and those who kept their mouths shut in this particular
instance) is simple: if people asking questions here or coming up with
and then disclosing their own solutions here really, really bothers
you, then I suggest you leave. If you don't post or even read cljp
anymore they won't bother you that way anymore. I guarantee it. And you
should note that by responding to them by treating them like you think
they're idiots instead, you are not helping them or, in the long run,
yourself or anyone else.
I don't have much to add. I just want to point out that it's not
unlikely that you may have found a bug. Once again, I'm have no disagreement
with this. 1.6 is in beta, and so it probably has bugs. If I were King of
Usenet, I'd say everyone is allowed to claim that they found bugs if they
wanted to, and no one is allowed ot hold that against them.

But I'm not King of Usenet. I can't control how people react to your
post. But I can observe it, and share my observations with you. My
observations is that people don't react well when you claim you've found a
bug.

Even when I don't actually do so, but merely indicate that the
possibility has occurred to me. Even when it is in beta software. Even
when it is in fact an apparent regression against the previous version.
Even when all of the above.
Don't claim you've found a bug.

Ever? Not even when the behavior is observed to have appeared with a
new version? Even when that new version is a beta? Even if I only claim
that I "might" have found one?

You are asking me to be dishonest, and that I won't do without a far
better reason than because someone professes "I don't like it when you
do that". Certainly not when the reason given is "Someone else doesn't
like it when you do that". Secondhand hearsay is inadmissible, I'm
afraid. :p
Abstract the details, and the advice [quoted from the jargon file] applies to
this usenet group as well, IMHO.

If so, then my saying there "might" be a bug when I've observed a
regression in beta software certainly seems to be legitimate.

Moving on, now...
So do you think I'm "against" you, or "with" you?

Your behavior is inconsistent with either, and not perfectly consistent
with "neutral" either. On the one hand, you implied that I might
possess subnormal intelligence, which lands squarely in column one.
Your continuing this insane thread itself lands in that column. A
couple of statements have landed in column two, and the majority in
column three, including polite disagreement here and there. However,
you still seem to perceive that there's something I'm doing incorrectly
here, and since there isn't (the most detailed refutation yet is given
above) there are problems classifying your stance as "neutral". There's
also the "so stupid, it's unbelievable" advice to accept everything on
faith that is said by an authority figure around here -- ridiculous in
a secular democracy, doubly so in a science-and-engineering context,
and downright ludicrous in an unmoderated Usenet newsgroup, seeing as
a) there's no such thing as an authority in one of those and b) even if
there were, there aren't any badges, uniforms, rank insignia, or other
cues to go by, and I don't know most of the people here from Adam. I
suppose I should just assume that *everyone else* here is an
"authority" for the purpose of deciding who to instantly believe and
who never to question, just to be sure? :p

It was that last occurrence, which was earlier today, that disqualified
you from an "apparently neutral" designation. You appear to be playing
your own game here, although it's admittedly a subtle one, and
apparently more so than those of most of the others that are playing
any sort of game here at all. Unless that really was just a momentary
lapse of judgment. Still, if so, it was a remarkable lapse indeed. In
case you forget:
You posted your solution. Someone posts "Here's a better way to do it."
You read it, say "Ok" (either to yourself, or make an actual post saying just that), and
then go on, living your life.

This was what you suggested. Basically, "Assume that everybody else in
the world is right and you are wrong whenever you don't agree with
someone else". If everyone took the same advice, we'd still be living
in the stone age; progress would be impossible. The reductio ad
absurdum of this "advice" is to trot out the usual suspects: Galileo,
Copernicus, Einstein ... All of them overturned a paradigm; all enabled
some new progress; all of them would have failed utterly if they had
been taught to never, ever, ever, ever dare question anyone who
disagreed with you and to just believe anything else anyone ever said
(or even just to never suggest any alternative publicly).

Now this is not to suggest I'm some Galileo, and the people
recommending getResource are flat-earthers. Clearly they are nothing of
the sort, and I don't doubt that getResource has its uses, and plenty
of them to boot. What I do doubt is that anyone should honestly
recommend that people never question others or express doubt in what
they said, or even just that they shouldn't doubt those who claim
authority.

But then, that isn't what you said, is it? You said that *I* shouldn't
question those who claim authority, rather than that nobody should. Why
is that -- am I somehow ineligible to do what I've heard is actually
the duty of everyone in a democracy? That would suggest that you
believe me to be spectacularly incompetent in some way, rather like
suggesting that someone is too stupid to be allowed to vote or
something. If so, you can't claim to be "neutral" while holding an
obviously hostile opinion of me, now can you? On the other hand, if you
were really hostile, it would be rather dumb of *you* to use something
that might trick a three-year-old but will just alert anyone else to
possible ulterior motives. Well, then again, if you do believe me to be
really dumb, you might be forgiven for thinking I'd fall for something
that silly ... but then again, maybe it was something you honestly
believed.

Damn. Now it's starting to look like *you* can safely be accused of
being dumb, without much likelihood of being wrong. Either you said
that honestly believing it (dumb!) or you said that thinking to trick
me and thinking I might actually fall for it (dumb!!) or you said
something that came out extraordinarily different in meaning from
anything you even intended (dumb!!!) ...

Perhaps you can enlighten me as to what you really intended with that
particular piece of "advice". Then I can better classify you. (As to
intent/neutrality, as well as IQ).
Either way, you'd be
wrong. I'm neutral. I'm providing what I consider to be good advice to you,
just like I try to provide what I consider to be good advice to everyone
else who posts on comp.lang.java.programmer and for which I believe I
actually know the solution. And I don't particularly care whether you accept
that advice or not, just like I don't particularly care whether anyone else
in this newsgroup accepts the advice I give them or not.

This raises two issues. One is the claim that you consider the thing I
quoted above to be "good advice to me". Do you honestly believe it is
best for me to keep my head down and meekly accept anything I'm told by
anyone who puts on airs? The other is the use of the phrase "...believe
I actually know the solution". It implies a belief that there's always
exactly one solution, when in fact there's frequently several (most
problems) or none (the halting problem comes to mind).
Thank you.

It's a little late for that. Instead of ignoring them, you criticized
them; and then you didn't even take the hint that you should have
ignored them if you didn't like them (and that, since you didn't, you
should apologize). :p
Tried e-mailing google?

See the bit of the material you quoted that mentions a black hole.
That's the username they post under.

It's actually "PofN", rather than something else that you contracted to
that in the (incorrect) assumption that I'd nonetheless know who you
were talking about and be able to (how? Magic?) reconstruct the long
version?

Come on. I know usenetters, and if there's one thing they love to do
more than baffle you with bullshit, it's aggravate you with acronyms,
half of them made up on the spot and the rest still unintelligible to
most people even with some educated guessing and a google search or
two. Which of course lets them separate out the cognoscenti from the
rabble, so they can ensure they insult and mistreat every last one of
the latter without any danger of a friendly-fire incident occurring
among the former. (As soon as you see an unfamiliar acronym, you've
already lost -- if you ask what it is you get flamed; otherwise, you
either don't know or you waste time searching google and still don't
know, and the fact that you don't know will quickly become evident, and
*then* you get flamed. Short acronyms are the worst -- googling those
will invariably turn up sixty different things they can mean to
different people, and the contextual clues that might help you guess
which are probably locked up in other acronyms you'd have to crack
first, creating a classic chicken-and-egg problem. Only the
bog-standard LOL, IMHO, etc. are at all safe...)
The teacher tells the story of an old man who walks down a road with
lots of small sharp pebbles, and as he steps on these pebbles, they cut his
feet and cause him pain. The old man has some sheets of leather, and if he
places this leather between his food and the rock, the rocks aren't able to
penetrate the leather, and thus cannot cut his feet. Unfortunately, the old
man does not have enough leather to cover the entire road. What should he
do?

The student is supposed to respond that he could wrap his feet in the
leather, thus making shoes. And this is supposed to teach the student that
it is far easier to change yourself, than to change the world around you.

It's impossible to avoid being insulted if the insults are unprovoked,
if "don't provoke the insulters" is what you mean to suggest. See
above, where the only provocation needed was, apparently, to post to
the group. Nothing else, such as to actually say something rude or
controversial or even something questionable and outrageously so. In
fact, it is quite clear that even if you restrict your posting to
good-faith, honest, largely logical content with little emotional
content and no harmful intent of any kind, you may nonetheless be
insulted in reply. Whereas that's to be expected in places like, say,
alt.flame, it's rather disappointing here.
People are insulting you, and you don't like it. You could try to
convince everybody to stop insulting you, or you could just ignore the
insults. Both solutions work, but one requires much more time, energy and
effort than the other.

Eh what? No, you seem to have misunderstood. The options are to avoid
the insults even being said or to rebut them. Ignoring them is
emphatically not an option, since silence implies assent. Or have you
forgotten that part?
I can explain to you how I arrived at that impression: You are
criticizing the "standard" solution, citing your solution as being superior.

This is not only false, it's a complete joke. At no time did I do
anything of the sort. I asked about various things that occurred to me
as possible problems with the "standard" solution, and I pointed out
specific advantages of "my" solution (which do not in any way imply it
to be superior -- a few ticks under the "pro" column does not mean
there aren't even more under the "con" column, after all).

I am starting to suspect, however, that people honestly believe that I
believe what you are saying they believe I believe, and that they
actually do think that my putting a couple ticks under a "pro" column
means I've decided that choice is superior already. If their grasp of
even the most basic rules of logic is as terrible as you suppose,
though, then WHAT THE BLAZING HELL ARE THEY DOING IN comp.*?!
Logically, someone who can't tell the difference between putting some
entries in a debit column of a ledger and actually being in debt should
probably be unable to program his way out of a paper bag.
If you really want to know why, first I advise you to read some of the
other posts, and see if you agree with me that most of the time, people
don't sling disapproval around so much.

What other posts? I'm not reading the 5000 a day that get posted here
just on your recommendation; I have far too many other demands on my
time, and this froup, of late, is already consuming rather more than
its fair share.
It seems to happen mostly to your
posts. If you agree with me on that, then consider that you maybe you're
doing something different compared to all the other posters.

Yes, I'm actually asking questions when they occur to me and asking
about possible caveats or other consequences when *those* occur to me,
apparently in direct contravention of standard procedure (but in direct
compliance with common freakin' sense). I think we already established
that. Now we're going in circles.
You're right. They shouldn't, and it probably does not serve any useful
purpose.

In other words, you finally agree with me that I've done nothing wrong?
Hooray!
But does that mean they'll stop? Probably not. So once again, I'm
suggesting that it's far easier to just shrug off the disapproval than to
try and convince everybody who's disapproving to stop doing it.

Unfortunately, it isn't that simple. Incorrect disapproval in front of
third parties must be counteracted in some way. Otherwise, the
attackers succeed in what is undoubtedly their principal objective,
which isn't to convince me (or they'd have settled on agreeing to
disagree with me on some points by now), but to convince some audience
of theirs that I'm an idiot. Once someone is making an effort to do
something like that, it becomes necessary for me to make an equal and
opposite effort, so that the effects will (roughly, at least) cancel
out. (This can take two forms: defensive, or the alternative you don't
want to see come to pass, counterattacking and raising the stakes to
include *their* reputations. Then escalating if need be. Mutually
assured destruction. With luck, the specter of such an occurrence will
serve as an effective deterrent and this thread will die down without
anyone actually trotting out the serious WMDs...)
Well, that wasn't the intent.

What was the intent of the "advice" to "just say OK" whenever anyone
accused me of being wrong?

I'm still waiting on that.

I still can't determine what game you're playing, if any. The two
hypotheses that best explain your behavior, "playing some subtle game
or other" and "honest, neutral, but prone to fits of confusion" seem to
do about equally good jobs...
 
T

Twisted

Oliver said:
Why don't you try it and see?

a) The dev environment isn't right in front of me at the moment
b) I don't have a lot of time right now for random fooling around
without guaranteed results. Experimenting can be fun, but expecting
everyone to do it at all times to find out anything new is a recipe for
disaster.
c) If you knew all of this, why the hell didn't you mention it days
ago?
Each person has their own reason. I just read the Joe Attardi branch of
the thread, so his reason is fresh in my mind: Because he kept asking you
what build process you used, and you haven't told him that you're using
Eclipse.

I've mentioned Eclipse so many times in this thread that I'd need to
use exponential notation if you insisted on my quoting an exact figure.
:p

I mentioned it in this thread *at least* as early as Nov. 20, 3 full
days ago. A quick scan of the older postings in date order shows that
much. Joe Attardi is way, way behind on his reading if he only just got
to that post tonight, and that would imply that many of his responses
were to postings he hadn't gotten around to reading yet and wouldn't
for several more days. Which would, in fact, explain a great deal...if
it weren't rather improbable that he would do so.
This is part of what I was talking about when I said just assume that
when someone asks you a question, it's 'cause they're trying to help you,
but don't have enough info to do so.

I never had any objection to questions like what build process I used.
I did find it troublesome when the questions had no obvious bearing on
what I'd asked, which occurred in another thread; I asked something
related to doing X, and instead of a straight answer got asked
questions that appeared more geared toward determining why I was doing
X and what else I was doing. That, at best, implies that they are
exceeding the bounds of my inquiry and presuming to decide whether I
should even be trying to do what I'm asking about, which I consider to
be rude -- I'll decide that, and if I had any doubts there I'd ask the
broader questions myself. Please just tell me about the area I
specifically asked about. At worst, it indicates that someone is
attempting to pry into the details of what I'm building and what for
(details, I might add, that were freely divulged in yet another thread
anyway).
 
T

Twisted

Bent C Dalager wrote:
[Implied insult]

Nonresponsive. Move to strike.

Objection! Argumentative!

OK, maybe I've been watching too many law dramas. Still, haven't you
got anything better to do than to reiterate your insinuation that since
someone disagreed with me, therefore I *must* have been doing something
wrong?

If you want to prove me wrong, you need a little something called
"evidence". Simply putting on airs and telling me you think I'm wrong
just doesn't cut it. These days, you need a whole raft of forensics or
no jury in the world will convict.

Oops -- did it again. I really must increase my Star Trek dosage...
 
W

wesley.hall

Twisted said:
That is illogical. The top hit for "ant" should be entomological in
nature, since the most widespread mainstream use of the word "ant"
refers to insects.

Haha excellent!

"Use Ant"
"Surely I wont be able to find it in google, searching for Ant wont
help"
"But it does... see, top link"
"....Well.....it shouldnt"

You should do stand-up, either that, or go and work for google, clearly
they have much to learn from you.
 
T

Twisted

Clearly you didn't even try.

Of course I didn't. A three letter query with a different, mainstream
dictionary meaning is far too likely to fail to be worth considering.
Yes, it integrates easily with eclipse and any other serious IDE. It is
a tool for scripting your build process so, while there is a slight
overhead in writing the script (and it shouldnt be more than an hour or
two, infact, probably far less time than you have already spent arguing
the toss on this newgroup), once the script is written it will
significantly improve your build and testing cycle as you can use it to
automate your build, run your tests, generate your documentation,
create a Java webstart archive for your software, deploy it to an app
server (although this seems not to be required for your software) etc
etc.

There are a number of notes regarding the above:
1. An hour or two? I'll need some proof it can easily do something
amazing you can't easily do with Eclipse on its own before that looks
like a worthwhile investment of time.
2. Webstart? This is a standalone app, rather than an applet, servlet,
or some kind of specialized client/server thing. Are you sure this
recommendation isn't based on a misapprehension of the nature of what
I'm doing? It's quite possible that your suggestion is well suited for
developing some kind of web app and rather less so in the case of a
standalone one...
3. False dichotomy. You presuppose I have a choice to *either* use this
tool *or* argue here. In fact, the choice is to argue here, or to use
the tool *and* argue here. My choice not to argue here vanished the
moment the first insult was slung. Now it is necessary to defend myself
and my choices in front of the same audience you're trying to convince
of my guilt/stupidity/whatever it is that you think.
You will also be able to set up an use a continous integration
server that will periodically check out your code (assuming you are
running a version control system like CVS and subversion... and if not,
you should be)

For a one-person project? You're joking. It would take me weeks to
learn to use such a complex tool, and then I have to operate some kind
of a server, then some kind of equally unfamiliar client ... that even
has *security* implications, since I have to make sure that the server
isn't visible to the outside world if I start running a server of some
sort.

And I thought some other people here were suggesting swatting flies
with bazookas. This is closer to disinfecting a dirty toilet with a
thermonuclear bomb.
and run the build and tests, emailing you if there are
any failures so you find out about integration errors quickly an
efficiently.

What the devil do you think is going on here -- a complex multiperson
operation with three or four large racks of servers, a LAN, and Christ
alone knows what else? It's a guy with a couple computers working
largely on his own. I certainly don't need my own computer emailing me
when I can just have it pop up a tray notification or whatever. :) And
if you think I'm going to run any kind of remote administration tool
you're dreaming. Not without most of that stuff I don't have -- LAN,
hardware firewall, 24/7 technical staff, racks of servers and backup
tape machines recording night and day, and the substantial lotto
winnings that would be required to finance all of that stuff.
I can assure you that if you take on contract work, or work on any
serious established product, you WILL come across this tool eventually.
You seem to be underestimating how ubiquitous it actually is.

Another case of "I'll cross that bridge when I come to it".
To be honest, given the arrogant tone of your first two reply sections,
and your requirement that others do all the legwork for you (down to
actually doing the google search!)

What? In the very first post to the thread, I mentioned having googled
something myself. Later, I mentioned having googled some more. Nowhere
did I ask anyone to do any "legwork"; at most, to divulge things they
clearly already knew and therefore could not have to go find.

You must be replying to the wrong person here. There isn't any other
explanation for the astonishing stuff suggested by the paragraph I just
quoted.
I am not even sure why I am even bothering to reply. In any case, I am done with
this thread

Oh goody.
you will either take the good advice provided here and move forward, or
continue in your (false) belief that you are the smartest and most experience
Java developer around.

Increasingly, it looks like faulty logic is surprisingly common in this
group. I'm surprised you can program anything with flow control more
complex than "hello, world" if you believe the false dichotomy above.

How about I take option number three, instead, in which I may take or
leave some or all of the advice provided here while continuing to not
believe I'm anything of the sort?
 
B

Bent C Dalager

Of course I didn't. A three letter query with a different, mainstream
dictionary meaning is far too likely to fail to be worth considering.

The mindset "it's not going to work so I won't even try" is a 100%
guaranteed way to failure. The mindset "I don't think it will work,
but let's give it a spin anyway and see" may, of course, also lead to
failure but the probability is at least less than 100% and many would
see that as a plus.
2. Webstart? This is a standalone app, rather than an applet, servlet,
or some kind of specialized client/server thing. Are you sure this
recommendation isn't based on a misapprehension of the nature of what
I'm doing? It's quite possible that your suggestion is well suited for
developing some kind of web app and rather less so in the case of a
standalone one...

Java Webstart is a framework for distribution and installation of
general Java applications. It has nothing to do with applets. Whether
or not it is restricted to web apps depends entirely what you mean by
the term "web app".

If you wrote, say, a single-player Civilization clone in Java, then
Java Webstart would be a viable way of distributing that application.
3. False dichotomy. You presuppose I have a choice to *either* use this
tool *or* argue here. In fact, the choice is to argue here, or to use
the tool *and* argue here. My choice not to argue here vanished the
moment the first insult was slung. Now it is necessary to defend myself
and my choices in front of the same audience you're trying to convince
of my guilt/stupidity/whatever it is that you think.

A great many people consider that a person will tend to have an
independent choice as to whether to enter into a flame fest or keep a
debate to a more technical level. While you seem to differ, I suggest
that you, also, might have been able to find within yourself the
strength to ignore any perceived insults that may have been present in
previous posts on this thread and continue in a more civil tone.
For a one-person project? You're joking. It would take me weeks to
learn to use such a complex tool, and then I have to operate some kind
of a server, then some kind of equally unfamiliar client ... that even
has *security* implications, since I have to make sure that the server
isn't visible to the outside world if I start running a server of some
sort.

It typically has no more security implications than what you already
have on your development equipment. Presumably, your source code
resides in some directory structure on a local hard disk. If your
computer is ever connected to the Internet, then your code is in
jeopardy. Running a local Subversion (say) server on that machine
isn't going to do much to change that.
And I thought some other people here were suggesting swatting flies
with bazookas. This is closer to disinfecting a dirty toilet with a
thermonuclear bomb.

Running a version control system is just common sense for any
semi-serious programming project, icons or no icons. The benefits
easily outweight the few hours it takes to download, install and learn
how to use it.

Periodic automatic build cycles isn't all that critical on a
single-programmer project though.

Cheers
Bent D
 
W

wesley.hall

Ok, you win... one last salvo...

Oh goody.

Seems I have disappointed you, but your posts are just too tempting to
resist. If you are a troll, you are by far the best that I have ever
seen.

Increasingly, it looks like faulty logic is surprisingly common in this
group. I'm surprised you can program anything with flow control more
complex than "hello, world" if you believe the false dichotomy above.

Fortunatly, I have maded to pick a sweet contract with 'Hello World
Software Ltd', which renders this a non-issue.
 
B

Bent C Dalager

OK, maybe I've been watching too many law dramas. Still, haven't you
got anything better to do than to reiterate your insinuation that since
someone disagreed with me, therefore I *must* have been doing something
wrong?

I'm not sure how I can reiterate something the first time I alledgedly
do it. Or do you also alledge that I did it previously? If so, where
and when?

Anyway, it is entirely certain that you have done _something_ wrong.
I haven't actually touched upon whether it has anything to do with the
current debate. The question of more interest is whether or not you
are capable of admitting that you do make mistakes on occassion, and
this was the gist of my previous post.
If you want to prove me wrong, (...)

Do I have any motivation to want to try and do that?

Cheers
Bent D
 
W

wesley.hall

For some strange reason, some of the content has gone missing from my
other reply. Perhaps a parsing bug in google groups. I will reiterate.
Webstart? This is a standalone app, rather than an applet, servlet,
or some kind of specialized client/server thing. Are you sure this
recommendation isn't based on a misapprehension of the nature of what
I'm doing?

No misapprehension at all. Please consider reading the first paragraph
on...

http://java.sun.com/products/javawebstart/

That should clear things up.
For a one-person project? You're joking. It would take me weeks to
learn to use such a complex tool, and then I have to operate some kind
of a server, then some kind of equally unfamiliar client ... that even
has *security* implications, since I have to make sure that the server
isn't visible to the outside world if I start running a server of some
sort.

Yes, even for a one person project. You can run version control locally
and it will give you the ability to tag version, branch (to try out
experimental things without poluting your working version), and
rollback if needed. Each change will be tracked. Very worthwhile for
any project, 1 person or 100'000 people.

You dont even need a server if it is just you, just install locally,
instructions for this are everywhere.

What the devil do you think is going on here -- a complex multiperson
operation with three or four large racks of servers, a LAN, and Christ
alone knows what else? It's a guy with a couple computers working
largely on his own. I certainly don't need my own computer emailing me
when I can just have it pop up a tray notification or whatever. :) And
if you think I'm going to run any kind of remote administration tool
you're dreaming. Not without most of that stuff I don't have -- LAN,
hardware firewall, 24/7 technical staff, racks of servers and backup
tape machines recording night and day, and the substantial lotto
winnings that would be required to finance all of that stuff.

I accept that CI might be overkill for your project. The point still
stands though. Ant will give you flexibility far beyond what eclipse
gives. You wont accept this, because your refuse to even look at the
project page unless someone gives you a detailed demonstration. It is
no problem to me. You will either discover it eventually or wander into
some other field.
Another case of "I'll cross that bridge when I come to it".

The bridge will almost certainly come with you get asked if you have
ever used ant before in an interview, at which point, it is too late to
come up with a plan to cross.

The rest of my reply was posted successfully last time.
 
T

Twisted

You should do stand-up, either that, or go and work for google, clearly
they have much to learn from you.

If, as you claim, the top hit for "ant" isn't the dictionary definition
or even remotely related but is instead for some obscure software that
only a minuscule fraction as many people have even heard of, then
Google clearly does have much to learn -- from *somebody*, anyway.
 
D

Daniel Dyer

Of course I didn't. A three letter query with a different, mainstream
dictionary meaning is far too likely to fail to be worth considering.

The way Google ranks pages is mostly dependent on how many sites link to a
particular page. In the world of insect websites, there is probably not a
single definitive page for the word "ant". In Java development, there is
(the Apache Ant project home page). Also, the number of computing
websites is disproportionate in comparison to the number of non-technical
websites simply because the people who are interested in computing are
much more likely to have the technical skills/knowledge/inclination
required to create the web pages (and therefore to create the links to
other computing sites).

Regardless, Patricia's advice to search for "java ant" should have been
obvious.
There are a number of notes regarding the above:
1. An hour or two? I'll need some proof it can easily do something
amazing you can't easily do with Eclipse on its own before that looks
like a worthwhile investment of time.

This should do the job. Save the following as build.xml in the root of
your project. Edit the properties at the top to match the paths in your
project, and then run "ant" or "ant all" from the command line (from the
root directory of your project). I don't remember how you set Eclipse up
to use this, but it's trivial in IDEA and NetBeans, so I can't imagine
that it's very difficult. If you need to extend this script, for example
to add a manifest, I'm sure you can work out how from the examples in the
manual (http://ant.apache.org/manual/index.html).

==== START HERE ====
<project name="twisted" default="jar" basedir=".">
<description>Example build.xml for Twisted</description>

<property name="src.dir" location="./src"/>
<property name="resources.dir" location="./resources" />
<property name="build.dir" location="./build"/>
<property name="classes.dir" location="${build.dir}/classes" />
<property name="target.jar" location="${build.dir}/twisted.jar" />

<!-- Builds everything from scratch. -->
<target name="all" depends="clean, jar" description="Builds everything
from scratch."/>

<!-- Deletes all directories and files created by the build process. -->
<target name="clean" description="Remove all files created by the build
process." >
<delete dir="${build.dir}" />
</target>

<!-- Build all Java code. -->
<target name="compile" description="Compile the Java source files.." >
<mkdir dir="${classes.dir}" />
<javac destdir="${classes.dir}"
debug="on"
deprecation="on"
source="1.5"
target="1.5"
srcdir="${src.dir}">
<include name="**/*.java" />
<compilerarg line="-Xlint:unchecked" />
</javac>
</target>

<!-- Build application JAR file. -->
<target name="jar" depends="compile" description="Create the application
JAR file.">
<jar jarfile="${target.jar}">
<fileset dir="${classes.dir}" >
<include name="**/*.class" />
</fileset>
<fileset dir="${resources.dir}" includes="*" />
</jar>
</target>

For a one-person project? You're joking. It would take me weeks to
learn to use such a complex tool, and then I have to operate some kind
of a server, then some kind of equally unfamiliar client ... that even
has *security* implications, since I have to make sure that the server
isn't visible to the outside world if I start running a server of some
sort.

Version control (damage control) is always a good idea - I'd even argue
that it is the most important development tool, ahead of IDEs and build
tools. You can get plugins for Eclipse to integrate this stuff (one for
Subversion is called Subclipse). But this is getting even more off-topic
than we already were. I agree that the continuous integration stuff is
over-kill for a one person project.

Dan.
 
T

Twisted

Bent said:
The mindset "it's not going to work so I won't even try" is a 100%
guaranteed way to failure.

The mindset "There are two ways to do this. A is quicker when it works
but looks extremely doubtful in this particular case. B is slower, but
pretty much guaranteed to work. So I'll pick B" is quite the opposite.

A is googling something that someone mentioned, but didn't go into much
detail about.
B is asking them about it.

The circumstances where A is sufficiently doubtful to prefer B include
pretty much any case where a common word is used in an uncommon way, or
an acronym is used that's less than five (perhaps six) letters, or
there isn't a proper name or acronym involved at all and what keywords
there are all have many synonyms or are collectively not going to form
a narrow enough query. And of course there are some cases that you just
know won't work regardless -- for instance, "that girl I was with last
night" or anything else that's relative to the speaker, time, and
place, and otherwise highly generic.
Java Webstart is a framework for distribution and installation of
general Java applications. It has nothing to do with applets. Whether
or not it is restricted to web apps depends entirely what you mean by
the term "web app".

If you wrote, say, a single-player Civilization clone in Java, then
Java Webstart would be a viable way of distributing that application.

What is it then -- network install? (Run installer. Pick features. It
then downloads only what you need, as opposed to you downloading 50MB
of self-extracter and only installing 10MB worth of the contents.)

[Blither blather "perceived insult" blah]

The repeated insinuation that I'm hallucinating (or whatever) is not
going to get any less false for your repeating it enough times, you
know.
It typically has no more security implications than what you already
have on your development equipment. Presumably, your source code
resides in some directory structure on a local hard disk. If your
computer is ever connected to the Internet, then your code is in
jeopardy. Running a local Subversion (say) server on that machine
isn't going to do much to change that.

That's a joke, right?

If I'm running a server that gives direct access to the code, then it's
damn easy for someone to mess with it. Otherwise, they have to find
something else I'm running that functions as a server and compromise
it, or trick me into installing a back door Trojan, or something
similar. It's the difference between keeping jewelry in a back room
safe (which might of course be found and cracked) and in a front window
display case (much more visible and accessible).
Running a version control system is just common sense for any
semi-serious programming project, icons or no icons. The benefits
easily outweight the few hours it takes to download, install and learn
how to use it.

It looks like maybe you define "semi-serious" as "multi-programmer", or
perhaps as "aspiring to some sort of commercial use or to working
professionally in the field" (yeah, right, when there's a glut of
experts already, and lots of the others have industry contacts and
industry experience that I lack).

As for "few hours", that sounds wildly optimistic to me, considering
the evident complexity. There's the question of how it might interact
with my existing development tools, too, of course (including *whether*
it would, or I'd have to transport data manually between the two,
though I think I saw something somewhere about eclipse being
configurable as a client for version control servers).
 
W

wesley.hall

If I'm running a server that gives direct access to the code, then it's
damn easy for someone to mess with it. Otherwise, they have to find
something else I'm running that functions as a server and compromise
it, or trick me into installing a back door Trojan, or something
similar. It's the difference between keeping jewelry in a back room
safe (which might of course be found and cracked) and in a front window
display case (much more visible and accessible).

Running the server portion of a version control system locally just
means you have a bunch of files that maintain all changes to your
software. It is no less secure than your current approach, you just
have a few more files in a specific format.

This is exactly what I mean when I say, "Stop assuming you are the
smartest person around". Why assume that everyone who runs their
software this way is running insecurely and hasn't even realized.

The fact that you 'tell' people about the insecurity rather than post,
"Ok, that is interesting, but wouldn't running a server leave me
susceptable to remote attacks?", is why people are taking you for and
treating you like a moron.
yeah, right, when there's a glut of
experts already, and lots of the others have industry contacts and
industry experience that I lack

Lack of industry experience is not the reason you are very unlikely to
make it as a professional developer.
 
T

Twisted

Bent said:
I'm not sure how I can reiterate something the first time I alledgedly
do it. Or do you also alledge that I did it previously? If so, where
and when?

You can reiterate something that is being said by a group or collective
of some kind, even while you personally didn't actually say it before.
In this case, it seems to be the group mantra.

Anyway, I don't usually bother to track the individual names of
harassers; they're all just "some guy on usenet who thinks he's a
clever critic" unless one of them becomes somehow memorably different
from the others (usually by being memorably worse).
Anyway, it is entirely certain that you have done _something_ wrong.

You continue to assert this, without bothering to furnish anything
resembling proof. That could be construed as libel, and I could pursue
legal action.

Either prove it or shut up.
Do I have any motivation to want to try and do that?

You seem to have a very strong desire to make people think that I was
wrong. (And I'm actually not clear what specific thing you are trying
to prove me wrong *about*, curiously enough.) That would seem to be the
obvious method. Then there is, of course, the lazy method, which is
just to repeat it as loudly and as often as possible and hope that
people are gullible enough, by and large, to consider volume and
vehemence acceptable substitutes for evidence and reason...
 
L

Lars Enderin

Twisted skrev:
If, as you claim, the top hit for "ant" isn't the dictionary definition
or even remotely related but is instead for some obscure software that
only a minuscule fraction as many people have even heard of, then
Google clearly does have much to learn -- from *somebody*, anyway.
If you want a definition, search for "define:ant".Google returns result
based on relevance, mostly. If you want a dictionary, use a dictionary.
 
T

Thomas Kellerer

Given that the number of manual steps for test/debug/edit right now is
zero, I'd count every single additional keystroke or mouse gesture. So
we have "click start", "click programs", "click accessories", "click
command prompt", type "c", type "d", type space, type "C", type ":",
... , type "c", "o", "p", "y", and space, then ...

I'm sure you get the picture by now.
Yes, the picture I get: you have no idea how to seupt a software
development environment.
The picture I get is: you have never heard of batch files, not to speak
of build tools and the concept of an IDE does not seem to be understood
by you either (sorry if that sounds insulting, but this *is* the picture
that you communicate)

I repeat it again, maybe this time you might actually believe me:

NetBeans (and *NO* it's *not* about RAD or some beans over the internet)
lets me employ the approach everybody recommends without much ado.
I simply press F6 to run my application and *everything* is
automatically taken care of.

The *only* thing I needed to tell NetBeans is where my Sources are
located (Hey, it even creates the jar file for me automatically if I
want to)

I don't know Eclipse, but as others have pointed out repeatedly, Eclipse
can be setup in just the same way.

But go on with your solution, if that makes you feel better.
But please stop asking questions around here if you don't like the answers.

Someone who seeks consultancy has to be "consultable".

Thomas
 
T

Twisted

For some strange reason, some of the content has gone missing from my
other reply. Perhaps a parsing bug in google groups. I will reiterate.


No misapprehension at all. Please consider reading the first paragraph
on...

http://java.sun.com/products/javawebstart/

Please tell me why you think it should ever even occur to me to visit
this URL when not developing a weblication of any kind? Because unless
you can think up a good reason, what's actually at that URL is moot --
some of the people to whom it (supposedly) applies will not look there
for it anyway.
Yes, even for a one person project. You can run version control locally
and it will give you the ability to tag version, branch (to try out
experimental things without poluting your working version), and
rollback if needed. Each change will be tracked. Very worthwhile for
any project, 1 person or 100'000 people.

Any large enough project I assume you mean. It sounds like it adds
complexity to pretty much every stage of the cycle, though, so not any
sufficiently small project. And the dividing point is shifted towards
larger projects for version control novices, for whom there's
additional overhead involved.
I accept that CI might be overkill for your project. The point still
stands though. Ant will give you flexibility far beyond what eclipse
gives. You wont accept this, because your refuse to even look at the
project page unless someone gives you a detailed demonstration. It is
no problem to me. You will either discover it eventually or wander into
some other field.

I have not refused to do anything; I don't know where people are
getting this from. Please quote anywhere where I have claimed that I
absolutely will not do X, other than a few cases of X being
obviously-dumb things as in "I will not run a wide-open server or
remote administration tool without a firewall". I have also not "not
accepted" anything, in the sense you seem to mean of "rejecting out of
hand" as opposed to "not just taking some anonymous usenetter's word
for things".
The bridge will almost certainly come with you get asked if you have
ever used ant before in an interview, at which point, it is too late to
come up with a plan to cross.

What interview?
 
T

Thomas Kellerer

Please tell me why you think it should ever even occur to me to visit
this URL when not developing a weblication of any kind?

Most probably because Java WebStart has _absolutely_ *nothing* to do
with Web applications?

Yet again you judge the software features by its name (do you use Word
to write single-worded documents?)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,482
Members
44,900
Latest member
Nell636132

Latest Threads

Top