Re: Python Byte Code Hacking

2016-07-14 Thread Steven D'Aprano
On Thursday 14 July 2016 10:14, Ian Kelly wrote:

> On Wed, Jul 13, 2016 at 12:48 PM, Vijay Kumar 
> wrote:
>> Hi Everyone,
>> I wrote an article on Python byte code hacking. The article is available
>> from http://www.bravegnu.org/blog/python-byte-code-hacks.html The article
>> uses an incremental approach for explaining Python's code objects and how to
>> modify them. Unfortunately, I am stuck with Python 2, because Python 2 does
>> not optimize out the divide operation, at compile time, and my example
>> sequence depends on that behavior.
> 
> def f():
> return g(6, 2)
> 
> def g(a, b):
> return a // b
> 
> Now it can't optimize out the operation.


I haven't had time to read the article yet, but is Vijay talking about Python's 
peekhole optimizer? It does constant folding, so that arithmetic expressions 
containing *only* constants will compile to the result:

def f():
return 6//2  # compiles to "return 3"


The simplest way to defeat that is to use a variable:

def f():
x = 6
return x//2

The peephole optimizer is simple-minded enough that it won't pre-compute that. 
Let's check:

py> import dis
py> def f(): return 6//2
... 
py> dis.dis(f)
  1   0 LOAD_CONST   3 (3)
  3 RETURN_VALUE
py> def f():
... x = 6
... return x//2
... 
py> dis.dis(f)
  2   0 LOAD_CONST   1 (6)
  3 STORE_FAST   0 (x)

  3   6 LOAD_FAST0 (x)
  9 LOAD_CONST   2 (2)
 12 BINARY_FLOOR_DIVIDE 
 13 RETURN_VALUE



-- 
Steve

-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Curious Omission In New-Style Formats

2016-07-14 Thread Steven D'Aprano
On Thursday 14 July 2016 15:18, Ian Kelly wrote:

> Side note, neither do floating point numbers, really; what is often
> called the mantissa is more properly known as the significand. But
> integers don't have that either.


Er, then what's a mantissa if it's not what people call a float's mantissa?

What makes you say it is "more properly" known as the significand?

I'm not necessarily disputing what you say, I'm wondering what is your 
justification for it.


-- 
Steve

-- 
https://mail.python.org/mailman/listinfo/python-list


Compression

2016-07-14 Thread Steven D'Aprano
I thought I'd experiment with some of Python's compression utilities. First I 
thought I'd try compressing some extremely non-random data:


py> import codecs
py> data = "something non-random."*1000
py> len(data)
21000
py> len(codecs.encode(data, 'bz2'))
93
py> len(codecs.encode(data, 'zip'))
99


That's really good results. Both the bz2 and Gzip compressors have been able to 
compress nearly all of the redundancy in the data.

What if we shuffle the data so it is more random?

py> import random
py> data = list(data)
py> random.shuffle(data)
py> data = ''.join(data)
py> len(data); len(codecs.encode(data, 'bz2'))
21000
10494


How about some really random data?

py> import string
py> data = ''.join(random.choice(string.ascii_letters) for i in range(21000))
py> len(codecs.encode(data, 'bz2'))
15220

That's actually better than I expected: it's found some redundancy and saved 
about a quarter of the space. What if we try compressing data which has already 
been compressed?

py> cdata = codecs.encode(data, 'bz2')
py> len(cdata); len(codecs.encode(cdata, 'bz2'))
15220
15688

There's no shrinkage at all; compression has actually increased the size.


What if we use some data which is random, but heavily biased?

py> values = string.ascii_letters + ("AABB")*100
py> data = ''.join(random.choice(values) for i in range(21000))
py> len(data); len(codecs.encode(data, 'bz2'))
21000
5034



So we can see that the bz2 compressor is capable of making use of deviations 
from uniformity, but the more random the initial data is, the less effective is 
will be.


-- 
Steve

-- 
https://mail.python.org/mailman/listinfo/python-list


Re: problem writing excel sheet using python

2016-07-14 Thread Mirage Web Studio


On July 14, 2016 2:59:09 AM GMT+05:30, vineeth menneni 
 wrote:
>Hi I am finding it difficult to create a excel sheet using openpyxl or
>xlsxwriter. The problem is that i am loading a table data from MYSQL db
>which has 600k rows and 15 columns (approximately 100mb data). The
>error that the terminal shows is that "MemoryError". I just wanted to
>know if it is possible to create a excel sheet with the above said data
>in less than one minute using any packages in python. 
>
>Thanks,
>Vineeth
>-- 
>https://mail.python.org/mailman/listinfo/python-list


Try saving data in csv format an then import it in excel 

George 
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Compression

2016-07-14 Thread Peter Otten
Steven D'Aprano wrote:

> How about some really random data?
> 
> py> import string
> py> data = ''.join(random.choice(string.ascii_letters) for i in
> range(21000)) py> len(codecs.encode(data, 'bz2'))
> 15220
> 
> That's actually better than I expected: it's found some redundancy and
> saved about a quarter of the space. 

It didn't find any redundancy, it found the two unused bits:

>>> math.log(len(string.ascii_letters), 2)
5.700439718141093
>>> 21000./8*_
14963.654260120367


-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Compression

2016-07-14 Thread Chris Angelico
On Thu, Jul 14, 2016 at 6:16 PM, Steven D'Aprano
 wrote:
> How about some really random data?
>
> py> import string
> py> data = ''.join(random.choice(string.ascii_letters) for i in range(21000))
> py> len(codecs.encode(data, 'bz2'))
> 15220
>
> That's actually better than I expected: it's found some redundancy and saved
> about a quarter of the space.

What it found was an imbalance in the frequencies of byte values - you
used 52 values lots of times, and the other 204 never. Huffman coding
means those 52 values will get fairly short codes, and if you happened
to have just one or two other byte values, they'd be represented by
longer codes. It's like the Morse code - by encoding some letters with
very short sequences (dot followed by end-of-letter for E, dash
followed by end-of-letter for T) and others with much longer sequences
(dash-dot-dot-dash-EOL for X), it manages a fairly compact
representation of typical English text. The average Morse sequence
length for a letter is 3.19, but on real-world data... well, I used
the body of your email as sample text (yes, I'm aware it's not all
English), and calculated a weighted average of 2.60. (Non-alphabetics
are ignored, and the text is case-folded.) Using the entire text of
Gilbert & Sullivan's famous operettas, or the text of "The Beauty
Stone", or the wikitext source of the Wikipedia article on Morse code,
gave similar results (ranging from 2.56 to 2.60); interestingly, a
large slab of Lorem Ipsum skewed the numbers slightly lower (2.52),
not higher as I was afraid it would, being more 'random'.

Further example: os.urandom() returns arbitrary byte values, and (in
theory, at least) has equal probability of returning every possible
value. Base 64 encoding that data makes three bytes come out as four.
Check this out:

>>> data = os.urandom(21000)
>>> len(base64.b64encode(data)) # just to make sure
28000
>>> len(codecs.encode(data, 'bz2'))
21458
>>> len(codecs.encode(base64.b64encode(data), 'bz2'))
21290

When you remove the redundancy in b64-encoded data, you basically...
get back what you started with. (Curiously, several repeated
os.urandommings showed consistent results to the above - 214xx for
direct 'compression' vs 212xx for b64-then-compress. But in both
cases, it's larger than the 21000 bytes of input.)

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list


EuroPython 2016: Getting your badge & ticket IDs

2016-07-14 Thread M.-A. Lemburg
For this year, we have reconsidered the way we give out badges to try
to reduce the queue lengths and your waiting time.


Badges distributed based on ticket ID
-

To make finding badges easier, we have printed the ticket ID on each
badge and will distribute badges based on ticket ID ranges. Each queue
will be for one ticket ID range.


Finding your ticket ID
--

We will send all attendees an email with their ticket ID, but you can
also look on the website to find your ticket ID. Simply log in and
then check the ticket page to find your ticket preview:

https://ep2016.europython.eu/p3/tickets/

The ticket ID is listed at the bottom of the ticket preview.

If you forget your ticket ID, no worries. We will have a number of
volunteers at the registration desk with a mobile app to quickly
search the ticket database for your ticket. Simply ask them to help
you find the right queue and you’re all set.

Should they have trouble finding your ticket in the database, you’ll
be asked to visit the registration counter to sort out any issues.


Please check your ticket


Please note that in order to find your tickets, the person who bought
the ticket will have to have assigned the ticket to you, as we’ve
outline in a previous blog post:

http://blog.europython.eu/post/146895278207/europython-2016-please-configure-your-tickets

We already know that there are a number of tickets which have not been
assigned to the final attendee, so please double check that you can
see your ticket on the ticket page after logging in to the website:

https://ep2016.europython.eu/p3/tickets/

If you cannot find your ticket on that page, please ask the person who
bought the ticket for you. The process for assigning the ticket is
described in our blog post on the topic. If all else fails, simply
write to our helpd...@europython.eu for help.


Opening times of the registration desks
---

These are the planned opening times of the registration desks where
you can pick up your badge (or buy conference tickets or day passes).

* Sunday, July 17

In the afternoon at 16:00, we will open the registration desk at the
main conference venue, the Euskalduna Conference Center (ECC). It’ll
stay open until around 19:00. You will be able to pick up the badges
for your already purchased tickets as well as buy new ones at this
registration desk.

* Monday, July 18

The registration desk at the conference venue, the Euskalduna
Conference Center (ECC), will open at 08:00 on Monday.


Conference bag distribution
---

We will do the bag stuffing on Sunday, starting at around 16:00 at the
ECC. You’re welcome to come and help. The stuffed bags will then be
distributed starting on Monday.


With gravitational regards,
--
EuroPython 2016 Team
http://ep2016.europython.eu/
http://www.europython-society.org/


PS: Please forward or retweet to help us reach all interested parties:
https://twitter.com/europython/status/753553441239293954
Thanks.
-- 
https://mail.python.org/mailman/listinfo/python-list


Scapy: sniff(filter='icmp', iface='ppp0', prn=icmp_callback)

2016-07-14 Thread Veek. M
#!/usr/bin/python

import logging
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
from scapy.all import TCP, IP, ICMP, sniff

def ip_callback(pkt):
print '--- IP--'
pkt.show()
print 'IP', pkt.src, pkt.sport, '--->', pkt.dst, pkt.dport

def icmp_callback(pkt):
print '--- ICMP --'
print pkt.show()

def tcp_callback(pkt):
pkt.show()
print 'TCP', pkt.src, pkt.sport, '--->', pkt.dst, pkt.dport

def udp_callback(pkt):
pkt.show()
print 'UDP', pkt.src, pkt.sport, '--->', pkt.dst, pkt.dport

print 'hello'
sniff(filter='icmp', iface='ppp0', prn=icmp_callback)

I get:
deathstar> python myscapy.py 
hello

and nothing further when ping -c 2 8.8.8.8 runs - why??
Sometimes though it works (once in a blue moon) and i get the show 
output.

-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Curious Omission In New-Style Formats

2016-07-14 Thread Ian Kelly
On Jul 14, 2016 1:52 AM, "Steven D'Aprano"
 wrote:
>
> On Thursday 14 July 2016 15:18, Ian Kelly wrote:
>
> > Side note, neither do floating point numbers, really; what is often
> > called the mantissa is more properly known as the significand. But
> > integers don't have that either.
>
>
> Er, then what's a mantissa if it's not what people call a float's mantissa?
>
> What makes you say it is "more properly" known as the significand?
>
> I'm not necessarily disputing what you say, I'm wondering what is your
> justification for it.

http://mathworld.wolfram.com/Significand.html
http://mathworld.wolfram.com/Mantissa.html

The significand of -3.14159 is the sequence of digits 314159. The
mantissa of -3.14159 is the number 0.85841.

I don't have a copy of the IEEE-754 standard, but I believe that it
also uses the term "significand" and specifically avoids the term
"mantissa".
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Curious Omission In New-Style Formats

2016-07-14 Thread Robert Kern

On 2016-07-14 15:30, Ian Kelly wrote:

On Jul 14, 2016 1:52 AM, "Steven D'Aprano"
 wrote:


On Thursday 14 July 2016 15:18, Ian Kelly wrote:


Side note, neither do floating point numbers, really; what is often
called the mantissa is more properly known as the significand. But
integers don't have that either.


Er, then what's a mantissa if it's not what people call a float's mantissa?

What makes you say it is "more properly" known as the significand?

I'm not necessarily disputing what you say, I'm wondering what is your
justification for it.


http://mathworld.wolfram.com/Significand.html
http://mathworld.wolfram.com/Mantissa.html

The significand of -3.14159 is the sequence of digits 314159. The
mantissa of -3.14159 is the number 0.85841.

I don't have a copy of the IEEE-754 standard, but I believe that it
also uses the term "significand" and specifically avoids the term
"mantissa".


Confirmed.

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
 that is made terrible by our own mad attempt to interpret it as though it had
 an underlying truth."
  -- Umberto Eco

--
https://mail.python.org/mailman/listinfo/python-list


Re: Curious Omission In New-Style Formats

2016-07-14 Thread Marko Rauhamaa
Ian Kelly :

> The significand of -3.14159 is the sequence of digits 314159. The
> mantissa of -3.14159 is the number 0.85841.

Fight it all you want. However:

   In American English, the original word for [significand] seems to
   have been mantissa (Burks[1] et al.), and this usage remains common
   in computing and among computer scientists.
   https://en.wikipedia.org/wiki/Significand#Use_of_.22mantissa.22>


   This digit string is referred to as the significand, mantissa, or
   coefficient.
   https://en.wikipedia.org/wiki/Floating_point#Floating-point_numbers>

and, FWIW:

   Liukulukuun kuuluu neljä osaa: etumerkki (s), mantissa (m), kantaluku
   (k) ja eksponentti (c). [...]

  x = (−1)^s mk^c.

   https://fi.wikipedia.org/wiki/Liukuluku>


Marko
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Curious Omission In New-Style Formats

2016-07-14 Thread Ian Kelly
On Thu, Jul 14, 2016 at 10:02 AM, Marko Rauhamaa  wrote:
> Ian Kelly :
>
>> The significand of -3.14159 is the sequence of digits 314159. The
>> mantissa of -3.14159 is the number 0.85841.
>
> Fight it all you want. However:
>
>In American English, the original word for [significand] seems to
>have been mantissa (Burks[1] et al.), and this usage remains common
>in computing and among computer scientists.
>https://en.wikipedia.org/wiki/Significand#Use_of_.22mantissa.22>

Just because it's already common to use the wrong term doesn't mean
the usage should be promulgated further.
-- 
https://mail.python.org/mailman/listinfo/python-list


Don't understand why I'm getting this error

2016-07-14 Thread Carter Temm
Hi all.
I've been looking at this for a bit, and can't seem to come to a possible 
conclusion on what could be happening to get an error. Anyway, here is the 
code, then I'll explain.

http://pastebin.com/raw/YPiTfWbG

the issue comes when using argv. But when I change

TIME = argv

to

TIME = 2

It does exactly what I intended, no issues. What's wrong? Thanks for any help.



Also, The error I get when trying to run is: Traceback (most recent call last): 
File "sound_recorder.py", line 21, in  for i in range(0, int(RATE / 
CHUNK * TIME)): OverflowError: range() result has too many items‬




-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Curious Omission In New-Style Formats

2016-07-14 Thread Marko Rauhamaa
Ian Kelly :
> On Thu, Jul 14, 2016 at 10:02 AM, Marko Rauhamaa  wrote:
>>In American English, the original word for [significand] seems to
>>have been mantissa (Burks[1] et al.), and this usage remains
>>common in computing and among computer scientists. >https://en.wikipedia.org/wiki/Significand#Use_of_.22mantissa.22>
>
> Just because it's already common to use the wrong term doesn't mean
> the usage should be promulgated further.

Where do you get the idea that the common usage is "wrong?" What do you
use as a standard?


Marko
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Don't understand why I'm getting this error

2016-07-14 Thread sohcahtoa82
On Thursday, July 14, 2016 at 10:39:35 AM UTC-7, Carter Temm wrote:
> Hi all.
> I've been looking at this for a bit, and can't seem to come to a possible 
> conclusion on what could be happening to get an error. Anyway, here is the 
> code, then I'll explain.
> 
> http://pastebin.com/raw/YPiTfWbG
> 
> the issue comes when using argv. But when I change
> 
> TIME = argv
> 
> to
> 
> TIME = 2
> 
> It does exactly what I intended, no issues. What's wrong? Thanks for any help.
> 
> 
> 
> Also, The error I get when trying to run is: Traceback (most recent call 
> last): File "sound_recorder.py", line 21, in  for i in range(0, 
> int(RATE / CHUNK * TIME)): OverflowError: range() result has too many items‬

argv is a list containing the name (or path depending on OS) of the script and 
all the command line parameters passed to it.  I suspect that the problem is 
that the contents of argv will be strings, but you need TIME to be an integer.  
Even if you use "python myScript.py 5", argv[1] will be a string because Python 
doesn't know if "5" is actually supposed to be an integer, or if your script 
might be expecting a file name, and you have a file named "5".

An OverflowError when using range(..) usually means your range is too big.  I'm 
assuming you're using Python 2.x.  Try printing int(RATE / CHUNK * TIME) to see 
if the value is what you're expecting.  Also consider using xrange(..).  It 
doesn't require the entire list to be stored in memory.
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Don't understand why I'm getting this error

2016-07-14 Thread Rob Gaddi
Carter Temm wrote:

> Hi all.
> I've been looking at this for a bit, and can't seem to come to a possible 
> conclusion on what could be happening to get an error. Anyway, here is the 
> code, then I'll explain.
>
> http://pastebin.com/raw/YPiTfWbG
>
> the issue comes when using argv. But when I change
>
> TIME = argv
>
> to
>
> TIME = 2
>
> It does exactly what I intended, no issues. What's wrong? Thanks for any help.
>
> Also, The error I get when trying to run is: Traceback (most recent call 
> last): File "sound_recorder.py", line 21, in  for i in range(0, 
> int(RATE / CHUNK * TIME)): OverflowError: range() result has too many items‬
>

Offhand, I'll bet that you're getting TIME="2" instead of TIME=2.

-- 
Rob Gaddi, Highland Technology -- www.highlandtechnology.com
Email address domain is currently out of order.  See above to fix.
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Don't understand why I'm getting this error

2016-07-14 Thread Peter Otten
Carter Temm wrote:

> Hi all.
> I've been looking at this for a bit, and can't seem to come to a possible
> conclusion on what could be happening to get an error. Anyway, here is the
> code, then I'll explain.
> 
> http://pastebin.com/raw/YPiTfWbG
> 
> the issue comes when using argv. But when I change
> 
> TIME = argv
> 
> to
> 
> TIME = 2
> 
> It does exactly what I intended, no issues. What's wrong? Thanks for any
> help.
> 
> 
> 
> Also, The error I get when trying to run is: Traceback (most recent call
> last): File "sound_recorder.py", line 21, in  for i in range(0,
> int(RATE / CHUNK * TIME)): OverflowError: range() result has too many
> items‬

RATE/CHUNK is an integer, but TIME when extracted from sys.argv is a str. 
The * operator tells python to repeat the string RATE/CHUNK times:

>>> RATE = 44100
>>> CHUNK = 1024
>>> TIME = "2"
>>> RATE/CHUNK * TIME
'222'

You need to convert TIME to an int before evaluating the expression to get 
the expected result:

>>> RATE/CHUNK * int(TIME)
86


-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Were is a great place to Share your finished projects?

2016-07-14 Thread hasan . diwan
Michael Torrie  writes:

>I understand that in Python's case, pure cost wins out.  Python.org
>could host a GitLab instance, which contains the repo tools plus ticket
>tracking, etc, and ordinary developers could push their changes to their
>own public git repos and send in pull requests and it would all work
>swimmingly. However this comes at considerable cost in terms of
>maintenance of the server and server software.  So I can understand the
>allure of GitHub.  It's shiny and free-ish.

Python's primary repository is Mercurial (hg.python.org), not Git. Were python 
to switch, it wouldn't be too much work to just deploy gitlab (or whatever) 
instead of mercurial. However, I see nothing git offers over mercurial. -- H
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Were is a great place to Share your finished projects?

2016-07-14 Thread Terry Reedy

On 7/14/2016 3:04 PM, hasan.di...@gmail.com wrote:


Python's primary repository is Mercurial (hg.python.org), not Git.


CPython's current repository 
Ditto for the PSF Python docs.


Were python to switch,


Like it or not, CPython and the Docs are moving to git and github.
PEPs and the devguide have already been moved.

--
Terry Jan Reedy

--
https://mail.python.org/mailman/listinfo/python-list


Re: Packaging multiple wheels in the same package

2016-07-14 Thread Nir Cohen
Appreciate it! Will do!
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Were is a great place to Share your finished projects?

2016-07-14 Thread Lawrence D’Oliveiro
On Friday, July 15, 2016 at 7:04:14 AM UTC+12, hasan...@gmail.com wrote:

> ... I see nothing git offers over mercurial.

Except greater productivity.

-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Were is a great place to Share your finished projects?

2016-07-14 Thread Brendan Abel
A lot of these arguments and points have already been made and hashed out
on the python-dev list.  There's a very good article that one of the python
core developers wrote about the decision to move to github

http://www.snarky.ca/the-history-behind-the-decision-to-move-python-to-github

Basically, maintaining an open source git server, bug tracker, etc. would
have cost time and money, and historically very few people were willing to
contribute those, especially the people who were the most opinionated on
the desire to remain "pure to open source".  Github gives all these things
away for free.  And pretty much every python developer has already used
github for other projects.  In the article he makes a good point that if
you're that worried about always using open-source, then you shouldn't be
using gmail, or twitter, or even automobiles, since they all use software
that is closed-source.  At some point, paying for software just makes sense.



On Thu, Jul 14, 2016 at 12:34 PM, Terry Reedy  wrote:

> On 7/14/2016 3:04 PM, hasan.di...@gmail.com wrote:
>
> Python's primary repository is Mercurial (hg.python.org), not Git.
>>
>
> CPython's current repository 
> Ditto for the PSF Python docs.
>
> Were python to switch,
>>
>
> Like it or not, CPython and the Docs are moving to git and github.
> PEPs and the devguide have already been moved.
>
> --
> Terry Jan Reedy
>
> --
> https://mail.python.org/mailman/listinfo/python-list
>
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Curious Omission In New-Style Formats

2016-07-14 Thread Lawrence D’Oliveiro
On Friday, July 15, 2016 at 5:11:46 AM UTC+12, Ian wrote:
> Just because it's already common to use the wrong term doesn't mean
> the usage should be promulgated further.

Yes of course. The only logically-acceptable meaning of “mantissa” is “female 
mantis”, and any other usage is to be the immediate target of derisive laughter 
and scorn.
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Curious Omission In New-Style Formats

2016-07-14 Thread Ian Kelly
On Jul 14, 2016 11:37 AM, "Marko Rauhamaa"  wrote:
>
> Ian Kelly :
> > On Thu, Jul 14, 2016 at 10:02 AM, Marko Rauhamaa 
wrote:
> >>In American English, the original word for [significand] seems to
> >>have been mantissa (Burks[1] et al.), and this usage remains
> >>common in computing and among computer scientists.  >>https://en.wikipedia.org/wiki/Significand#Use_of_.22mantissa.22>
> >
> > Just because it's already common to use the wrong term doesn't mean
> > the usage should be promulgated further.
>
> Where do you get the idea that the common usage is "wrong?" What do you
> use as a standard?

Is it "wrong" to consider some usages "wrong"? By what standard?

I'm not interested in arguing over philosophy, so I won't.
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Were is a great place to Share your finished projects?

2016-07-14 Thread Steven D'Aprano
On Fri, 15 Jul 2016 09:04 am, Lawrence D’Oliveiro wrote:

> On Friday, July 15, 2016 at 7:04:14 AM UTC+12, hasan...@gmail.com wrote:
> 
>> ... I see nothing git offers over mercurial.
> 
> Except greater productivity.

That has not been even close to my experience. And I don't mean my
*personal* experience.

About seven years ago, the senior technical manager at my work chose hg over
git. When he left to go to greener pastures, the dev team took about 30
seconds to to reverse his decision and migrate to git, after which the
level of VCS-related screw-ups and queries went through the roof.

To give you an idea of how screwed up things are, even though I'm not one of
the developer team, and have never pushed a thing into the code
repositories (I have pushed into documentation repos), somehow according
to "git blame" I'm responsible for a bunch of code.

(If I'd been paid for this code I didn't write, I wouldn't mind so much...)




-- 
Steven
“Cheer up,” they said, “things could be worse.” So I cheered up, and sure
enough, things got worse.

-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Were is a great place to Share your finished projects?

2016-07-14 Thread Steven D'Aprano
On Fri, 15 Jul 2016 09:13 am, Brendan Abel wrote:

> In the article he makes a good point that if
> you're that worried about always using open-source, then you shouldn't be
> using gmail, or twitter, or even automobiles, 

It's not a good point. I don't use gmail, or twitter, and if I could find a
car that didn't rely on closed-source code, I would use it. Just because
choice is limited and its hard or impossible to get open-source engines
doesn't mean that closed-source engines are a good idea.


> since they all use software 
> that is closed-source.  At some point, paying for software just makes
> sense.

No, that doesn't follow. The opposite of "open source" is not "paying for
software". You can pay somebody to maintain your open source repo just as
easily as you can pay somebody else to maintain their own closed source
repo.

I watched the discussion on Python-Dev that decided to move to github, and
there were completely viable open source hg alternatives. Although nobody
was quite crass enough to come right out and say it, the alternatives were
all dismissed because they weren't Github, because "everyone uses github".



-- 
Steven
“Cheer up,” they said, “things could be worse.” So I cheered up, and sure
enough, things got worse.

-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Curious Omission In New-Style Formats

2016-07-14 Thread Lawrence D’Oliveiro
On Friday, July 15, 2016 at 12:17:27 PM UTC+12, Ian wrote:

> Is it "wrong" to consider some usages "wrong"? By what standard?

Do you say “head over heels” or “heels over head”? “Burgle” or “burglari{s,z}e”?
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Were is a great place to Share your finished projects?

2016-07-14 Thread Ben Finney
Steven D'Aprano  writes:

> On Fri, 15 Jul 2016 09:13 am, Brendan Abel wrote:
> > since they all use software that is closed-source.  At some point,
> > paying for software just makes sense.

Is it 1998 again already?

Or am I expecting too much that people involved in software in the 21st
century should not fall for the canard of “why don't you want to pay for
software”, because it is *completely irrelevant* to the issue of
software freedom.

So please, stop repeating that canard. Of course paying for software
makes sense. That in no way entails vendor lock-in of valuable community
data, and we should not be paying for that.

> No, that doesn't follow. The opposite of "open source" is not "paying
> for software". You can pay somebody to maintain your open source repo
> just as easily as you can pay somebody else to maintain their own
> closed source repo.

Yes. Likewise, just because you don't hand any money to someone doesn't
mean you are free from vendor lock-in and proprietary protocols. One day
perhaps we won't need to repeat that for it to be understood.

> I watched the discussion on Python-Dev that decided to move to github,
> and there were completely viable open source hg alternatives. Although
> nobody was quite crass enough to come right out and say it, the
> alternatives were all dismissed because they weren't Github, because
> "everyone uses github".

Fortunately there are a zillion software projects who can still choose a
hosting provider that won't lock them in, and good free-software hosting
alternatives like Pagure are beginning to appear. Not all is lost.

-- 
 \   “The Initial Mystery that attends any journey is: how did the |
  `\   traveller reach his starting point in the first place?” —Louise |
_o__)  Bogan, _Journey Around My Room_ |
Ben Finney

-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Curious Omission In New-Style Formats

2016-07-14 Thread Marko Rauhamaa
Ian Kelly :

> On Jul 14, 2016 11:37 AM, "Marko Rauhamaa"  wrote:
>> Where do you get the idea that the common usage is "wrong?" What do
>> you use as a standard?
>
> Is it "wrong" to consider some usages "wrong"? By what standard?
>
> I'm not interested in arguing over philosophy, so I won't.

Common usage among educated speakers ordinarily is the yardstick for
language questions.

However, I'm cool with "cuz I say so."


Marko
-- 
https://mail.python.org/mailman/listinfo/python-list