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

Checking a Number for Palindromic Behavior

5 views
Skip to first unread message

Benjamin Middaugh

unread,
Oct 18, 2009, 3:13:21 PM10/18/09
to pytho...@python.org
Thanks to everyone who helped with my query on reversing integers. I
have one more simple problem I'm having trouble solving. I want to check
a number for palindromic behavior (reading the same backwards and
forwards). So if I have an integer 1457 it can tell me this is not the
same from both ends but 1551 is. I think the simplest way would be to
work inwards from both ends checking digits for equality, but I don't
know enough (yet) to do this.

All help is much appreciated.

Benjamin

MRAB

unread,
Oct 18, 2009, 6:20:39 PM10/18/09
to pytho...@python.org
It's a palindrome if it's the same as its reverse. You already know how
to reverse it, and you should already know how to check whether two
things are the same, so... :-)

Gary Herron

unread,
Oct 18, 2009, 6:56:38 PM10/18/09
to pytho...@python.org
Benjamin Middaugh wrote:
> Thanks to everyone who helped with my query on reversing integers. I
> have one more simple problem I'm having trouble solving. I want to
> check a number for palindromic behavior (reading the same backwards
> and forwards). So if I have an integer 1457 it can tell me this is not
> the same from both ends but 1551 is. I think the simplest way would be
> to work inwards from both ends checking digits for equality, but I
> don't know enough (yet) to do this.
>
> All help is much appreciated.
>
> Benjamin

This problem (and the OP's previous problem) are probably homework
problems. If so, it was unethical for the student to ask for a
solution here, and it was careless of several responders to provide a
solution. Let's not make the same mistake this time.

Gary Herron


--
Gary Herron, PhD.
Department of Computer Science
DigiPen Institute of Technology
(425) 895-4418

ru...@yahoo.com

unread,
Oct 18, 2009, 10:32:02 PM10/18/09
to

Something like:

def is_palidrome (n):
return str(n) == ''.join (reversed (str(n)))

which will return True if integer n is a palidromic or False
otherwise.

alex23

unread,
Oct 18, 2009, 11:45:47 PM10/18/09
to

_Not_ providing the code was MRAB's entire point here. It's nice to
show that you're clever and all, but that doesn't really help the OP
learn.

ru...@yahoo.com

unread,
Oct 19, 2009, 1:06:13 AM10/19/09
to

I hardly think that code is evidence of cleverness.

Re helping the OP learn...

MRAB (and gherron) were wrong.

One, it was suggested without any evidence the the OP was
"probably" asking about homework. My observation over
several years is that this group has a very poor record
of identifying homework problems. And if someone can
conclude that the OPs problem was homework with no evidence,
then I can conclude that it wasn't, without evidence,
equally validly.

As for learning better by "working it out oneself", that is
a myth. I know it is not (universally) true by counter-example:
I once asked a question here got several answers. One
person explained the behavior I'd not understood in a single
sentence. Another provided a long transcript of an interactive
Python session intended to demonstrate the behavior and its
origin. I read the first response and it was immediately
clear what my misunderstanding was, and why Python was doing
what I hadn't understood. I never bothered with the long
demo since it would have been a waste of my time, despite
that the poster had obviously put significant time into
writing it.

I realize that in many courses the pedagogy involves working
out the basic ideas, theorems, etc. But the environment
of a course taught by an instructor thoughorly covering an
organized range of topics is totally different than a usenet
newsgroup.

Different people have different goals and learning styles.
I gave the OP another option. He can choose whichever
helps him learn most effectively. That is a *good* thing.


alex23

unread,
Oct 19, 2009, 1:54:16 AM10/19/09
to
ru...@yahoo.com wrote:
> One, it was suggested without any evidence the the OP was
> "probably" asking about homework.  My observation over
> several years is that this group has a very poor record
> of identifying homework problems.  And if someone can
> conclude that the OPs problem was homework with no evidence,
> then I can conclude that it wasn't, without evidence,
> equally validly.

I've always seen the accusation of "homework problem" to be less about
homework and more about an attempt to get other people to provide
working code. In this case, the absence of evidence (ie posting what
code has been tried) _is_ indicative of such problems.

This isn't about being churlish, it's about not being able to identify
the experience level at which such posters are operating, about not
wasting time providing answers that have already been tried & rejected
etc etc

> As for learning better by "working it out oneself", that is
> a myth.

MRAB broke the OP's request down into already-understood-by-the-OP
operations; being able to extrapolate from that is _essential_ to
becoming a programmer. I'm not sure how you think that giving someone
an answer will ever help them be able to answer similar questions
themselves. The process followed to achieve the solution is what is
important here, not the solution itself.

Give a programmer a code fragment, and you've helped him for a day.
Teach a programmer to code, however...

gslindstrom

unread,
Oct 19, 2009, 11:49:09 AM10/19/09
to
On Oct 18, 5:56 pm, Gary Herron <gher...@digipen.edu> wrote:
> Benjamin Middaugh wrote:
> > Thanks to everyone who helped with my query on reversing integers. I
> > have one more simple problem I'm having trouble solving. I want to
> > check a number for palindromic behavior (reading the same backwards
> > and forwards). So if I have an integer 1457 it can tell me this is not
> > the same from both ends but 1551 is. I think the simplest way would be
> > to work inwards from both ends checking digits for equality, but I
> > don't know enough (yet) to do this.
>
> > All help is much appreciated.
>
> > Benjamin
>
> This problem (and the OP's previous problem) are probably homework
> problems.   If so, it was unethical for the student to ask for a
> solution here, and it was careless of several responders to provide a
> solution.   Let's not make the same mistake this time.
>
> Gary Herron

Could be. Or, like me, they could be working the Project Euler
problems. IIRC, many of the solutions involve checking for this type
of thing. I'd like to see the OP's work before we give our solutions,
though.

--greg

ru...@yahoo.com

unread,
Oct 19, 2009, 2:38:28 PM10/19/09
to
On Oct 18, 11:54 pm, alex23 <wuwe...@gmail.com> wrote:
> ru...@yahoo.com wrote:
>> One, it was suggested without any evidence the the OP was
>> "probably" asking about homework. My observation over
>> several years is that this group has a very poor record
>> of identifying homework problems. And if someone can
>> conclude that the OPs problem was homework with no evidence,
>> then I can conclude that it wasn't, without evidence,
>> equally validly.
>
> I've always seen the accusation of "homework problem" to be less about
> homework and more about an attempt to get other people to provide
> working code. In this case, the absence of evidence (ie posting what
> code has been tried) _is_ indicative of such problems.

I don't share your view. Whether or not a question is a
homework problem, and whether or not the questioner has
provided some indication he/she has tried to solve it
before posting are orthogonal issues, and I have not
noticed any strong correlation between them in posts to
this group.

If you feel a poster is just trying to get you to do
their work for them while putting in no effort themselves,
you are perfectly free not to respond, or to ask them to
demonstrate some effort. I said nothing opposing this.

> This isn't about being churlish, it's about not being able to identify
> the experience level at which such posters are operating, about not
> wasting time providing answers that have already been tried & rejected
> etc etc

Again, feel free to ask the OP for whatever information
*you* feel *you* need to respond effectively.

>> As for learning better by "working it out oneself", that is
>> a myth.
>
> MRAB broke the OP's request down into already-understood-by-the-OP
> operations; being able to extrapolate from that is _essential_ to
> becoming a programmer. I'm not sure how you think that giving someone
> an answer will ever help them be able to answer similar questions
> themselves. The process followed to achieve the solution is what is
> important here, not the solution itself.

Right. But you are concluding that only by figuring out
the process by reconstructing it from hints can it be
learned. I disagree with that and maintain that you
can show someone a solution, and they can figure out
quite well, seeing the answer worked out, how to get
similar answers in the future. In more detail...

[Disclaimer: I know nothing about educational methods
beyond what I have experienced -- these are my personal
opinions.]

There are (at least) two ways to learn something. You
can adopt an experiential approach by trying to repeat
the "discovery" of the knowledge (guided by a teacher
to avoid wasting time, get past too-hard parts, etc).

Another way (probably more common) is to simply have
someone tell you the facts and you make the effort to
remember them and integrate them with what you already
know.

The first seems to work well when one is facing a large
body of knowledge that one is learning about for the
first time, more or less independent of anything else
in one's life (e.g. the typical collage course).

The second seems to working well when you already
have a surrounding knowledge structure to integrate
the new information with, for example a specific
problem you are trying to solve.

I would also imagine that individual people have a
bias toward one or the other approaches as well.

It seems to me that the conceptual barrier facing the
OP was thinking he had to look at each digit of his
number separately. The two key bits to getting past
that is, "consider the number as a string", and (what
MRAB said), "It's a palindrome if it's [string is] the]
same as its reverse."

Everything past that are python-specific implementation
details, specifically conversion of numbers to strings,
the existence of the reversed function, and how to
deal with the funky value returned by reversed.

My guess was the conceptual barrier was the big one,
and although the OP was learning Python, was likely
to be able to learn about the parts of Python needed
to implement a solution simply by looking at a solution
(and reading the docs regarding the bits and pieces,
str(), reveresed(), join(), etc) -- no need to jump
though a bunch of hoops set up for him by (well-
meaning) people copying a pedagogy developed for use
in a completely different environment.

Again, I am *not* saying my evaluation of the OP's
needs is correct, only taking issue with your (and
several other's) seeming insistence that *only* the
experiential response was appropriate.

Repeating what I said in my previous post:


Different people have different goals and learning

styles. Choice is *good*.

> Give a programmer a code fragment, and you've helped him for a day.
> Teach a programmer to code, however...

Yes, but be sure you're dealing with a programmer first,
and not someone who just wants to use a program to help
solve a problem.

Ethan Furman

unread,
Oct 19, 2009, 2:41:11 PM10/19/09
to pytho...@python.org

Absolutely. I have no issues asking for or receiving help for
apparently simple problems, but a description of what has been tried,
preferably with code snippets and results, should be included with the
request.

~Ethan~

ru...@yahoo.com

unread,
Oct 19, 2009, 3:55:40 PM10/19/09
to

I agree such info *should* be included, but if it is
relatively clear what the poster is asking about, and
I can answer without such info, I will do so (although
perhaps while mentioning that the next time including
such info would be helpful, if no one else had pointed
this out.) People in this group can be pissy enough
without my adding to it by insisting a poster jump
though some hoops before I'll spend my precious time
answering. Another factor is an answer posted here
is not only to the benefit of the questioner, but
also to the benefit of many other silent readers
who shouldn't be penalized due to the faults of the
questioner.

Ethan Furman

unread,
Oct 19, 2009, 4:29:52 PM10/19/09
to pytho...@python.org

Your arguments are most persuasive. Consider me convinced.

Even if the worst-case scenario is true (homework problem, ack!), either
the poster will learn from the answer in which case all is well, or the
poster will not, in which case the final exam will show it.

~Ethan~

Andrew Henshaw

unread,
Oct 19, 2009, 4:42:59 PM10/19/09
to
><ru...@yahoo.com> wrote in message
>news:63dea9e7-97af-4b20...@a21g2000yqc.googlegroups.com...

I wouldn't normally provide a direct solution to this type of request; but
since you have, may I suggest:

def is_palindrome (n):
return str(n) == str(n)[::-1]

ru...@yahoo.com

unread,
Oct 19, 2009, 5:24:14 PM10/19/09
to
On Oct 18, 4:56 pm, Gary Herron <gher...@digipen.edu> wrote:
> Benjamin Middaugh wrote:
> > Thanks to everyone who helped with my query on reversing integers. I
> > have one more simple problem I'm having trouble solving. I want to
> > check a number for palindromic behavior (reading the same backwards
> > and forwards). So if I have an integer 1457 it can tell me this is not
> > the same from both ends but 1551 is. I think the simplest way would be
> > to work inwards from both ends checking digits for equality, but I
> > don't know enough (yet) to do this.
>
> > All help is much appreciated.
>
> > Benjamin
>
> This problem (and the OP's previous problem) are probably homework
> problems.   If so, it was unethical for the student to ask for a
> solution here, and it was careless of several responders to provide a
> solution.   Let's not make the same mistake this time.

You think that was homework? Perhaps so but for the record
here are some posts by some other people who suspected
homework in the very recent past...

2009-10-03
http://groups.google.com/group/comp.lang.python/browse_frm/thread/a032adcdcaff7d9/0e74d426d30170e9?lnk=gst&q=homework#0e74d426d30170e9
Chris Rebert wrote:
> Since this sounds like homework,
skor...@gmail.com wrote:
> Thanks Chris, Not homework but self learning.

2009-10-01
http://groups.google.com/group/comp.lang.python/browse_frm/thread/f70457535a7c252e/e785984ffc1dc5c3?lnk=gst&q=homework#e785984ffc1dc5c3
Laszlo Nagy wrote:
> Is this a homework?
kj wrote:
> Earlier some other clown alleged that that my original post
> was homework??? WTF?

2009-09-27
http://groups.google.com/group/comp.lang.python/browse_frm/thread/a032adcdcaff7d9/0e74d426d30170e9?lnk=gst&q=homework#0e74d426d30170e9
John Nagle wrote
> This looks like a homework assignment.
dads wrote:
> No this certainly isn't homework, I'm 29 and in full time work.

Guyon Morée

unread,
Oct 19, 2009, 7:26:57 PM10/19/09
to
> >def is_palidrome (n):
> >    return str(n) == ''.join (reversed (str(n)))
>
> >which will return True if integer n is a palidromic or False
> >otherwise.
>
> I wouldn't normally provide a direct solution to this type of request; but
> since you have, may I suggest:
>
> def is_palindrome (n):
>     return str(n) == str(n)[::-1]


http://gumuz.nl/weblog/python-trick-sequence-reversal/

Steven D'Aprano

unread,
Oct 20, 2009, 1:35:18 AM10/20/09
to
On Mon, 19 Oct 2009 13:29:52 -0700, Ethan Furman wrote:

> Your arguments are most persuasive. Consider me convinced.
>
> Even if the worst-case scenario is true (homework problem, ack!), either
> the poster will learn from the answer in which case all is well, or the
> poster will not, in which case the final exam will show it.


As far as I'm concerned, asking for help on homework without being honest
up-front about it and making an effort first, is cheating by breaking the
social contract. Anyone who rewards cheaters by giving them the answer
they want is part of the problem. Whether cheaters prosper in the long
run or not, they make life more difficult for the rest of us, and should
be discouraged.

Don't support cheaters and cheating. Don't buy from spammers, don't
reward people for bad behaviour, and don't do homework for students
(hints to help them learn is one thing) unless you know that their school
allows collaboration. To do otherwise is part of the problem.

--
Steven

Benjamin Middaugh

unread,
Oct 20, 2009, 7:59:42 AM10/20/09
to pytho...@python.org
Actually I was working on a program to test the so-called 196-algorithm
as an extracurricular activity. MRAB was most helpful with pointing out
what I should have already thought of. My previous attempts were
hampered by my limited knowledge of python, and I had already mentally
committed to my complex and inefficient method of solving the problem
(big mistake, I know). My final solution, with suitable adjustments for
proper ways of doing things :-), was just 20 lines of code.

By the way, I don't get much time for python since I'm a freshman
computer engineering student taking 17 credits. My Intro to Programming
class uses C++ (yuck) instead of python, so I have to devote most of my
programming time to that. However, I figured python would be a better
choice for trying this algorithm out.

Thanks for all the help. As a beginning programmer, I'm really
appreciating it.

Benjamin

MRAB

unread,
Oct 20, 2009, 11:39:50 AM10/20/09
to pytho...@python.org
BTW, if you're working in a lower-level language like C or C++ and
already have the number as a string then testing for a palindrome is
quicker if you work from both ends of the string, comparing the digits,
until they meet or cross in the middle.

In a higher-level language like Python, reversing and comparing is
faster.

Different languages have different strengths and weaknesses and may
require different approaches.

Ethan Furman

unread,
Oct 20, 2009, 11:47:16 AM10/20/09
to Python


If you know that's the situation, absolutely. If you don't, it's a
judgement call.

~Ethan~

ru...@yahoo.com

unread,
Oct 20, 2009, 1:13:48 PM10/20/09
to
On 10/19/2009 03:24 PM, ru...@yahoo.com wrote:

> You think that was homework? Perhaps so but for the record
> here are some posts by some other people who suspected
> homework in the very recent past...

Updated...

2009-10-20
http://groups.google.com/group/comp.lang.python/browse_frm/thread/f7a8c5107e9d27bf#


Gary Heron wrote:
> This problem (and the OP's previous problem) are probably homework
> problems

Benjamin Middaugh wrote:
> Actually I was working on a program to test the so-called 196-algorithm
> as an extracurricular activity.

2009-10-03
http://groups.google.com/group/comp.lang.python/browse_frm/thread/9db27a55b2c43675/b6734fce87cb1896?lnk=gst&q=homework#b6734fce87cb1896

ru...@yahoo.com

unread,
Oct 20, 2009, 1:18:55 PM10/20/09
to
Why *not* answering a question in comp.lang.python
because you think it is homework is BAD.

1) It may look like a homework problem to you but it
probably isn't.
See http://groups.google.com/group/comp.lang.python/msg/8ac6db43b09fdc92

2) When you publicly accuse someone of "cheating" (and
even asking is tantamount to an accusation unless done
very tactfully), especially without anything more than
your "feelings" to back it up, you will likely anger
the poster, contribute to an generally unpleasant
atmosphere in the newsgroup, and intimidate other
people who want to ask legitimate questions.

3) You are not responding only to the original poster;
there are many other silent readers who are interested
in the answer and whom you are depriving of knowledge
by refusing to answer.

4) When you post a specific solution to a question,
usually a number of other people will respond with
alternate or better solutions. While perhaps overkill
for the original poster who likely will be satisfied
with any answer, such discussion greatly benefits
other readers.

5) Although "working out" an answer oneself is the usual
goal of homework problems, it is not the only way to
learn. Often, when one is really stuck, one can learn
what one is supposed to by seeing the fully worked out
problem's answer. You, who don't know anything about
the poster, are not in a position to decide for him/her
what the best way of learning is. The poster is also
free to ignore your answer if he/she chooses.

6) Please don't apply your abstract moral standards to
the entire rest of the world, knowing nothing about the
particular circumstances of the poster.

7) If the poster is determined to cheat, he/she will do
so with or without your help. Your self-righteous
stand will serve only to generate the above undesirable
results without changing the poster's behavior.

Of course, whether you choose to provide a specific
answer to something you think is homework, or not,
is ultimately a personal decision and you are free
to follow your conscious. Just please don't demand
that every other participant in this group adopt
your personal standards.

Falcolas

unread,
Oct 20, 2009, 1:48:24 PM10/20/09
to
On Oct 20, 11:18 am, ru...@yahoo.com wrote:
> Why *not* answering a question in comp.lang.python
> because you think it is homework is BAD.
>
> 1) It may look like a homework problem to you but it
>  probably isn't.
>  Seehttp://groups.google.com/group/comp.lang.python/msg/8ac6db43b09fdc92

Homework comes in many forms - school driven homework should be
treated the same as self driven research, IMO. You're not doing it to
be told the answer, you're likely doing it to learn.

> 2) When you publicly accuse someone of "cheating" (and
>  even asking is tantamount to an accusation unless done
>  very tactfully), especially without anything more than
>  your "feelings" to back it up, you will likely anger
>  the poster, contribute to an generally unpleasant
>  atmosphere in the newsgroup, and intimidate other
>  people who want to ask legitimate questions.

Arguing with a long standing Usenet and clp traditions are just as
likely to cause an unpleasant atmosphere.

> 3) You are not responding only to the original poster;
>  there are many other silent readers who are interested
>  in the answer and whom you are depriving of knowledge
>  by refusing to answer.

MRAB provided a perfect answer - anybody who wants to know more, or
could not connect the dots, can always ask for more information.

> 4) When you post a specific solution to a question,
>  usually a number of other people will respond with
>  alternate or better solutions.  While perhaps overkill
>  for the original poster who likely will be satisfied
>  with any answer, such discussion greatly benefits
>  other readers.

See previous.

> 5) Although "working out" an answer oneself is the usual
>  goal of homework problems, it is not the only way to
>  learn.  Often, when one is really stuck, one can learn
>  what one is supposed to by seeing the fully worked out
>  problem's answer.  You, who don't know anything about
>  the poster, are not in a position to decide for him/her
>  what the best way of learning is.  The poster is also
>  free to ignore your answer if he/she chooses.

Again, if the original, directing answer was not sufficient, the
original poster is welcome to ask for more information. Doing so will
likely help them as much as it would help this "silent reader"
population.

> 6) Please don't apply your abstract moral standards to
>  the entire rest of the world, knowing nothing about the
>  particular circumstances of the poster.

So, let the poster give the circumstances. We have just as much right
to question his motives as you have to question ours.

> 7) If the poster is determined to cheat, he/she will do
>  so with or without your help.  Your self-righteous
>  stand will serve only to generate the above undesirable
>  results without changing the poster's behavior.

How did MRAB's response negatively affect anybody?

> Of course, whether you choose to provide a specific
> answer to something you think is homework, or not,
> is ultimately a personal decision and you are free
> to follow your conscious.  Just please don't demand
> that every other participant in this group adopt
> your personal standards.

When you join a long standing community, you're expected to follow
their conventions. Don't top post, don't do someone else's homework,
etc.

Garrick

Steven D'Aprano

unread,
Oct 20, 2009, 5:16:07 PM10/20/09
to
On Tue, 20 Oct 2009 10:18:55 -0700, rurpy wrote:

> 6) Please don't apply your abstract moral standards to
> the entire rest of the world, knowing nothing about the particular
> circumstances of the poster.

Perhaps you should apply this rule to yourself, and stop telling us how
to respond to people who give (in our opinion) indications of being lazy
and dishonest.

It's not our responsibility to learn about the poster before answering.
It's the poster's responsibility to convince us that we should spend our
valuable time and knowledge helping them. If they don't make the effort,
well, too bad for them if they're offended. They should get over
themselves and realize we don't owe them anything -- not even a hearing.


--
Steven

ru...@yahoo.com

unread,
Oct 20, 2009, 6:47:10 PM10/20/09
to
On 10/20/2009 11:48 AM, Falcolas wrote:
> On Oct 20, 11:18 am, ru...@yahoo.com wrote:
>> Why *not* answering a question in comp.lang.python
>> because you think it is homework is BAD.

I got a little over-hyperbolic above and muddied the waters.
More accurately, this should have been, "Why insisting
that nobody directly answer a question in comp.lang.python


because you think it is homework is BAD."

I think the content of my previous posts made clear that
if you want to provide an experiential answer to a question,
that is fine. But please don't assume that is necessarily
the only style of answer or the best.

Since this is the rebuttal to several of your points below
I will refer to it as A1 and reference it below.

>> 1) It may look like a homework problem to you but it
>> probably isn't.
>> Seehttp://groups.google.com/group/comp.lang.python/msg/8ac6db43b09fdc92
>
> Homework comes in many forms - school driven homework should be
> treated the same as self driven research, IMO. You're not doing it to
> be told the answer, you're likely doing it to learn.

As I said in point (5), you are not in a position to
decide how someone else best learns, even if your guess
that the question is homework, contrary to the evidence
in the url, is correct.

>> 2) When you publicly accuse someone of "cheating" (and
>> even asking is tantamount to an accusation unless done
>> very tactfully), especially without anything more than
>> your "feelings" to back it up, you will likely anger
>> the poster, contribute to an generally unpleasant
>> atmosphere in the newsgroup, and intimidate other
>> people who want to ask legitimate questions.
>
> Arguing with a long standing Usenet and clp traditions are just as
> likely to cause an unpleasant atmosphere.

Matter of which is the least worst I suppose. As for
tradition, see below.

>> 3) You are not responding only to the original poster;
>> there are many other silent readers who are interested
>> in the answer and whom you are depriving of knowledge
>> by refusing to answer.
>
> MRAB provided a perfect answer - anybody who wants to know more, or
> could not connect the dots, can always ask for more information.

No. Forcing people to beg for bits and pieces of an answer
one at a time, doled out by a cabal of elite "gurus", is
humiliating and a disincentive. If you can answer the question,
do so without all the farting around. If you don't want too,
or you feel answering in bits and pieces is helpful, fine, do
that, but don't object to someone else providing a direct
answer.

>> 4) When you post a specific solution to a question,
>> usually a number of other people will respond with
>> alternate or better solutions. While perhaps overkill
>> for the original poster who likely will be satisfied
>> with any answer, such discussion greatly benefits
>> other readers.
>
> See previous.

Most of what I have learned about python from this group
I have learned by reading responses to other people's
questions. I would not in most cases bother to post a
request for clarification if the answers weren't clear.
So "see previous" is also my response.

>> 5) Although "working out" an answer oneself is the usual
>> goal of homework problems, it is not the only way to
>> learn. Often, when one is really stuck, one can learn
>> what one is supposed to by seeing the fully worked out
>> problem's answer. You, who don't know anything about
>> the poster, are not in a position to decide for him/her
>> what the best way of learning is. The poster is also
>> free to ignore your answer if he/she chooses.
>
> Again, if the original, directing answer was not sufficient, the
> original poster is welcome to ask for more information. Doing so will
> likely help them as much as it would help this "silent reader"
> population.

See previous.

>> 6) Please don't apply your abstract moral standards to
>> the entire rest of the world, knowing nothing about the
>> particular circumstances of the poster.
>
> So, let the poster give the circumstances. We have just as much right
> to question his motives as you have to question ours.

See A1 at top.

>> 7) If the poster is determined to cheat, he/she will do
>> so with or without your help. Your self-righteous
>> stand will serve only to generate the above undesirable
>> results without changing the poster's behavior.
>
> How did MRAB's response negatively affect anybody?

See A1 at top.

>> Of course, whether you choose to provide a specific
>> answer to something you think is homework, or not,
>> is ultimately a personal decision and you are free
>> to follow your conscious. Just please don't demand
>> that every other participant in this group adopt
>> your personal standards.
>
> When you join a long standing community, you're expected to follow
> their conventions. Don't top post, don't do someone else's homework,
> etc.

This is the only thing you wrote that resonates with me.
I would never dream of moving to Spain and immediately
start agitating to end the cruel sport of bullfighting
(though if it were already a contentious issue I might
join those already objecting). I would not move to
France and demand that French people stop drinking wine
because of the problems alcohol causes. But clp is
somehow different, even assuming that the no homework
help rule is actually a tradition as opposed to a few
dominant personalities and a bunch of wannabe followers.
Perhaps because "community" is more metaphorical than
actual in newsgroups? Or perhaps that I expect and
value diversity of opinion more on the internet than
in long-established real cultures? Whatever the reason,
I beleive the restriction of the free flow of information
resulting from trying to guess a poster's motives for
asking something is far more damaging overall than the
results of sometimes providing information that may be
misused.

ru...@yahoo.com

unread,
Oct 20, 2009, 6:51:57 PM10/20/09
to
On 10/20/2009 03:16 PM, Steven D'Aprano wrote:
> On Tue, 20 Oct 2009 10:18:55 -0700, rurpy wrote:
>
>> 6) Please don't apply your abstract moral standards to
>> the entire rest of the world, knowing nothing about the particular
>> circumstances of the poster.
>
> Perhaps you should apply this rule to yourself, and stop telling us how
> to respond to people who give (in our opinion) indications of being lazy
> and dishonest.

Eh? With the exception of the badly worded first
sentence in that post (which I corrected in another
response) I have consistently maintained that if you
feel a piece-meal or non-response is appropriate,
that is your prerogative.
From the very post you quote I wrote,

+ Of course, whether you choose to provide a specific
+ answer to something you think is homework, or not,
+ is ultimately a personal decision and you are free
+ to follow your conscious.

Please stop attributing to me things I did not say.

> It's not our responsibility to learn about the poster before answering.
> It's the poster's responsibility to convince us that we should spend our
> valuable time and knowledge helping them. If they don't make the effort,
> well, too bad for them if they're offended. They should get over
> themselves and realize we don't owe them anything -- not even a hearing.

Nice attitude. Not one I care to adopt though.

Lie Ryan

unread,
Oct 21, 2009, 3:40:11 AM10/21/09
to
ru...@yahoo.com wrote:
>>> 1) It may look like a homework problem to you but it
>>> probably isn't.
>>> Seehttp://groups.google.com/group/comp.lang.python/msg/8ac6db43b09fdc92
>> Homework comes in many forms - school driven homework should be
>> treated the same as self driven research, IMO. You're not doing it to
>> be told the answer, you're likely doing it to learn.
>
> As I said in point (5), you are not in a position to
> decide how someone else best learns, even if your guess
> that the question is homework, contrary to the evidence
> in the url, is correct.

Yes we do. If the person wanted a direct and straight answer (like most
cheaters) for such a simple question (like integer palindrome), googling
takes less time and efforts compared to posting to a mailing list.

OTOH, since the poster took the trouble of registering to a newsgroup,
posting his problem, waiting a few hours for replies, and checking the
group for replies, requesting clarification, thanking, and getting back
to normal day activities; this implies that he wanted explanations which
can only be provided with the more interactive newsgroup instead of a
relatively static websites.

>>> 3) You are not responding only to the original poster;
>>> there are many other silent readers who are interested
>>> in the answer and whom you are depriving of knowledge
>>> by refusing to answer.
>> MRAB provided a perfect answer - anybody who wants to know more, or
>> could not connect the dots, can always ask for more information.
>
> No. Forcing people to beg for bits and pieces of an answer
> one at a time, doled out by a cabal of elite "gurus", is
> humiliating and a disincentive. If you can answer the question,
> do so without all the farting around. If you don't want too,
> or you feel answering in bits and pieces is helpful, fine, do
> that, but don't object to someone else providing a direct
> answer.

Yes we have the right to complain, because a single post containing a
direct answer will *destroy the purpose of giving hints*.

Giving direct answer is too tempting for an OP that originally wanted to
try to solve by their own. It is too easy to copy and even the most
determined would have a difficult time to resist.

If the OP had wanted a direct answer, he should make an explicit note
about it. When that happen, the OP is not interested in studying about
the solution anyway and hints are useless.

Writing a direct answer is much, much, much easier than understanding
where specifically the OP is having trouble with. We wanted OP to post
their solution or at least their thought on the problem because we
wanted to see why the OP is having problems, so we can tailor the reply
specifically for the OP.

Not giving direct answers promotes active thinking, which is much more
important for programmers, direct answer gives rote memorization, which
is useless for programmers due to sophisticated documentations.

>>> 4) When you post a specific solution to a question,
>>> usually a number of other people will respond with
>>> alternate or better solutions. While perhaps overkill
>>> for the original poster who likely will be satisfied
>>> with any answer, such discussion greatly benefits
>>> other readers.
>> See previous.
>
> Most of what I have learned about python from this group
> I have learned by reading responses to other people's
> questions. I would not in most cases bother to post a
> request for clarification if the answers weren't clear.
> So "see previous" is also my response.

If you're still having problems but won't bother to post a request for
clarification, that means you don't take your *own problem* seriously
enough.

>>> Of course, whether you choose to provide a specific
>>> answer to something you think is homework, or not,
>>> is ultimately a personal decision and you are free
>>> to follow your conscious. Just please don't demand
>>> that every other participant in this group adopt
>>> your personal standards.
>> When you join a long standing community, you're expected to follow
>> their conventions. Don't top post, don't do someone else's homework,
>> etc.
>
> This is the only thing you wrote that resonates with me.
> I would never dream of moving to Spain and immediately
> start agitating to end the cruel sport of bullfighting
> (though if it were already a contentious issue I might
> join those already objecting). I would not move to
> France and demand that French people stop drinking wine
> because of the problems alcohol causes. But clp is
> somehow different, even assuming that the no homework
> help rule is actually a tradition

it actually is, in most (if not all) newsgroups. Most technical forums
follows this tradition;

as opposed to a few
> dominant personalities and a bunch of wannabe followers.

We ARE all wannabe followers. All humans copy from their elders and, if
you haven't realized, that is what education is about. Also, tradition
means "handing over, passing on" (wikipedia), a "dominant personalities
and a bunch of wannabe followers" fits into that description; the
culture of the dominant personalities is passed on to the wannabes.

Improvisations is an evolution, it happens slowly over a
veeeeeeeeeeeeeeeeeeeeeeeeery long period of time. The fundamental nature
of a community does not change with an overnight revolution; a
revolution will simply change the skin but the fundamentals will still
be the same.

Humans is the most advanced species in the world because we copy our
ancestors instead of reinventing the wheel all the time. If we hadn't
copied our ancestors, we will have people inventing fire and wheel all
the time.

As a metaphor, which one do you think is better in the long term:
charities or microcredits?

ru...@yahoo.com

unread,
Oct 21, 2009, 12:42:09 PM10/21/09
to
On 10/21/2009 01:40 AM, Lie Ryan wrote:
> ru...@yahoo.com wrote:
>>>> 1) It may look like a homework problem to you but it
>>>> probably isn't.
>>>> Seehttp://groups.google.com/group/comp.lang.python/msg/8ac6db43b09fdc92
>>> Homework comes in many forms - school driven homework should be
>>> treated the same as self driven research, IMO. You're not doing it to
>>> be told the answer, you're likely doing it to learn.
>>
>> As I said in point (5), you are not in a position to
>> decide how someone else best learns, even if your guess
>> that the question is homework, contrary to the evidence
>> in the url, is correct.
>
> Yes we do. If the person wanted a direct and straight answer (like most
> cheaters) for such a simple question (like integer palindrome), googling
> takes less time and efforts compared to posting to a mailing list.

In that particular case, yes. However many problem are
much more difficult to search for. You're also assuming
that every poster is a perfect decision-maker when deciding
how to seek help. Sorry, people are not as perfect as you
think.

> OTOH, since the poster took the trouble of registering to a newsgroup,
> posting his problem, waiting a few hours for replies, and checking the
> group for replies, requesting clarification, thanking, and getting back
> to normal day activities;

You are way overstating the effort involved here.
Especially if the poster has posted to the group before
usually the only significant effort is writing the message
(and thinking about the responses of course but that has
to be done no matter where the poster seeks help.)

You are also way understating the effort in Googling
something. I have spent literally days wading through
thousands of pages of Google results trying to find
accuate info before.

> this implies that he wanted explanations which
> can only be provided with the more interactive newsgroup instead of a
> relatively static websites.

No it doesn't imply any such thing. It is exactly this
narrowness of focus, this inability to see alternate
explanations, that is leading you to think that
providing hints is the single one and only right
way of responding to any simple question on this list.

They may post here because, ...(ready for this?)...
they want a direct answer to their question!

>>>> 3) You are not responding only to the original poster;
>>>> there are many other silent readers who are interested
>>>> in the answer and whom you are depriving of knowledge
>>>> by refusing to answer.
>>> MRAB provided a perfect answer - anybody who wants to know more, or
>>> could not connect the dots, can always ask for more information.
>>
>> No. Forcing people to beg for bits and pieces of an answer
>> one at a time, doled out by a cabal of elite "gurus", is
>> humiliating and a disincentive. If you can answer the question,
>> do so without all the farting around. If you don't want too,
>> or you feel answering in bits and pieces is helpful, fine, do
>> that, but don't object to someone else providing a direct
>> answer.
>
> Yes we have the right to complain,

Of course. This is usenet (or a very open mailing list
depending on your perspective.) You can complain or
say anything you want. As can I. However people will
pay attention to you or not based on the degree of sense
you make (in an ideal world) or based on other group-
dynamic things (in an imperfect world) or a combination
of both (in the real world).

> because a single post containing a
> direct answer will *destroy the purpose of giving hints*.

Which is precisely the problem, You claim that purpose
is the single, only, best way of helping the person you are
answering. I am simply claiming you don't know that, can't
in a general sense know that. If you want to play teacher
and provide that style of answer, fine. But since you
(collective) have demonstrated that you are not even
able to accurately identify when someone is asking about
a homework problem (but are still arrogantly willing to
try), it is pretty reasonable for us "thems" to doubt your
claims that you know the best way to answer questions
here. Since you haven't demonstrated your style of
answers is best, it unreasonable for you to insist
that it be the only style allowed.

Please remember, I am only saying that simply answering
a question, as asked, is not a bad thing. I really
would have thought this would be pretty uncontentious.
But then again, this is clp.

> Giving direct answer is too tempting for an OP that originally wanted to
> try to solve by their own. It is too easy to copy and even the most
> determined would have a difficult time to resist.

Baloney. When I ask a question in any forum I read
all the answers (although I might only skim those that
are duplicative, off-topic, or otherwise less relevent
to my goals). I extract from them all the information
I can. And if two answers provide the same information,
what's your problem? Are you angry that someone else
provided a more effective answer than you thus devaluing
your effort? Sorry, but that's just life. If it's
any consolation though, I for one note and appreciate
all responses, even if they are duplicative or even wrong.

> If the OP had wanted a direct answer, he should make an explicit note
> about it.

If I want *only* indirect answers, I will say so. If I
want *only* direct answers I will say so, In the absence
of either I expect that any kind of answers is ok.
I believe this in normal practice in most forms of human
communication.
BTW, are you aware that making *any* demands here on the
form answers should take is likely to result in some
hostility?

> When that happen, the OP is not interested in studying about
> the solution anyway and hints are useless.

Again, a completely unjustified conclusion.

> Writing a direct answer is much, much, much easier than understanding
> where specifically the OP is having trouble with.

Yes, I agree that is often true (at least if you leave
out the "much, much, much" part).

> We wanted OP to post
> their solution or at least their thought on the problem because we
> wanted to see why the OP is having problems, so we can tailor the reply
> specifically for the OP.

"We"? Other "we"s have said both in this thread and others
that "we" want to see the poster's attempts to prove that
the poster is not simply trying to get his work done for
him. Maybe you "we"s should get your stories straight?

But regardless, repeating what I've already said umpteen
times, fine, ask. What does that have to do with someone
who simply answers the question that a poster asked?

> Not giving direct answers promotes active thinking, which is much more
> important for programmers, direct answer gives rote memorization, which
> is useless for programmers due to sophisticated documentations.

Hogwash.

>>>> 4) When you post a specific solution to a question,
>>>> usually a number of other people will respond with
>>>> alternate or better solutions. While perhaps overkill
>>>> for the original poster who likely will be satisfied
>>>> with any answer, such discussion greatly benefits
>>>> other readers.
>>> See previous.
>>
>> Most of what I have learned about python from this group
>> I have learned by reading responses to other people's
>> questions. I would not in most cases bother to post a
>> request for clarification if the answers weren't clear.
>> So "see previous" is also my response.
>
> If you're still having problems but won't bother to post a request for
> clarification, that means you don't take your *own problem* seriously
> enough.

1. Where did I say I was (hypothetically) "having problems"?
2. Can you think of any other reason besides "not taking
my own problems seriously enough" that might result in
my deciding not to post a question to this group?
3. Do you think that the ability to accurately read a
post and think logically about it is important when
try to help by answering questions here?
4. Do you think that people who demonstrate an inability
to do this should be trying to dictate how everybody
else here should respond?

[...snip interesting but irrelevant diversion into the
nature of human society and evolution...]

> As a metaphor, which one do you think is better in the long term:
> charities or microcredits?

Both of course. Why on earth would anyone think there
is a simple, single, best answer for complex problems?

Tim Chase

unread,
Oct 21, 2009, 4:56:01 PM10/21/09
to pytho...@python.org
ru...@yahoo.com wrote:
> On 10/21/2009 01:40 AM, Lie Ryan wrote:
>> ru...@yahoo.com wrote:
>>>>> 1) It may look like a homework problem to you but it
>>>>> probably isn't.
>>>>> Seehttp://groups.google.com/group/comp.lang.python/msg/8ac6db43b09fdc92
>>>> Homework comes in many forms - school driven homework should be
>>>> treated the same as self driven research, IMO. You're not doing it to
>>>> be told the answer, you're likely doing it to learn.
>>> As I said in point (5), you are not in a position to
>>> decide how someone else best learns, even if your guess
>>> that the question is homework, contrary to the evidence
>>> in the url, is correct.

Amusingly, this came along today:
http://lifehacker.com/5386722/get-it-wrong-before-you-google-to-learn-it-better

I'd postulate that the same holds for heaving a question out on
c.l.p without taking at crack at it yourself. Try it, and if you
fail, take your findings to the great Google or to Usenet. But
not even trying (or evidencing your effort) is bound to get you
ignored or derided. Effectively "Hey programmer people, do my
work for me".

>> OTOH, since the poster took the trouble of registering to a newsgroup,
>> posting his problem, waiting a few hours for replies, and checking the
>> group for replies, requesting clarification, thanking, and getting back
>> to normal day activities;
>
> You are way overstating the effort involved here.
> Especially if the poster has posted to the group before
> usually the only significant effort is writing the message
> (and thinking about the responses of course but that has
> to be done no matter where the poster seeks help.)

While some usenet relays throw up more roadblocks than others,
with both Google Groups and various other usenet hosts, posting
to a newsgroup is a pretty simple task with little more effort
than typing in a couple text-boxes.

> You are also way understating the effort in Googling
> something. I have spent literally days wading through
> thousands of pages of Google results trying to find
> accuate info before.

This seems more to be a lack of your own google-fu...

> No it doesn't imply any such thing. It is exactly this
> narrowness of focus, this inability to see alternate
> explanations, that is leading you to think that
> providing hints is the single one and only right
> way of responding to any simple question on this list.
>
> They may post here because, ...(ready for this?)...
> they want a direct answer to their question!

The best way to get a direct answer is to show that you've
already made some effort. Usually this involves including some
code. It's a newsgroup composed of people volunteering their
time conversing with others, not a vending-machine thanklessly
spewing free answers.

> Which is precisely the problem, You claim that purpose
> is the single, only, best way of helping the person you are
> answering. I am simply claiming you don't know that, can't
> in a general sense know that. If you want to play teacher
> and provide that style of answer, fine. But since you
> (collective) have demonstrated that you are not even
> able to accurately identify when someone is asking about
> a homework problem (but are still arrogantly willing to
> try), it is pretty reasonable for us "thems" to doubt your
> claims that you know the best way to answer questions

Just because you can find a few examples where intuition was
wrong doesn't mean it's not the correct approach. Contrariwise,
it's good evidence that many folks laugh it off and give enough
context to demonstrate it's not homework (such as . However
folks clearly do post homework questions to the list (I'm
particularly amused by the ones that forget to remove the
question number from the homework they copy&pasted from) and most
list-members can detect the scent of homework compared to real work.

> Please remember, I am only saying that simply answering
> a question, as asked, is not a bad thing.

My hope then is that these people whom you coddle with spoon-fed
answers end up working with/for you instead of me.

-tkc

Lie Ryan

unread,
Oct 21, 2009, 5:13:50 PM10/21/09
to
ru...@yahoo.com wrote:
> On 10/21/2009 01:40 AM, Lie Ryan wrote:
>> ru...@yahoo.com wrote:
>>>>> 1) It may look like a homework problem to you but it
>>>>> probably isn't.
>>>>> Seehttp://groups.google.com/group/comp.lang.python/msg/8ac6db43b09fdc92
>>>> Homework comes in many forms - school driven homework should be
>>>> treated the same as self driven research, IMO. You're not doing it to
>>>> be told the answer, you're likely doing it to learn.
>>> As I said in point (5), you are not in a position to
>>> decide how someone else best learns, even if your guess
>>> that the question is homework, contrary to the evidence
>>> in the url, is correct.
>> Yes we do. If the person wanted a direct and straight answer (like most
>> cheaters) for such a simple question (like integer palindrome), googling
>> takes less time and efforts compared to posting to a mailing list.
>
> In that particular case, yes. However many problem are
> much more difficult to search for. You're also assuming
> that every poster is a perfect decision-maker when deciding
> how to seek help. Sorry, people are not as perfect as you
> think.

Read again: "for such a simple question"

>> this implies that he wanted explanations which
>> can only be provided with the more interactive newsgroup instead of a
>> relatively static websites.
>
> No it doesn't imply any such thing. It is exactly this
> narrowness of focus, this inability to see alternate
> explanations, that is leading you to think that
> providing hints is the single one and only right
> way of responding to any simple question on this list.
>
> They may post here because, ...(ready for this?)...
> they want a direct answer to their question!

Whooaa, I didn't know that...

Baaakaaa...

They should just say if they want to.

>>>>> 3) You are not responding only to the original poster;
>>>>> there are many other silent readers who are interested
>>>>> in the answer and whom you are depriving of knowledge
>>>>> by refusing to answer.
>>>> MRAB provided a perfect answer - anybody who wants to know more, or
>>>> could not connect the dots, can always ask for more information.
>>> No. Forcing people to beg for bits and pieces of an answer
>>> one at a time, doled out by a cabal of elite "gurus", is
>>> humiliating and a disincentive. If you can answer the question,
>>> do so without all the farting around. If you don't want too,
>>> or you feel answering in bits and pieces is helpful, fine, do
>>> that, but don't object to someone else providing a direct
>>> answer.
>> Yes we have the right to complain,
>
> Of course. This is usenet (or a very open mailing list
> depending on your perspective.) You can complain or
> say anything you want. As can I. However people will
> pay attention to you or not based on the degree of sense
> you make (in an ideal world) or based on other group-
> dynamic things (in an imperfect world) or a combination
> of both (in the real world).

I have nothing to say about that, just let others decide.

>> Giving direct answer is too tempting for an OP that originally wanted to
>> try to solve by their own. It is too easy to copy and even the most
>> determined would have a difficult time to resist.
>
> Baloney. When I ask a question in any forum I read
> all the answers (although I might only skim those that
> are duplicative, off-topic, or otherwise less relevent
> to my goals). I extract from them all the information
> I can. And if two answers provide the same information,
> what's your problem? Are you angry that someone else
> provided a more effective answer than you thus devaluing
> your effort? Sorry, but that's just life. If it's
> any consolation though, I for one note and appreciate
> all responses, even if they are duplicative or even wrong.

Effective for one day does not mean it is also effective for the next
forty-two years.

Education is a long term goal, not just a short-sighted, short-term goal
like to get the highest mark in the exam or finishing an assignment with
the best mark in the class.

>> When that happen, the OP is not interested in studying about
>> the solution anyway and hints are useless.
>
> Again, a completely unjustified conclusion.

Can you justify your own conclusion then? If you haven't realized, the
burden of proof is on you who opposes the current long-standing ethics.

>> As a metaphor, which one do you think is better in the long term:
>> charities or microcredits?
>
> Both of course. Why on earth would anyone think there
> is a simple, single, best answer for complex problems?

Nope, read again. On the *long term* (as I have stated in the question),
microcredits is proven to be much more effective to solving poverty. In
the short term, charities will have much quicker effect but not one that
is lasting and in fact too much charities makes a lot more problems.

Education have time as much as your life-time, short term quickie answer
is discouraged in favor of a longer lasting solution. OTOH, if the OP
wanted to use the script in the workplace; that is a short term goal
that can often be justified.

my .02

ru...@yahoo.com

unread,
Oct 22, 2009, 1:48:34 AM10/22/09
to
On 10/21/2009 02:56 PM, Tim Chase wrote:
> ru...@yahoo.com wrote:
>> On 10/21/2009 01:40 AM, Lie Ryan wrote:
>>> ru...@yahoo.com wrote:
>>>>>> 1) It may look like a homework problem to you but it
>>>>>> probably isn't.
>>>>>> Seehttp://groups.google.com/group/comp.lang.python/msg/8ac6db43b09fdc92
>>>>> Homework comes in many forms - school driven homework should be
>>>>> treated the same as self driven research, IMO. You're not doing it to
>>>>> be told the answer, you're likely doing it to learn.
>>>> As I said in point (5), you are not in a position to
>>>> decide how someone else best learns, even if your guess
>>>> that the question is homework, contrary to the evidence
>>>> in the url, is correct.
>
> Amusingly, this came along today:
> http://lifehacker.com/5386722/get-it-wrong-before-you-google-to-learn-it-better

Cool! That's great news! The educational community has
been arguing for centuries about the best ways to teach
people. I am glad that Scientific American article has
finally settled the matter.

> I'd postulate that the same holds for heaving a question out on
> c.l.p without taking at crack at it yourself. Try it, and if you
> fail, take your findings to the great Google or to Usenet. But
> not even trying (or evidencing your effort) is bound to get you
> ignored or derided. Effectively "Hey programmer people, do my
> work for me".

You're conflating two separate issues. 1) Whether trying
to write code to solve a problem before seeing working
code is helpful to learning or not, and 2) Whether you
are being taken advantage of by being conned into doing
something for someone else who themselves didn't do as
much work as you think they should have.

1) is about helping the poster.
2) is about you.

I suspect that 2 is really the most important to you.

>[...]


>> You are also way understating the effort in Googling
>> something. I have spent literally days wading through
>> thousands of pages of Google results trying to find
>> accuate info before.
>
> This seems more to be a lack of your own google-fu...

Could be. However the first time I realized the Google
wasn't the miracle I originally thought it was is when I
had an Windows NT machine that would sometimes refuse to
let me delete a file, reporting only the classically
Windowsesque message, "Unable to delete file". Try
googling for "windows NT file delete" sometime. The
point being the successful searching is highly dependent
on having specific search terms.

>> No it doesn't imply any such thing. It is exactly this
>> narrowness of focus, this inability to see alternate
>> explanations, that is leading you to think that
>> providing hints is the single one and only right
>> way of responding to any simple question on this list.
>>
>> They may post here because, ...(ready for this?)...
>> they want a direct answer to their question!
>
> The best way to get a direct answer is to show that you've
> already made some effort. Usually this involves including some
> code. It's a newsgroup composed of people volunteering their
> time conversing with others, not a vending-machine thanklessly
> spewing free answers.

This discussion is not about the best way to get
answers (about which I happen to agree with you); it
is about whether you have the moral right not only
to *demand* that a poster follow your guidelines but
to also *demand* that I *not* offer help to a poster
because *you* think the poster doesn't deserve it.
Sorry but I prefer to rely on my own judgment in such
cases.

>[...]


>
> My hope then is that these people whom you coddle with spoon-fed
> answers end up working with/for you instead of me.

This illustrates part of the problem. You apparently
see every poster as a professional Python programmer
who is or will be working in a software shop doing
professional development. I concede that is true for
many posters but there are a lot of people who don't
fit that profile -- syadmin's who need to automate
some of their tasks, students and computer aficionados
who want to write a program to manage their mp3 collection,
scientists and engineers who are more interested in
getting an answer than writing unit tests, retirees
who want a new challenge to stave off Alzheimers,
home linux computer users who want to fix or modify
a system tool, and on and on...

Not all of these people want to be "taught" in bits
and pieces over several posts, the correct way of
professionally programming in Python, especially not
by a method that you, who are not even trained in
educational methods and are working without any sort
of plan or curriculum, decide is the best, only, way
to learn.

And even for the to-be professional programmers, you
still have not shown that seeing a worked out example
of a problem is necessarily damaging. As I related
earlier, from my personal experience I know this is
not true -- in my case the opposite was true; a simple
direct answer more beneficial than the long experiential
answer.

ru...@yahoo.com

unread,
Oct 22, 2009, 1:53:29 AM10/22/09
to
On 10/21/2009 03:13 PM, Lie Ryan wrote:
> > ru...@yahoo.com wrote:
>> >> On 10/21/2009 01:40 AM, Lie Ryan wrote:
[...]

>>> >>> As a metaphor, which one do you think is better in the long term:
>>> >>> charities or microcredits?
>> >>
>> >> Both of course. Why on earth would anyone think there
>> >> is a simple, single, best answer for complex problems?
> >
> > Nope, read again. On the *long term* (as I have stated in the question),
> > microcredits is proven to be much more effective to solving poverty. In
> > the short term, charities will have much quicker effect but not one that
> > is lasting and in fact too much charities makes a lot more problems.

Uh, let's see, charity is no longer needed since micro-
credits have been *proven* to eliminate their need.

OK. Since we have now entered la-la land, I think
I'll let myself out quietly by the back door... :-)

Steven D'Aprano

unread,
Oct 22, 2009, 2:35:47 AM10/22/09
to
On Wed, 21 Oct 2009 22:53:29 -0700, rurpy wrote:

> On 10/21/2009 03:13 PM, Lie Ryan wrote:
>> > ru...@yahoo.com wrote:
>>> >> On 10/21/2009 01:40 AM, Lie Ryan wrote:
> [...]
>>>> >>> As a metaphor, which one do you think is better in the long term:
>>>> >>> charities or microcredits?
>>> >>
>>> >> Both of course. Why on earth would anyone think there is a simple,
>>> >> single, best answer for complex problems?
>> >
>> > Nope, read again. On the *long term* (as I have stated in the
>> > question), microcredits is proven to be much more effective to
>> > solving poverty. In the short term, charities will have much quicker
>> > effect but not one that is lasting and in fact too much charities
>> > makes a lot more problems.
>
> Uh, let's see, charity is no longer needed since micro- credits have
> been *proven* to eliminate their need.

Lie did not say that. Rurpy, how stupid do you take us for, leaving Lie's
direct quote there in your email and then outrageously misrepresenting
him like that?

What Lie actually said, rather than your fantasy interpretation, is not
only intuitively obvious, but also supported by the evidence:

* charities can have a good effect very quickly;
* but reliance on charity in the long-term breeds dependency and
encourages corruption;
* long term solutions for solving poverty require empowering individuals;
* micro-credits are often a good way to empower individuals with little
risk to the lender.

The motto about giving a man a fish to feed him for a day, versus
teaching him to fish to feed him for life, applies here. Why you think
any of this is controversial is beyond me.

Of course, micro-credits aren't a panacea -- the Wikipedia article
discusses some of the limits and problems with them:

http://en.wikipedia.org/wiki/Microcredit

--
Steven

ru...@yahoo.com

unread,
Oct 22, 2009, 3:15:22 AM10/22/09
to
On 10/22/2009 12:35 AM, Steven D'Aprano wrote:
> On Wed, 21 Oct 2009 22:53:29 -0700, rurpy wrote:
>
>> On 10/21/2009 03:13 PM, Lie Ryan wrote:
>>> > ru...@yahoo.com wrote:
>>>> >> On 10/21/2009 01:40 AM, Lie Ryan wrote:
>> [...]
>>>>> >>> As a metaphor, which one do you think is better in the long term:
>>>>> >>> charities or microcredits?
>>>> >>
>>>> >> Both of course. Why on earth would anyone think there is a simple,
>>>> >> single, best answer for complex problems?
>>> >
>>> > Nope, read again. On the *long term* (as I have stated in the
>>> > question), microcredits is proven to be much more effective to
>>> > solving poverty. In the short term, charities will have much quicker
>>> > effect but not one that is lasting and in fact too much charities
>>> > makes a lot more problems.
>>
>> Uh, let's see, charity is no longer needed since micro- credits have
>> been *proven* to eliminate their need.
>
> Lie did not say that. Rurpy, how stupid do you take us for, leaving Lie's
> direct quote there in your email and then outrageously misrepresenting
> him like that?

What he said was, "which one do you think is better


in the long term: charities or microcredits?"

I said, "both" (thinking in the sense that both are
necessary.)
He said, "Nope".
I concluded that means one or the other is better
followed by the unjustified conclusion (influenced
by his incorrect claim that microcredits were
*proven* and *much* more effective than charity)
that if one was better then the other was unnecessary.

My apologies Lie, for misrepresenting you.

However I don't agree that micro credits are
"better" (whatever that means) than charity but
am not interested in arguing the point here.

Dieter Maurer

unread,
Oct 22, 2009, 1:04:17 AM10/22/09
to pytho...@python.org
Steven D'Aprano <ste...@REMOVE.THIS.cybersource.com.au> writes on 20 Oct 2009 05:35:18 GMT:

> As far as I'm concerned, asking for help on homework without being honest
> up-front about it and making an effort first, is cheating by breaking the
> social contract. Anyone who rewards cheaters by giving them the answer
> they want is part of the problem. Whether cheaters prosper in the long
> run or not, they make life more difficult for the rest of us, and should
> be discouraged.

A few days ago, I have read an impressive book: "Albert Jacquard: Mon utopie".
The author has been a university professor (among others for
population genectics, a discipline between mathematics and biologie).
One of the corner therories in his book: mankind has reached the current
level of development not mainly due to exceptional work by individuals
but by the high level of cooperation between individuals.

In this view, asking for help (i.e. seeking communication/cooperation)
with individual tasks should probably be highly encouraged not discouraged.
At least, it is highly doubtful that the paradigm "each for himself,
the most ruthless wins" will be adequate for the huge problems mankind
will face in the near future (defeating hunger, preventing drastic
climate changes, natural resources exhaustion, ....); intensive
cooperation seems to be necessary.

Dieter

Andre Engels

unread,
Oct 22, 2009, 4:24:56 AM10/22/09
to Dieter Maurer, pytho...@python.org
On Thu, Oct 22, 2009 at 7:04 AM, Dieter Maurer <die...@handshake.de> wrote:
> Steven D'Aprano <ste...@REMOVE.THIS.cybersource.com.au> writes on 20 Oct 2009 05:35:18 GMT:
>> As far as I'm concerned, asking for help on homework without being honest
>> up-front about it and making an effort first, is cheating by breaking the
>> social contract. Anyone who rewards cheaters by giving them the answer
>> they want is part of the problem. Whether cheaters prosper in the long
>> run or not, they make life more difficult for the rest of us, and should
>> be discouraged.
>
> A few days ago, I have read an impressive book: "Albert Jacquard: Mon utopie".
> The author has been a university professor (among others for
> population genectics, a discipline between mathematics and biologie).
> One of the corner therories in his book: mankind has reached the current
> level of development not mainly due to exceptional work by individuals
> but by the high level of cooperation between individuals.
>
> In this view, asking for help (i.e. seeking communication/cooperation)
> with individual tasks should probably be highly encouraged not discouraged.
> At least, it is highly doubtful that the paradigm "each for himself,
> the most ruthless wins" will be adequate for the huge problems mankind
> will face in the near future (defeating hunger, preventing drastic
> climate changes, natural resources exhaustion, ....); intensive
> cooperation seems to be necessary.

I think you are much mis-interpreting the quoted text here. Steven is
arguing against "asking for help on homework **without being honest
up-front about it and making an effort first**". We are all willing to
help people who say "For such-and-such homework assignment I created
this-and-that program but I still cannot work out how to do so-and-so
part." The problems come when someone shoves a simple problem at us,
and basically says "I must write this simple program, please do it for
me." The canned response for that is "What have you tried and where
did you get problems?" - look for a way to cooperate with people, to
help them where that is necessary. What is being argued against is to
just give the people the code in such a case. Steven and others are
*looking for* cooperation, not shying away from it. Cooperation in the
form of "try to do it yourself, and if that fails, we will help you".
What we don't want is 'cooperation' in the form "just shove your
problem on our plate and consider yourself done".

--
André Engels, andre...@gmail.com

Mel

unread,
Oct 22, 2009, 8:13:05 AM10/22/09
to
Dieter Maurer wrote:

> Steven D'Aprano <ste...@REMOVE.THIS.cybersource.com.au> writes on 20 Oct
> 2009 05:35:18 GMT:
>> As far as I'm concerned, asking for help on homework without being honest
>> up-front about it and making an effort first, is cheating by breaking the
>> social contract. Anyone who rewards cheaters by giving them the answer
>> they want is part of the problem. Whether cheaters prosper in the long
>> run or not, they make life more difficult for the rest of us, and should
>> be discouraged.
>
> A few days ago, I have read an impressive book: "Albert Jacquard: Mon
> utopie". The author has been a university professor (among others for
> population genectics, a discipline between mathematics and biologie).
> One of the corner therories in his book: mankind has reached the current
> level of development not mainly due to exceptional work by individuals
> but by the high level of cooperation between individuals.

A false dualism, IMHO. It's true that cooperation lets good ideas spread
throughout the general human culture. However, every good idea has to start
somewhere, with an individual or a tiny group. Pressing people to
appreciate and (with luck) originate good ideas is a good thing.
Particularly in education. It takes a person about eight years from birth
to being able to copy something. I think the ten years of education after
that should try for more.

Look at where we are now. A game of follow-the-leader has run out of
control and crashed the world economy. A little more critical thinking
might have been nice.

Mel.


ru...@yahoo.com

unread,
Oct 22, 2009, 1:05:48 PM10/22/09
to

This are several issues the originating thread.
q) How a posted question can be categorized:
q1) A posted question
q1a) is a homework problem.
q1a1) Poster was "up front" about it.
q1a2) Poster failed to mention it was homework.
(AFAICR, Steven was the only one to include this "honesty" issue.)
q1b) isn't a homework problem.
q2) The poster
q2a) supplied code or other evidence that he tried to code a
solution.
q2b) didn't supply such evidence.

r) And how it should be responded to:
r1) What kind of answer to provide.
r1a) No answer.
r1b) Hints, possibly a number of them sequentially.
r1c) Actual example code.
r2) Who should make the decision about (r1).
r2a) One of the group's "we"s.
r2b) Each participant based on his/her own judgment.

While you say Steven is concerned about the combination
q1a.q2b concern about q2b is really independent of q1.

> We are all willing to
> help people who say "For such-and-such homework assignment I created
> this-and-that program but I still cannot work out how to do so-and-so
> part." The problems come when someone shoves a simple problem at us,
> and basically says "I must write this simple program, please do it for
> me." The canned response for that is "What have you tried and where
> did you get problems?" - look for a way to cooperate with people, to
> help them where that is necessary. What is being argued against is to
> just give the people the code in such a case. Steven and others are
> *looking for* cooperation, not shying away from it. Cooperation in the
> form of "try to do it yourself, and if that fails, we will help you".
> What we don't want is 'cooperation' in the form "just shove your
> problem on our plate and consider yourself done".

That kind cooperation is similar to the cooperation
demanded by police when interrogating a suspect, i.e.
it is not really cooperation, it is coercion ("we" will
punish you (by not answering your question) unless you
do what we tell you to). The power to provide an answer
or not resides exclusively with the answerer, the
questioner has almost nothing to bargain with.
(Although the concept of "cooperation" seems fuzzy
enough that it could be argued over forever.)

While there are undoubtedly cheaters and those who
want to (as the stereotype goes) get an answer without
doing any work themselves for either their programming
course or to prevent "us" from feeling taken advantage
of, I personally feel that many cases do not fit that
stereotype -- the posters have made an attempt on the
problem and simply failed to mention it, or were too
intimidated by the problem to attempt code, or did provide
evidence but in a form that does not satisfy one of the
regulars, or some other perfectly innocent explanation.
Thus, in general, I prefer to cooperate with them by
answering their question. Of course if it becomes
clear that the poster really is taking advantage of
my (or our) cooperation then I will stop cooperating
with him/her.

It is rather like the legal systems of many countries
that consider the harm done by punishing the innocent
more evil than the harm done by failing to punish the
guilty.

Overall, I think that cooperating with those asking
questions here will improve the tone of this group,
improve the image of the python community, attract
more people to Python, and ultimately further (in a
tiny way) the free flow of information that is the
foundation of FOSS and liberty itself -- the benefits
to human society that I think the book Dieter Maurer
described says are among the results of cooperation.

0 new messages