Advertisement

Non-Constructive Criticism

Started by August 23, 2012 09:28 AM
47 comments, last by Alamar 12 years ago

why's he bothering to try to convince me to use a solution that compiles a single grammar into basically a series of native functions, which can't be altered at any time?


Because that is what (almost) every other thing that takes a grammar and makes a parser does, for good reason.

Frankly, I've looked at (and contributed a little) to your parser threads and still don't understand why that's a particular restriction. Hell, I've written something very similar and find myself largely unable to understand many of your questions or help as much as I might like. I can only imagine how the rest of the community grok's the posts...
You don't have to give your life story, just a short summary, or a link, to a place that describes the constraints that you have. As for people not understanding your post, that is life. Some people skim, some misinterpret, yet in other cases you might think they don't understand but they do (i.e. you skim / misinterpret). I can only advise that you try to predict such communication breakdowns early, and learn to tolerate it when they happen anyway.

Personally, I don't see the problem. You are a special case where the default type of advice doesn't apply, and I see no justification for trying to modify the default behaviour of the community, to the detriment of many, to take into account such rare occurrences. It is more reasonable, from my perspective, for you to make whatever modifications you can to your posting habits to account for the general case behaviour here.

That said, there are individuals who "rant" against NIH when they encounter it, rather than post constructively (or just stop posting). This is an issue, and one that needs to be addressed (either by PM in mild cases or via reporting abusive behaviour to moderators in extreme cases). This issue can affect the general case - I recall one newbie floundering because every time they asked a question on a particular language / technology people would point them to a different one that handled that particular case, which resulted in the newbie running in endless circles and never making progress.
Advertisement

It does sound a bit like you see me as just another one of those newbies that are looking to get people to pat their backs, and I'm not. I've been programming since 2000; I'm not looking for a feel good thread.

I think it plagues more than just newbies - it was clear from your original post that you're not new to programming.

Well, let's look at my last thread.[/quote]
Sure. The last thread being here?.
I'm not experienced in the subject myself, so I might not follow the thread correctly, but let me try anyway:

I'm looking for a solution for my problem concerning parsing arbitrary grammar in an LR fashion. [...] So, he asked what parser generator I used, and I mentioned that I'm using my own. At that point, he shut down.[/quote]
Shut down? His second post is slightly larger than his first, and still polite. He questions why it's needed, though it's true that you already said it's 'essential'. And since you mentioned YACC and the Unicode requirement, he mentioned that YACC could support Unicode.

He starts with a basic description of what I'm doing, which I'm not sure he understood what I'm doing.[/quote]
Which is good... this is where you can correct him when he's wrong, so the entire thread can get a better understanding of the problem being solved and whether there might be an entirely different solution to the problem that you might not be familiar with.

He asks me how is it useful, and basically makes it look like it does nothing at all,[/quote]
Trying to get understanding of the problem trying to be solved. Many people come to these forums asking how to overcome a sub-problem, introduced by their incorrectly chosen solution to the real problem, and if the real problem being solved is know, then real solutions can be offered... at the same time as others usually give the direct answer they wanted.

He wasn't making it sound like it was doing nothing, he asked, how is it useful, but he also points out (unless, through lack of experience in the subject, I'm misunderstanding) potential pitfalls that it was possible you might not have considered, which may have saved you days or weeks of work if you hadn't already thought of them.

and thus I should dump the project.[/quote]
He never said that, at least as far as I can see.
He questioned two things directly: "How is this useful?" and "How will you overcome problem X?".

After trying to convince me of the futility of my efforts[/quote]
He asked the purpose of your efforts, and raised issue with the feasibility of such efforts. He also implied that it wouldn't be any more useful that the standard solution. Perhaps it's that implication that bothered you?

he then restates his vague, one line advice. His post served no purpose; he just lit up my ideas[/quote]
His post:
A) Asked for clarification on what the actual problem is that led you to the solution you are seeking help implementing, thinking that maybe you chose the wrong solution.
B) Suggested it wouldn't actually be useful, and tried to see how it could be, vocalizing his thought process, and inviting you to explain why this solution would actually work.
C) He raised a very important problem that you might have missed.
D) He also informed you that YACC can (maybe) parse Unicode, based on your previous post where you imply YACC can't support Unicode. "It won't be as fast as a parser generated by YACC [but it has X and Y]... Also, it'd support Unicode."

He was completely polite the entire time. Yeah, he's criticizing your approach, and asking for clarification of the purpose - but (despite the name of this thread) those are both constructive criticism.

and then restated the same advice that I asked him to clarify.[/quote]
As far as I can see (but again, the technical jargon obfuscates things for me), you never asked for clarification until after his second post. You did asked him a question or two he didn't answer.

This will not accomplish my goal; I don't think he even understands my goal.[/quote]
Probably because he asked (implicitly, by questioning the usefulness) for clarification as to your goal, and you never explained it.

It seems he saw that I was writing it myself, didn't consider why, and just went off.[/quote]
He did consider why, but didn't understand, so (again) he questioned it's useful, probably expecting you to either go, "Oh, yeah, I guess that's not actually useful", or "It's useful because it does X which I need to do Y" (You explained X but never Y. X = what it does, Y = why you need it).

Then he left. I did eventually get some help, even if it wasn't a solution[/quote]
He left? He didn't post again... but that was only 11 hours ago. smile.png He might be sleeping, or at work, or doing anything else in his life. He didn't leave, abandoning the thread, he just hasn't responded yet. He may have left, but you have zero way of knowing that, since his last post was only this morning. He doesn't spend his entire day answering questions on forums, he probably does it during his free time.

I was quite surprised when I was asking how to compute a base 2 logarithm, and I got a response using the standard library log() function. I then realized that I should specify that I didn't have a log function at all, and that people assumed that I did, making it a beginner question. A learning experience, for sure. I'm more concerned with where people ask for more information, then go off on it and stop helping altogether.[/quote]
First, he hasn't stopped helping altogether as I've already pointed out. Some times it's two days or more before I can return to a thread I've been involved in. Internet forums aren't instant messengers or #irc chatrooms, they are more like email. You send an email, and you expect an answer within 48 hours, but you can't expect one within an hour and otherwise assume the person ignored you.

As for those who do ask additional information and then stop helping, I'm guilty of that myself on two or three threads over the years.
Someone asks a question that I am familiar with, I answer their question or ask for more information, and their response shows that I didn't initially understand their needs, and that I am not familiar with their problem after all. Rather than pull a Brian Regan and say, "I don't know what you are talking about, may I still post in this thread?", I just slip out if other people are already in the thread helping, instead of wasting a thread saying, "Whoops, got in over my head, misunderstood you, hope someone helps you! Goodbye =P" <- Because that's not really constructive.

If people require me to tell them my life story to get help, it probably isn't worth it; my last thread before this, even if I had explained my whole engine and why I need it, would he have had more to offer?[/quote]
He's not asking for your life story, or your whole engine.
He posted (perhaps indirectly, but I understood it):
A) What is the real problem you are trying to solve? Maybe I have a better solution you haven't yet considered. (Helpful)
B) Why do you think this is the right solution? (Request for information)
C) Here's how you solve the direct question you asked. (Helpful, but hasn't yet responded to your third post where you ask for clarification)
D) Here's some problems you may not have considered on your chosen solution. (Helpful)
E) Here's some information (YACC + Unicode) that you appear not to have, and that you imply was part of your decision. (Helpful)

It doesn't take much time, but to save time, you can put all this in your original post.

"I'm trying to do y using x, but how do I do z to solve x?" (you left out 'y' entirely)
Possible answers:
"q is better for y than x is, have you considered that?" ('y' being left out, it has to be guessed at)
"z can be solved with foo"
"x can't do z"
[s]"x won't work for y"[/s] (y is unknown)

The poster in the other thread was helpful in many ways, and was requesting more information so he could be more accurately helpful.

I doubt it. I probably would have been met with more harsh criticism. I politely sidestepped the flame, and continued with the topic; I'm familiar with these encounters.[/quote]
A) There was no flame.
B) He was polite the entire time.
C) It wasn't harsh criticism. It was criticism, but it wasn't 'harsh'. Even if it was (which it was not), polite but harsh criticism is even sometimes beneficial.

I guess I can't convince a lot of people here that a problem does exist[/quote]
Certainly a problem exists with flamers, rudeness, and personal insults, but I don't see any of that in the thread you mentioned.

and many people believe this is just the state of the world, and I'm being a baby.[/quote]
Uh, no. You seem to think that I'm advocating the promotion of harsh criticism and flaming. I'm not. I'm saying I don't see any of that in the thread you are complaining about.

You still never answered (in that thread) what is the real problem you are trying to solve. If you don't want to answer, that's perfectly fine (and not unusual), but you should inform people of that in the thread.

They're entitled to that opinion; I won't try to convince them that their idea is dumb, and that they should give up.[/quote]
Uh, maybe I'm just thick, but are you intentionally saying our (my?) opinions are dumb, and we should give up, despite the whole (purported) purpose of this thread being your complaint that other people insult other people's ideas and tell them to give up?

Nobody is telling you to give up. Nobody is saying you are dumb.
The people in the other thread are trying to help, in the way they think best. They thought that you may have chosen the wrong solution to the real problem you are trying to solve, and try to help by offering other alternatives at the same time as they are trying to answer your original question.
@SoL: I would rate you up if I could. Good response!

Beginner in Game Development?  Read here. And read here.

 

Time to shut down the computer before my brain's veins explode.

@SoL: I would rate you up if I could. Good response!


^^

It seems like you want constructive criticism, but aren't willing to accept constructive criticism after you get it. Not a lot in your main post is not constructive.

destructive criticism is like, "This is bad and you should feel bad."
constructive criticism is like, "this is bad and here is why."

There's a reason they don't call it constructive hug-a-thon-ism... or something.

edit:
"This is great!" can be just as harmful as "This is bad and you should feel bad," in the wrong situations. Remember that when you ask for constructive criticism.
Advertisement
I think that a factor to consider is that the more specific and unusual your requirements, the less people will be able to help you. If you ask about regexes, lots of people know how to write them, what they can do, or what libraries you can use to evaluate them. But writing a regex engine.... very people could help you. Similarly with compilers, a bunch of people know about lex and yacc, but writing lex and yacc... not so much. I'm a helpful guy, I would love to help you, but looking at your threads most seem outside my area of expertise because they are so low-level.

[quote name='Alpha_ProgDes' timestamp='1345753116' post='4972729']
@SoL: I would rate you up if I could. Good response!


^^
[hr]
It seems like you want constructive criticism, but aren't willing to accept constructive criticism after you get it. Not a lot in your main post is not constructive.

destructive criticism is like, "This is bad and you should feel bad."
constructive criticism is like, "this is bad and here is why."

There's a reason they don't call it constructive hug-a-thon-ism... or something.

edit:
"This is great!" can be just as harmful as "This is bad and you should feel bad," in the wrong situations. Remember that when you ask for constructive criticism.
[/quote]

I think the line break makes the response a bit more clear.

Beginner in Game Development?  Read here. And read here.

 

I've been around GDNet since... many, many years ago, and I have two things to say to this thread:

  • This is by far the best the community has been in terms of quality of responses, ever
  • I see no problems in the threads you've posted here that even remotely come close to the drama you describe here


    I too would upvote SotL's post if we had voting in the lounge. I think he nails it pretty well.

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

Again, people think I'm looking for a pat on the back. People are completely missing the point that I don't even care what the other person thinks about the project. I'd ignore someone saying how much they like the topic just as much as someone that contributes little but saying how much they don't. The main point is, it doesn't help the situation, no matter which way they go with it. This is why I'm inclined to believe people think I'm being a crybaby. I'm not looking for bad criticism, but I'm also not looking for _good_ criticism. I never asked for any of it, and it is unwarranted. I'm trying to get a job done, and looking for the next step. Criticizing my technique takes me nowhere, whether it is good or bad.


Remember that when you ask for constructive criticism.

I never asked for criticism. That's the point I'm trying to make. I'm asking for answers, and solutions to problems that have already been solved. This is why it gets on my nerves, and this is why I make a post like this. I didn't ask anyone for what they thought about it, I asked for facts and advice on completing the project. Even when I ask to not hear about what they think about it, they still throw their two cents in at about every chance, and they let it get in the way of actually providing an answer. They get side-tracked. The best responses I've gotten are people that never ask about what my motives are, unless I made a thread asking how to best accomplish a task. They are succinct, and they provide information on what methods there are to do it, or why it can't be done. Usually the people that offer criticism against my wishes are people that _don't_ know a thing about what I need, and they contribute whatever comes to the top of their head. A good question is "Do you have access to math.h?" or "Are you more concerned with speed or memory efficiency?" A bad question is "How is this useful?" or "What purpose would this serve?" I already stated what I am doing, and most of how, because the rest I don't know. Whether or not it is useful does not effect how the task would be implemented; whether or not it is useful would affect whether or not the task is implemented, and it is useful, and it is being implemented. The question is irrelevant.

@ApochPiQ Not you, too. You're one of the mods I respect the most, and if people only see this as inciting drama, then I'm wasting my time. I'm here to try to convince people not to throw their opinions around when it isn't asked for, because it is usually in a hurtful fashion, and people that regularly give their opinion don't seem to see it.

This topic is closed to new replies.

Advertisement