Re: [Python-Dev] GitHub mirror (Was: Bitbucket mirror?)

2012-07-05 Thread Petri Lehtinen
anatoly techtonik wrote:
 On the subject. Is there a mirror of CPython on GitHub?

https://github.com/akheron/cpython

 changes to repository (and allows anonymous to do this). I've made
 more than a dozen proposal for fixing docs, because as a matter of
 fact - filling a bug AND explaining why docs are wrong, why they need
 to be fixed, what should be added - all of this is a way *much easier*
 (and less time consuming!) than just fixing them. Unfortunately.

You won't get any changes in to CPython by creating pull requests. We
use http://bugs.python.org/ for that, sorry.
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] [Python-ideas] itertools.chunks(iterable, size, fill=None)

2012-07-05 Thread anatoly techtonik
Before anything else I must apologize for significant lags in my
replies. I can not read all of them to hold in my head, so I reply one
by one as it goes trying not to miss a single point out there. It
would be much easier to do this in unified interface for threaded
discussions, but for now there is no capabilities for that neither in
Mailman nor in GMail. And when it turns out that the amount of text is
too big, and I spend a lot of time trying to squeeze it down and then
it becomes pointless to send at all.

Now back on the topic:

On Sun, Jul 1, 2012 at 12:09 AM, Terry Reedy tjre...@udel.edu wrote:
 On 6/29/2012 4:32 PM, Georg Brandl wrote:

 On 26.06.2012 10:03, anatoly techtonik wrote:

 Now that Python 3 is all about iterators (which is a user killer
 feature for Python according to StackOverflow -
 http://stackoverflow.com/questions/tagged/python) would it be nice to
 introduce more first class functions to work with them? One function
 to be exact to split string into chunks.

 Nothing special about strings.

It seemed so, but it just appeared that grouper recipe didn't work for me.

  itertools.chunks(iterable, size, fill=None)

 This is a renaming of itertools.grouper in 9.1.2. Itertools Recipes. You
 should have mentioned this. I think of 'blocks' rather than 'chunks', but I
 notice several SO questions with 'chunk(s)' in the title.

I guess `block` gives too low signal/noize ration in search results.
That's why it probably also called chunks in other languages, where
`block` stand for something else (I speak of Ruby blocks).

 Which is the 33th most voted Python question on SO -

 http://stackoverflow.com/questions/312443/how-do-you-split-a-list-into-evenly-sized-chunks-in-python/312464

 I am curious how you get that number. I do note that there are about 15
 other Python SO questions that seem to be variations on the theme. There
 might be more if 'blocks' and 'groups' were searched for.

It's easy:
1. Go http://stackoverflow.com/
2. Search [python]
3. Click `votes` tab
4. Choose `30 per page` at the bottom
5. Jump to the second page, there it is 4th from the top:
http://stackoverflow.com/questions/tagged/python?page=2sort=votespagesize=30

As for duplicates - feel free to mark them as such. SO allows
everybody to do this (unlike Roundup).

 Anatoly, so far there were no negative votes -- would you care to go
 another step and propose a patch?

 That is because Raymond H. is not reading either list right now ;-)
 Hence the Cc:. Also because I did not yet respond to a vague, very
 incomplete idea.

 From Raymond's first message on http://bugs.python.org/issue6021 , add
 grouper:

 This has been rejected before.

I quite often see such arguments and I can't stand to repeat that
these are not arguments. It is good to know, but when people use that
as a reason to close tickets - that's just disgusting. To the
Raymond's honor he cares to explain.

 * It is not a fundamental itertool primitive.  The recipes section in
 the docs shows a clean, fast implementation derived from zip_longest().

What is the definition of 'fundamental primitive'?
To me the fact that top answer for chunking strings on SO has 2+ times
more votes than itertools versions is a clear 5 sigma indicator that
something is wrong with this Standard model without chunks boson.

 * There is some debate on a correct API for odd lengths.  Some people
 want an exception, some want fill-in values, some want truncation, and
 some want a partially filled-in tuple.  The alone is reason enough not
 to set one behavior in stone.

use case 3.1: odd lengths exception (CHOOSE ONE)
1. I see that no itertools function throws exceptions, check manually:
len(iterable) / float(size) ==  len(iterable) // float(size)
2. Explicitly
  -  itertools.chunks(iterable, size, fill=None)
  +  itertools.chunks(iterable, size, fill=None, exception=False)

use case 3.2. fill in value. it is here (SOLVED)

use case 3.3: truncation
no itertools support truncation, do manually
   chunks(iter, size)[:len(iter)//size)

use case 4: partially filled-in tuple
  What should be there?
chunks('ABCDEFG', 3, 'x')
|


More replies and workarounds to some of the raised points are below.

 * There is an issue with having too many itertools.  The module taken as
 a whole becomes more difficult to use as new tools are added.

There can be only two reasons to that:
* chosen basis is bad (many functions that are rarely used or easily emulated)
* basis is good, but insufficient, because iterators universe is more
complicated
  than we think

 This is not to say that the question should not be re-considered. Given the
 StackOverflow experience in addition to that of the tracker and python-list
 (and maybe python-ideas), a special exception might be made in relation to
 points 1 and 3.

--[offtopic about Python enhancements / proposals feedback]--
Yes, without SO I probably wouldn't trigger this at all. Because
tracker doesn't help with raising importance - there are 

Re: [Python-Dev] [Python-ideas] itertools.chunks(iterable, size, fill=None)

2012-07-05 Thread anatoly techtonik
On Sun, Jul 1, 2012 at 3:01 PM, Stefan Behnel stefan...@behnel.de wrote:

 To address the main problem of users not finding what they need, what about
 simply extending the docstring of the grouper() function with a sentence
 like this:

 This functionality is also called 'chunking' or 'blocking' and can be used
 for load distribution and sharding.

 That would make it easy for users to find what they are looking for when
 they search the page for chunk. I find that a much more common and less
 ambiguous name than grouping, which reminds me more of group by.

In appeared that chunking and grouping are different kind of
tasks. You can chunk a sequence (sting) by slicing it into smaller
sequences, but you can not chunk in iterable - you can only group it.

There is an data loss about the structure that occurs when a sequence
(string) becomes an iterator:
 chunks ABCDE - AB CD E
 group ABCDE - A B C D E - (A B) (C D) (D E)
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] [Python-ideas] itertools.chunks(iterable, size, fill=None)

2012-07-05 Thread Barry Warsaw
On Jul 05, 2012, at 04:36 PM, anatoly techtonik wrote:

It would be much easier to do this in unified interface for threaded
discussions, but for now there is no capabilities for that neither in Mailman
nor in GMail.

You might like to read the mailing lists via NNTP on Gmane.

Cheers,
-Barry
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] [Python-ideas] itertools.chunks(iterable, size, fill=None)

2012-07-05 Thread anatoly techtonik
On Wed, Jul 4, 2012 at 9:31 PM, Terry Reedy tjre...@udel.edu wrote:
 On 7/4/2012 5:57 AM, anatoly techtonik wrote:

 On Fri, Jun 29, 2012 at 11:32 PM, Georg Brandl g.bra...@gmx.net wrote:


 Anatoly, so far there were no negative votes -- would you care to go
 another step and propose a patch?


 Was about to say no problem,


 Did you read that there *are* strong negative votes? And that this idea has
 been rejected before? I summarized the objections in my two responses and
 pointed to the tracker issues. One of the objections is that there are 4
 different things one might want if the sequence length is not an even
 multiple of the chunk size. Your original 'idea' did not specify.

I actually meant that there is a problem to propose a patch in the
sense of getting checkout, working on a diff, sending it by attaching
to bug tracker as developer guide says.

 For now the best thing I can do (I don't risk even to mention anything
 with 3.3) is to copy/paste code from the docs here:

 from itertools import izip_longest
 def chunks(iterable, size, fill=None):
  Split an iterable into blocks of fixed-length
  # chunks('ABCDEFG', 3, 'x') -- ABC DEF Gxx
  args = [iter(iterable)] * size
  return izip_longest(fillvalue=fill, *args)


 Python ideas is about Python 3 ideas. Please post Python 3 code.

 This is actually a one liner

 return zip_longest(*[iter(iterable)]*size, fillvalue=file)

 We don't generally add such to the stdlib.

Can you figure out from the code what this stuff does?
It doesn't give chunks of strings.

 BTW, this doesn't work as expected (at least for strings). Expected is:
chunks('ABCDEFG', 3, 'x') -- 'ABC' 'DEF' 'Gxx'
 got:
chunks('ABCDEFG', 3, 'x') -- ('A' 'B' 'C') ('D' 'E' 'F') ('G' 'x' 'x')


 One of the problems with idea of 'add a chunker' is that there are at least
 a dozen variants that different people want.

That's not the problem. People always want something extra. The
problem that we don't have a real wish distribution. If 1000 people
want chunks and 1 wants groups with exception - we still account these
as equal variants.

Therefore my idea is deliberately limited to string to chunks user
story, and SO implementation proposal.

 I discussed the problem of
 return types issue in my responses. I showed how to get the 'expected'
 response above using grouper, but also suggested that it is the wrong basis
 for splitting strings. Repeated slicing make more sense for concrete
 sequence types.

 def seqchunk_odd(s, size):
 # include odd size left over
 for i in range(0, len(s), size):
 yield s[i:i+size]

 print(list(seqchunk_odd('ABCDEFG', 3)))
 #
 ['ABC', 'DEF', 'G']

Right. That's the top answer on SO that people think should be in
stdlib. Great we are talking about the same thing actually.

 def seqchunk_even(s, size):
 # only include even chunks
 for i in range(0, size*(len(s)//size), size):
 yield s[i:i+size]

 print(list(seqchunk_even('ABCDEFG', 3)))
 #
 ['ABC', 'DEF']

This is deducible from seqchunk_odd(s, size)

 def strchunk_fill(s, size, fill):
 # fill odd chunks
 q, r = divmod(len(s), size)
 even = size * q
 for i in range(0, even, size):
 yield s[i:i+size]
 if size != even:
 yield s[even:] + fill * (size - r)

 print(list(strchunk_fill('ABCDEFG', 3, 'x')))
 #
 ['ABC', 'DEF', 'Gxx']

Also deducible from seqchunk_odd(s, size)

 Because the 'fill' value is necessarily a sequence for strings,
 strchunk_fill would only work for lists and tuples if the fill value were
 either required to be given as a tuple or list of length 1 or if it were
 internally converted inside the function. Skipping that for now.

 Having written the fill version based on the even version, it is easy to
 select among the three behaviors by modifying the fill version.

 def strchunk(s, size, fill=NotImplemented):
 # fill odd chunks
 q, r = divmod(len(s), size)
 even = size * q
 for i in range(0, even, size):
 yield s[i:i+size]
 if size != even and fill is not NotImplemented:
 yield s[even:] + fill * (size - r)

 print(*strchunk('ABCDEFG', 3))
 print(*strchunk('ABCDEFG', 3, ''))
 print(*strchunk('ABCDEFG', 3, 'x'))
 #
 ABC DEF
 ABC DEF G
 ABC DEF Gxx

I now don't even think that fill value is needed as argument.
if len(chunk)  size:
  chunk.extend( [fill] * ( size - len(chunk)) )

 I already described how something similar could be done by checking each
 grouper output tuple for a fill value, but that requires that the fill value
 be a sentinal that could not otherwise appear in the tuple. One could modify
 grouper to fill with a private object() and check the last item of each
 group for that sentinal and act accordingly (delete, truncate, or replace).
 A generic api needs some thought, though.

I just need to chunk strings and sequences. Generic API is too complex
without counting all usecases and iterating over them.

 An issue I did not previously mention is that people 

Re: [Python-Dev] [Python-ideas] itertools.chunks(iterable, size, fill=None)

2012-07-05 Thread Steven D'Aprano

anatoly techtonik wrote:

On Wed, Jul 4, 2012 at 9:31 PM, Terry Reedy tjre...@udel.edu wrote:



A sliding window for a generic iterable requires a deque or ring buffer
approach that is quite different from the zip-longest -- grouper approach.


That's why I'd like to drastically reduce the scope of proposal.
itertools doesn't seem to be the best place anymore. How about
sequence method?

   string.chunks(size)  - ABC DEF G
   list.chunks(size) - [A,B,C], [C,D,E],[G]


-1

This is a fairly trivial problem to solve, and there are many variations on 
it. Many people will not find the default behaviour helpful, and will need to 
write their own. Why complicate the API for all sequence types with this?


I don't believe that we should enshrine one variation as a built-in method, 
without any evidence that it is the most useful or common variation. Even if 
there is one variation far more useful than the others, that doesn't 
necessarily mean we ought to make it a builtin method unless it is a 
fundamental sequence operation, has wide applicability, and is genuinely hard 
to write. I don't believe chunking meets *any* of those criteria, let alone 
all three.


Not every six line function needs to be a builtin.

I believe that splitting a sequence (or a string) into fixed-size chunks is 
more of a programming exercise problem than a genuinely useful tool. That does 
not mean that there is never any real use-cases for splitting into fixed-size 
chunks, only that this is the function that *seems* more useful in theory than 
it turns out in practice.


Compare this with more useful sequence/iteration tools, like (say) zip. You 
can hardly write a hundred lines of code without using zip at least once. But 
I bet you can write tens of thousands of lines of code without needing to 
split sequences into fixed chunks like this.


Besides, the name chunks is more general than how you are using it. For 
example, I consider chunking to be splitting a sequence up at a various 
delimiters or separators, not at fixed character positions. E.g. the third 
word of item two of the fourth line is a chunk.


This fits more with the non-programming use of the term chunk or chunking, and 
has precedence in Apple's Hypertalk language, which literally allowed you to 
talk about words, items and lines of text, each of which are described as chunks.


This might be a good candidate for a utility module made up of assorted useful 
functions, but not for the string and sequence APIs.




--
Steven

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] GitHub mirror (Was: Bitbucket mirror?)

2012-07-05 Thread C. Titus Brown
On Thu, Jul 05, 2012 at 03:49:52PM +0300, Petri Lehtinen wrote:
 anatoly techtonik wrote:
  On the subject. Is there a mirror of CPython on GitHub?
 
 https://github.com/akheron/cpython
 
  changes to repository (and allows anonymous to do this). I've made
  more than a dozen proposal for fixing docs, because as a matter of
  fact - filling a bug AND explaining why docs are wrong, why they need
  to be fixed, what should be added - all of this is a way *much easier*
  (and less time consuming!) than just fixing them. Unfortunately.
 
 You won't get any changes in to CPython by creating pull requests. We
 use http://bugs.python.org/ for that, sorry.

Question -- is there a reason to abide by this rule for docs?  That is, if we
could get a sympathetic core dev to look at pull requests for docs as part of 
a streamlined process, would it cause problems?

(What I'm really asking is whether or the bugs.python.org process is
considered critical for potentially minor doc changes and additions.)

thanks,
--titus
-- 
C. Titus Brown, c...@msu.edu
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] [Python-ideas] itertools.chunks(iterable, size, fill=None)

2012-07-05 Thread Steven D'Aprano

anatoly techtonik wrote:

Which is the 33th most voted Python question on SO -

http://stackoverflow.com/questions/312443/how-do-you-split-a-list-into-evenly-sized-chunks-in-python/312464

I am curious how you get that number. I do note that there are about 15
other Python SO questions that seem to be variations on the theme. There
might be more if 'blocks' and 'groups' were searched for.


It's easy:
1. Go http://stackoverflow.com/
2. Search [python]
3. Click `votes` tab
4. Choose `30 per page` at the bottom
5. Jump to the second page, there it is 4th from the top:
http://stackoverflow.com/questions/tagged/python?page=2sort=votespagesize=30


Yes. I don't think this is particularly significant. Have a look at some of 
the questions with roughly the same number of votes:


#26 How can I remove (chomp) a newline in Python? 176 votes

#33 How do you split a list into evenly sized chunks in Python? 149 votes

#36 Accessing the index in Python for loops 144 votes


Being 33rd most voted question doesn't really mean much.


By the way, why is this discussion going to both python-dev and python-ideas?



--
Steven
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] [Python-ideas] itertools.chunks(iterable, size, fill=None)

2012-07-05 Thread Stefan Behnel
anatoly techtonik, 05.07.2012 15:36:
 On Sun, Jul 1, 2012 at 12:09 AM, Terry Reedy wrote:
 From Raymond's first message on http://bugs.python.org/issue6021 , add
 grouper:

 This has been rejected before.
 
 I quite often see such arguments and I can't stand to repeat that
 these are not arguments. It is good to know, but when people use that
 as a reason to close tickets - that's just disgusting.

The *real* problem is that people keep bringing up topics (and even spell
them out in the bug tracker) without searching for existing discussions
and/or tickets first. That's why those who do such a search (or who know
what they are talking about anyway) close these tickets with the remark
this has been rejected before, instead of repeating an entire heap of
arguments all over again to feed a discussion that would only lead to the
same result as it did before, often several times before.

Stefan

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] GitHub mirror (Was: Bitbucket mirror?)

2012-07-05 Thread martin

You won't get any changes in to CPython by creating pull requests. We
use http://bugs.python.org/ for that, sorry.


Question -- is there a reason to abide by this rule for docs?  That is, if we
could get a sympathetic core dev to look at pull requests for docs as part of
a streamlined process, would it cause problems?


How do you communicate a pull request? On bitbucket, there is a  
pull request

UI resulting in a tracker item being generated (and an email being sent), but
hg.python.org doesn't have a notion of pull requests. Of course, you could
use any communication means (email, telephone call, carrier pigeon) to request
a pull from a sympathetic core dev.


(What I'm really asking is whether or the bugs.python.org process is
considered critical for potentially minor doc changes and additions.)


The sympathetic core dev is mostly free to bypass any submission process
initially; commits that bypass established procedures will likely be  
questioned

only after the fact.

In the specific case, I'd be worried to verify that the submitter has provided
a contributor form. That's easy to do in the bug tracker, but difficult to do
in an offline pull request. Of course, for a really minor doc change  
(e.g. typo

fixes), no contrib form is necessary.

Regards,
Martin


___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


[Python-Dev] Bloody FAQ (Was: [Python-ideas] itertools.chunks(iterable, size, fill=None))

2012-07-05 Thread anatoly techtonik
On Thu, Jul 5, 2012 at 7:50 PM, Stefan Behnel stefan...@behnel.de wrote:
 anatoly techtonik, 05.07.2012 15:36:
 On Sun, Jul 1, 2012 at 12:09 AM, Terry Reedy wrote:
 From Raymond's first message on http://bugs.python.org/issue6021 , add
 grouper:

 This has been rejected before.

 I quite often see such arguments and I can't stand to repeat that
 these are not arguments. It is good to know, but when people use that
 as a reason to close tickets - that's just disgusting.

 The *real* problem is that people keep bringing up topics (and even spell
 them out in the bug tracker) without searching for existing discussions
 and/or tickets first. That's why those who do such a search (or who know
 what they are talking about anyway) close these tickets with the remark
 this has been rejected before, instead of repeating an entire heap of
 arguments all over again to feed a discussion that would only lead to the
 same result as it did before, often several times before.

Make the bloody FAQ and summarize this stuff? Why waste each others
time? If people don't enjoy repeating themselves over and over - there
is a bloody wiki. What should happen to people to start extracting
gems of knowledge from piles of dusty sheets called list archives
for others to admire.

No, it is easier to say it was already discussed many times, why
don't you Google yourself, so far you're only complaining, etc. If
people can't find anything - why everybody thinks they are ignorant
and lazy. Even if it so, why nobody thinks that maybe that bloody
Xapian index is dead again for a bloody amount of moons nobody knows
why and how many exactly? Why nobody thinks that lazy coders can also
help with development? Maybe that laziness is the primary reason some
major groups actually prefer Python to Java, C++ and other more
interesting languages (such as PHP) when it comes to typing? Make it
easy and the patches will follow. Answers like this was discussed
before don't make it easy to understand, and leaving users rereading
old 19xx archives that people don't reread themselves will likely make
users bounce and never (NEVER!) come up with some proposal again. An
organic way to keep traffic low.

Miscommunication is a bad experience for users, bad experience for
developers, everybody is annoyed and as a result such nice language as
Python loses points on TIOBE (and convenient chunk() functions to
munch-munch on the sequence data).

Wheew. :-F
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Bloody FAQ (Was: [Python-ideas] itertools.chunks(iterable, size, fill=None))

2012-07-05 Thread Mark Lawrence

On 05/07/2012 20:41, anatoly techtonik wrote:

On Thu, Jul 5, 2012 at 7:50 PM, Stefan Behnel stefan...@behnel.de wrote:

anatoly techtonik, 05.07.2012 15:36:

On Sun, Jul 1, 2012 at 12:09 AM, Terry Reedy wrote:

 From Raymond's first message on http://bugs.python.org/issue6021 , add
grouper:

This has been rejected before.


I quite often see such arguments and I can't stand to repeat that
these are not arguments. It is good to know, but when people use that
as a reason to close tickets - that's just disgusting.


The *real* problem is that people keep bringing up topics (and even spell
them out in the bug tracker) without searching for existing discussions
and/or tickets first. That's why those who do such a search (or who know
what they are talking about anyway) close these tickets with the remark
this has been rejected before, instead of repeating an entire heap of
arguments all over again to feed a discussion that would only lead to the
same result as it did before, often several times before.


Make the bloody FAQ and summarize this stuff? Why waste each others
time? If people don't enjoy repeating themselves over and over - there
is a bloody wiki. What should happen to people to start extracting
gems of knowledge from piles of dusty sheets called list archives
for others to admire.

No, it is easier to say it was already discussed many times, why
don't you Google yourself, so far you're only complaining, etc. If
people can't find anything - why everybody thinks they are ignorant
and lazy. Even if it so, why nobody thinks that maybe that bloody
Xapian index is dead again for a bloody amount of moons nobody knows
why and how many exactly? Why nobody thinks that lazy coders can also
help with development? Maybe that laziness is the primary reason some
major groups actually prefer Python to Java, C++ and other more
interesting languages (such as PHP) when it comes to typing? Make it
easy and the patches will follow. Answers like this was discussed
before don't make it easy to understand, and leaving users rereading
old 19xx archives that people don't reread themselves will likely make
users bounce and never (NEVER!) come up with some proposal again. An
organic way to keep traffic low.

Miscommunication is a bad experience for users, bad experience for
developers, everybody is annoyed and as a result such nice language as
Python loses points on TIOBE (and convenient chunk() functions to
munch-munch on the sequence data).

Wheew. :-F



Can I safely assume that you are volunteering to do the work required?

--
Cheers.

Mark Lawrence.



___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Bloody FAQ (Was: [Python-ideas] itertools.chunks(iterable, size, fill=None))

2012-07-05 Thread Stefan Behnel
anatoly techtonik, 05.07.2012 21:41:
 On Thu, Jul 5, 2012 at 7:50 PM, Stefan Behnel wrote:
 anatoly techtonik, 05.07.2012 15:36:
 On Sun, Jul 1, 2012 at 12:09 AM, Terry Reedy wrote:
 From Raymond's first message on http://bugs.python.org/issue6021 , add
 grouper:

 This has been rejected before.

 I quite often see such arguments and I can't stand to repeat that
 these are not arguments. It is good to know, but when people use that
 as a reason to close tickets - that's just disgusting.

 The *real* problem is that people keep bringing up topics (and even spell
 them out in the bug tracker) without searching for existing discussions
 and/or tickets first. That's why those who do such a search (or who know
 what they are talking about anyway) close these tickets with the remark
 this has been rejected before, instead of repeating an entire heap of
 arguments all over again to feed a discussion that would only lead to the
 same result as it did before, often several times before.
 
 Make the bloody FAQ and summarize this stuff? Why waste each others
 time?

Yes, that is exactly the question.

It takes time to write things up nicely. I mean, once someone has pointed
out to you that this has been discussed before, you could just go, look it
up (or search for it), and then put it into a Wiki or blog post yourself,
or sum it up and send it to the mailing list as a reply. Why rely on others
to do it for you?

Stefan

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Bloody FAQ (Was: [Python-ideas] itertools.chunks(iterable, size, fill=None))

2012-07-05 Thread Paul Boddie
Stefan Behnel wrote:
 anatoly techtonik, 05.07.2012 21:41:
 
  Make the bloody FAQ and summarize this stuff? Why waste each others
  time?

 Yes, that is exactly the question.

 It takes time to write things up nicely. I mean, once someone has pointed
 out to you that this has been discussed before, you could just go, look it
 up (or search for it), and then put it into a Wiki or blog post yourself,
 or sum it up and send it to the mailing list as a reply. Why rely on others
 to do it for you?

To be fair, Anatoly has done quite a bit of maintenance on some of the Wiki 
content around various aspects of the project, so it's not as if he's 
demanding anything out of the ordinary or asking for others to do things that 
he isn't already doing in some sense. My experience is that there usually 
needs to be some willingness on the other end of the transaction, and if it 
takes repetition to encourage it amongst those who don't see the current 
situation as a problem for them, then so be it.

Of course, this kind of documentation activity, where one gathers together 
historical decisions and the consensus from long-forgotten discussions, is 
pretty thankless work. I occasionally regard it as worthwhile if only to 
bring up something someone said as an inconvenient interruption in any 
current discussion, but that's a pretty minimal reward for all the effort 
unless one has such work as part of one's daily routine.

Paul
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com