#pypy IRC log for Sunday, 2012-01-15

fermianyon (~lane@c-68-35-198-245.hsd1.al.comcast.net) joined #pypy.00:03
icrazyhack (~horieyui@183.60.100.164) left irc: Quit: http://www.cnblogs.com/crazyhack00:10
papercrane (~papercran@c-76-103-172-115.hsd1.ca.comcast.net) joined #pypy.00:41
DasIch_ (~DasIch@p3E990B54.dip.t-dialin.net) joined #pypy.00:54
asmeurer_ (~asmeurer@c-174-56-21-245.hsd1.nm.comcast.net) left irc: Quit: asmeurer_00:57
DasIch (~DasIch@p3E990B54.dip.t-dialin.net) left irc: Ping timeout: 240 seconds00:57
Nick change: DasIch_ -> DasIch00:57
h0l0gr4ph1c (~Edmund@ppp118-209-252-72.lns20.mel6.internode.on.net) joined #pypy.01:00
asmeurer_ (~asmeurer@c-174-56-21-245.hsd1.nm.comcast.net) joined #pypy.01:00
nettok (~quassel@190.148.241.226) left irc: Ping timeout: 268 seconds01:06
papercrane (~papercran@c-76-103-172-115.hsd1.ca.comcast.net) left irc: Quit: Computer has gone to sleep.01:19
whyking (~quassel@p5B3DDEE3.dip.t-dialin.net) joined #pypy.01:19
bbot23Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64-2/builds/3201:23
bbot23Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/20401:30
squiddy (~squiddy@f053086148.adsl.alicedsl.de) left irc: Quit: Leaving01:35
whitelynx|work (~whitelynx@75.111.197.204) left irc: Quit: Ex-Chat01:37
danchr (~danchr@cl-848.chi-02.us.sixxs.net) left irc: Ping timeout: 252 seconds01:38
DasIch (~DasIch@p3E990B54.dip.t-dialin.net) left irc: Quit: DasIch01:39
rguillebert_ (~rguillebe@2a01:e34:eea7:c690:21f:c6ff:fe12:4dee) left irc: Quit: Quitte01:42
danchr (~danchr@cl-848.chi-02.us.sixxs.net) joined #pypy.01:44
nettok (~quassel@190.149.184.150) joined #pypy.01:44
mfoord (~anonymous@python/psf/voidspace) joined #pypy.01:46
bbot24Failure: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/77601:46
whyking (~quassel@p5B3DDEE3.dip.t-dialin.net) left irc: Ping timeout: 255 seconds01:48
mfoord (~anonymous@python/psf/voidspace) left irc: Quit: mfoord01:59
bbot2Started: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/192502:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/67802:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/33802:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/32802:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/67602:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/119502:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/85902:00
bbot2Started: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/151202:00
bbot2Started: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/78902:00
fermianyon (~lane@c-68-35-198-245.hsd1.al.comcast.net) left irc: Ping timeout: 240 seconds02:09
ericflo (~ericflo@c-50-131-58-97.hsd1.ca.comcast.net) joined #pypy.02:22
aboudreault (~alanb@osgeo/member/aboudreault) left irc: Ping timeout: 240 seconds02:39
Kaskuka (~John@osbk-4db16fd4.pool.mediaWays.net) joined #pypy.03:03
Guest17487 (~John@osbk-4db17529.pool.mediaWays.net) left irc: Ping timeout: 240 seconds03:04
h0l0gr4ph1c (~Edmund@ppp118-209-252-72.lns20.mel6.internode.on.net) left irc: Quit: This computer has gone to sleep03:07
bbot23Success: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/101303:10
asmeurer_ (~asmeurer@c-174-56-21-245.hsd1.nm.comcast.net) left irc: Quit: asmeurer_03:17
dracman (~draco@212.255.25.35) left irc: Ping timeout: 252 seconds03:19
mat^2 (~mathias@212.130.113.35) left irc: Ping timeout: 252 seconds03:21
dracman (~draco@212.255.21.252) joined #pypy.03:25
mat^2 (~mathias@212.130.113.35) joined #pypy.03:43
danchr (~danchr@cl-848.chi-02.us.sixxs.net) left irc: Ping timeout: 268 seconds03:52
danchr (~danchr@cl-848.chi-02.us.sixxs.net) joined #pypy.03:53
nettok_ (~quassel@190.148.17.169) joined #pypy.03:55
nettok (~quassel@190.149.184.150) left irc: Ping timeout: 240 seconds03:55
Garen (garen@69.76.18.3) left irc: Remote host closed the connection04:11
bbot24Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-32/builds/192504:12
fermianyon (~lane@c-71-229-21-197.hsd1.al.comcast.net) joined #pypy.04:13
CIA-1703mikefc 07roundup * 10#1000/creating numpypy array from list with None elements: 04:35
CIA-17[new] Creating numpypy array from a list with elements which are None fails on numpypy but04:35
CIA-17succeeds on numpy.04:35
CIA-17========= CPython & numpy04:35
CIA-17> ... * 14https://bugs.pypy.org/issue100004:35
mikefcwoo. issue #1000 :)04:36
Action: mikefc also needs masked arrays.04:41
mikefcbut i'll look at them later.04:42
papercrane (~papercran@c-76-103-172-115.hsd1.ca.comcast.net) joined #pypy.04:43
mikefcand where()04:44
mikefctoo much to do. not enough time.04:44
nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 245 seconds04:48
nettok (~quassel@190.148.169.134) joined #pypy.05:11
nettok_ (~quassel@190.148.17.169) left irc: Ping timeout: 260 seconds05:12
tos9 (~tos9@unaffiliated/tos9) left irc: Ping timeout: 252 seconds05:14
bbot23Success: 15http://buildbot.pypy.org/builders/pypy-c-Ojit-no-jit-linux-x86-32/builds/85905:16
bbot23Success: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/151205:19
bbot23Success: 15http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/67605:29
bbot23Success: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/119505:35
bbot23Success: 15http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/67805:46
fermianyon (~lane@c-71-229-21-197.hsd1.al.comcast.net) left irc: Ping timeout: 240 seconds05:58
setmeaway2 (setmeaway3@118.45.149.247) left irc: Ping timeout: 248 seconds05:58
setmeaway (setmeaway3@118.45.149.247) joined #pypy.06:14
Taggnostr (~quassel@dyn57-362.yok.fi) joined #pypy.06:31
setmeaway (setmeaway3@118.45.149.247) left irc: Ping timeout: 260 seconds06:37
mwhudson (~mwh@linaro/mwhudson) left irc: Ping timeout: 248 seconds06:38
bbot24Failure: 15http://buildbot.pypy.org/builders/own-linux-x86-64/builds/78906:46
setmeaway (~setmeaway@118.45.149.247) joined #pypy.06:47
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/33806:51
Da_Blitzaad/join #rubinius06:51
Da_Blitzwoops06:52
mikefc (~mikefc@60-242-240-196.static.tpgi.com.au) left irc: Quit: mikefc07:03
nettok (~quassel@190.148.169.134) left irc: Remote host closed the connection07:38
bbot24Failure: 15http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/32807:41
mikefc (~mikefc@60-242-240-196.static.tpgi.com.au) joined #pypy.07:53
nedbat (~nedbat@python/psf/nedbat) joined #pypy.08:00
nedbat (~nedbat@python/psf/nedbat) left irc: Quit: Leaving08:16
Taggnostr (~quassel@dyn57-362.yok.fi) left irc: Remote host closed the connection08:19
Taggnostr (~quassel@dyn57-362.yok.fi) joined #pypy.08:23
CIA-1703fijal 07roundup * 10#1000/creating numpypy array from list with None elements: [chatting] Such an awesome feature, numpy doesn't stop to amaze me. * 14https://bugs.pypy.org/issue100008:27
fijalhi08:33
cocoatomo (~cocoatomo@p2118-ipbf901souka.saitama.ocn.ne.jp) joined #pypy.08:39
cocoatomo (~cocoatomo@p2118-ipbf901souka.saitama.ocn.ne.jp) left irc: Remote host closed the connection08:39
cocoatomo (~cocoatomo@p2118-ipbf901souka.saitama.ocn.ne.jp) joined #pypy.08:41
cocoatomo (~cocoatomo@p2118-ipbf901souka.saitama.ocn.ne.jp) left irc: Remote host closed the connection08:47
cocoatomo (~cocoatomo@p2118-ipbf901souka.saitama.ocn.ne.jp) joined #pypy.08:52
cocoatomo (~cocoatomo@p2118-ipbf901souka.saitama.ocn.ne.jp) left irc: Remote host closed the connection08:53
cocoatomo (~cocoatomo@p2118-ipbf901souka.saitama.ocn.ne.jp) joined #pypy.08:55
tellone (~tellone@h55eb1cd7.selukra.dyn.perspektivbredband.net) joined #pypy.08:56
cocoatomo (~cocoatomo@p2118-ipbf901souka.saitama.ocn.ne.jp) left irc: Remote host closed the connection08:58
cocoatomo (~cocoatomo@p2118-ipbf901souka.saitama.ocn.ne.jp) joined #pypy.09:03
cocoatomo (~cocoatomo@p2118-ipbf901souka.saitama.ocn.ne.jp) left irc: Remote host closed the connection09:14
ericflo (~ericflo@c-50-131-58-97.hsd1.ca.comcast.net) left irc: Quit: ericflo09:14
papercrane (~papercran@c-76-103-172-115.hsd1.ca.comcast.net) left irc: Quit: Computer has gone to sleep.09:24
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.09:34
xcombelle (~xcombelle@AToulouse-551-1-40-156.w90-11.abo.wanadoo.fr) joined #pypy.09:43
squiddy (~squiddy@g224192091.adsl.alicedsl.de) joined #pypy.09:57
hruske (~Gasper@2001:15c0:66e9:14:4cb3:39ff:fe29:464) joined #pypy.10:00
mikefcfijal: i'm sure there's plenty more numpy "features" waiting in the wings to be uncovered.10:06
fijalyes :/10:07
fijalI'm pondering if I should follow documentation of behavior10:07
fijalbecause docs are full of lies10:07
fijalhttp://paste.pocoo.org/show/535054/10:08
fijalwhy this does flatten the array?10:08
fijal>>> a[[[True, False, True], [False, True, False]]]10:09
fijalarray([3, 1, 3])10:09
fijal>>> a[array([[True, False, True], [False, True, False]])]10:09
fijalarray([ 0,  2, 16])10:09
fijalmoe fun10:09
fijalso a[b] where b.shape == a.shape -> flat version of a10:10
fijalis this a special case?10:12
fijal"Note that the length of the 1D boolean array must coincide with the length of the dimension (or axis) you want to slice."10:13
fijalthis is for example False10:13
mikefci thought a[b] always flattened.10:13
fijalno :)10:14
fijalonly if shape(a) == shape(b) I think10:14
ivanFalse in CPython, True in PyPy: [float('nan')] == [float('nan')]10:24
fijalmeh, should not be true10:25
fijalivan: I think it's "undefined" officially10:25
ivanhttp://ludios.org/ivank/2012/01/python-nan-equality-rules-and-cw-eq-equals/10:25
ivanstupid object-identity shortcuts10:25
fijal>>> l = [float('nan')]10:25
fijal>>> l == l10:26
fijalTrue10:26
fijal>>> 10:26
fijalivan: so "depends"10:26
tumbleweedfijal: I ithkn you were right about my 1900M memory requirement being too low10:34
tumbleweedoh, and those s390 issues I mentioned yesterday seem to appear on most big-endian archs. A few (the same 4) FFI types seem to be broken, as well as zipimport.10:34
icrazyhack (~horieyui@124.165.209.20) joined #pypy.11:00
horieyui (~horieyui@113.106.212.38) joined #pypy.11:01
icrazyhack (~horieyui@124.165.209.20) left irc: Ping timeout: 248 seconds11:04
icrazyhack (~horieyui@221.192.139.108) joined #pypy.11:05
horieyui (~horieyui@113.106.212.38) left irc: Ping timeout: 252 seconds11:05
horieyui (~horieyui@183.60.100.162) joined #pypy.11:07
icrazyhack (~horieyui@221.192.139.108) left irc: Ping timeout: 248 seconds11:10
icrazyhack (~horieyui@183.60.100.166) joined #pypy.11:11
horieyui (~horieyui@183.60.100.162) left irc: Ping timeout: 245 seconds11:11
horieyui (horieyui@222.47.182.195) joined #pypy.11:11
whyking (~quassel@p4FFB7754.dip.t-dialin.net) joined #pypy.11:14
icrazyhack (~horieyui@183.60.100.166) left irc: Ping timeout: 268 seconds11:15
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds11:25
fijal_ (~fijal@196-210-150-33.dynamic.isadsl.co.za) joined #pypy.11:28
fijal (~fijal@196-210-150-33.dynamic.isadsl.co.za) left irc: Ping timeout: 240 seconds11:31
tellone (~tellone@h55eb1cd7.selukra.dyn.perspektivbredband.net) left irc: Quit: Flaker11:39
Nick change: fijal_ -> fijal11:57
Kaskuka (~John@osbk-4db16fd4.pool.mediaWays.net) left irc: Ping timeout: 240 seconds12:00
Kaskuka (~John@osbk-d9bf2242.pool.mediaWays.net) joined #pypy.12:00
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.12:15
fijal (~fijal@196-210-150-33.dynamic.isadsl.co.za) left irc: Ping timeout: 240 seconds12:25
stakkars (~tismer@p5DDB7A14.dip.t-dialin.net) left irc: Read error: Connection reset by peer12:35
stakkars (~tismer@p5DDB7A14.dip.t-dialin.net) joined #pypy.12:35
fijal (~fijal@196-210-150-33.dynamic.isadsl.co.za) joined #pypy.12:38
kenaan12fijal numpy-indexing-by-arrays 1108302909741e 15/: close old branch will be redone12:40
kenaan12fijal numpy-indexing-by-arrays-2 11ad840d9d2a35 15/pypy/module/micronumpy/: a branch to work on indexing by arrays - start by introducing new way of describing shapes12:40
tellone (~tellone@h55eb1cd7.selukra.dyn.perspektivbredband.net) joined #pypy.12:41
azanella (~azanella@189.6.80.131) joined #pypy.12:58
tellone (~tellone@h55eb1cd7.selukra.dyn.perspektivbredband.net) left irc: Remote host closed the connection12:58
tellone (~tellone@h55eb1cd7.selukra.dyn.perspektivbredband.net) joined #pypy.12:59
jacob22 (~jacob@c-c4c4e055.1321-1-64736c11.cust.bredbandsbolaget.se) left irc: Quit: Konversation terminated!13:17
nedbat (~nedbat@python/psf/nedbat) joined #pypy.13:19
tos9 (~tos9@unaffiliated/tos9) joined #pypy.13:23
azanella (~azanella@189.6.80.131) left irc: Ping timeout: 252 seconds13:24
jacob22 (~jacob@c-c4c4e055.1321-1-64736c11.cust.bredbandsbolaget.se) joined #pypy.14:00
tellone (~tellone@h55eb1cd7.selukra.dyn.perspektivbredband.net) left irc: Remote host closed the connection14:03
tellone (~tellone@h55eb1cd7.selukra.dyn.perspektivbredband.net) joined #pypy.14:06
Arach (~arach@128-75-174-161.broadband.corbina.ru) left irc: Quit: bye14:06
Arach (~arach@128-75-174-161.broadband.corbina.ru) joined #pypy.14:06
tellone (tellone@h55eb1cd7.selukra.dyn.perspektivbredband.net) left #pypy ("Droped").14:16
nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 248 seconds14:20
DasIch (~DasIch@p3E990B54.dip.t-dialin.net) joined #pypy.14:21
nshepperd (~asdfg@ppp118-209-23-185.lns20.mel4.internode.on.net) joined #pypy.14:23
nedbat (~nedbat@python/psf/nedbat) joined #pypy.14:36
amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) joined #pypy.14:41
nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 245 seconds15:19
fermianyon (~lane@c-71-229-21-197.hsd1.al.comcast.net) joined #pypy.15:29
Trundle (~andy@82.113.106.250) joined #pypy.15:39
Trundle (~andy@82.113.106.250) left irc: Changing host15:39
Trundle (~andy@python/site-packages/trundle) joined #pypy.15:39
stakkars (~tismer@p5DDB7A14.dip.t-dialin.net) left irc: Read error: Connection reset by peer15:55
stakkars (~tismer@p5DDB7A14.dip.t-dialin.net) joined #pypy.15:56
Unhelpful (~quassel@rockbox/developer/Unhelpful) left irc: Quit: http://quassel-irc.org - Chat comfortably. Anywhere.16:04
Unhelpful (~quassel@rockbox/developer/Unhelpful) joined #pypy.16:04
papercrane (~papercran@c-76-103-172-115.hsd1.ca.comcast.net) joined #pypy.16:32
arigato (~arigo@adsl-89-217-194-207.adslplus.ch) joined #pypy.16:36
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Ping timeout: 252 seconds16:39
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.16:39
amaury_ (~amaury_@46-127-23-192.dynamic.hispeed.ch) left irc: Ping timeout: 276 seconds16:48
lesshaste (~lesshaste@87-194-206-189.bethere.co.uk) joined #pypy.16:57
lesshastehi.. great blog post about the gil etc.16:57
lesshastehave you looked at Go for inspiration too?16:57
arigato:-)16:57
arigatono16:57
lesshastethat's got a very nice and modern model16:57
hruske (~Gasper@2001:15c0:66e9:14:4cb3:39ff:fe29:464) left irc: Quit: Leaving16:57
lesshastemight be worth taking a look16:58
arigatoit's another level16:58
arigatosomeone needs to take a look and implement Go-style "stackless" equivalent16:58
arigatofirst16:58
lesshasteoh Go is mentioned in the comments I see16:58
lesshasteright16:58
lesshasteI see someone got there before me :)16:59
lesshasteare you ever tempted just to give up on python and make a fork? :)17:00
arigatoof CPython?  no17:00
arigatoor you mean of the Python language?  no, even more strongly17:00
arigatoI'm interested in things that can be "implementation details" only17:00
lesshasteI mean the latter... but actually I don't really understand if it is fully specified17:01
lesshastein the way C is17:01
lesshasteis there a python specification?17:01
arigatoI suppose it's slowly getting there, but for a long time it was "whatever CPython does"17:01
lesshasteright17:01
arigatobut no, not officially17:01
lesshasteso I suppose I would be talking about influencing the future definition of the language :)17:02
lesshasterather than forking17:02
lesshasteyou can get stuck forever supporting features that should have been there in first place17:03
lesshastee.g. DOS :)17:03
lesshasteoops17:03
lesshaste*shouldn't have been*17:03
lesshastealso.. as there is no support at all currently for multiprocessing, I suppose you get to define how the language supports it in the future17:04
lesshastepypy -> python 4 :)17:04
arigatothat's true, but that's only a module with a few functions17:06
arigatoI'll define the few functions initially, but I hope that others will get to define better ones as needed17:06
lesshasteit sort of depends if you think all code will be written to support multiple processors in the future17:07
lesshastewhich is what some people think is happening17:07
fijalhi17:07
lesshastewith multicore being the standard17:07
lesshastehi fijal 17:07
arigatohi17:07
fijalarigato: is it a sprint day today?17:07
arigatofijal: no, people will be arriving tonight17:07
lesshasteoh cool.. what is on the sprint menu?17:08
arigatolesshaste: yes, although that's another question17:08
lesshastearigato: yes :)17:08
lesshastearigato: but it makes sense for a current research project to assume that serial code is of marginal interest :)17:08
fijalserial code is kind of interesting17:08
fijallike if you have 8 cores, no multithreading solution that's 8 times slower would interest you17:09
fijaletc. etc.17:09
arigatoyes, precisely17:09
lesshastefijal: I would definitely find an 8 times slower solution bad17:09
lesshastebut I didn't quite get your point17:09
lesshasteyou mean some things are inherently serial?17:09
fijal<lesshaste> arigato: but it makes sense for a current research project to assume that serial code is of marginal interest :)17:09
papercrane (~papercran@c-76-103-172-115.hsd1.ca.comcast.net) left irc: Ping timeout: 252 seconds17:09
fijalI mean serial code is interesting17:10
arigatoin pypy, it just means you will be able to translate either "pypy" or "pypy-tm"17:10
fijalas of now17:10
fijalif you have a gilless python in cpython, you would still use serial pypy for stuff17:10
arigato"pypy-tm" is slower than "pypy" but runs parallel code17:10
fijalsame goes for jython17:10
fijalapparently gilless jython is not interesting enough to use it17:10
fijalarigato: do you want few numpy-related quizes?17:11
arigatoshoot :-)17:11
fijalhave you seen what numpy.array([1, None, 2], float) does?17:11
arigatouh17:11
arigatono17:11
fijaltry :)17:11
arigatoof course17:12
arigatoNone -> NaN17:12
DasIch (~DasIch@p3E990B54.dip.t-dialin.net) left irc: Quit: DasIch17:12
fijalanother one - numpy.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])[[True, False, True]]17:12
fijalnote the double [[ at the end17:12
arigatothat's the same as [[1,0,1]]17:13
fijalnumpy.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])[numpy.array([True, False, True])]17:13
fijalis however not :)17:13
arigatouh17:13
arigatoalso, does not work at all: numpy.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])[(1,0,1)]17:13
fijalobviously17:14
arigatouh?17:14
Action: arigato fails to understand the [array] case17:14
lesshasteI myself only run small serial code :)17:14
lesshastebut I am talknig about the future17:14
fijalI'm increasingly leaning towards "I'll implement what documentation says, not what numpy does"17:14
lesshastewhen we all have 8 core machines on our desk.  Running serial code will seem rather wasteful17:15
fijalarigato: array[array] case has few uses17:15
arigatowhat does it do with array[array-of-bools] ???17:15
fijaldepends17:15
fijalif array of bools is the same shape as array or not17:15
arigato:-((17:15
arigatoah17:15
fijalah?17:16
arigatoah, I finally get what it does17:16
fijalwhich part, the same shape or different shape?17:16
arigatohum17:16
fijalthe same shape is for a[a > 3]17:16
arigatoit seems not to depend?  but I must be missing something17:16
arigatoit seems to complete missing bools with Falses17:16
fijalyes17:17
fijalthat's what it does17:17
fijalit's a selector17:17
arigatoah, and you get IndexError if array-of-bools is too long17:17
fijalno, it depends :/17:17
fijalwell, yes17:18
fijalthat's true17:18
arigatoI had of course no idea at all17:18
fijaldocs say it should be either the same shape or the same length as the first dimension size17:18
fijalbut it's not entirely true17:18
arigatobut I suppose this is documented, at least the case same-shape17:18
fijalboth are documented although wrongly17:18
arigatoI see17:19
nettok (~quassel@190.148.21.70) joined #pypy.17:19
fijalbut you can do things like mix array of ints, array of bools and a slice17:19
fijallike\17:19
fijala[<some array of bools>, <some slice>]17:19
arigatophew17:20
fijalthat means - pick first index based on the array of bools and pick the second index based on slice17:20
fijaland copy all other indexes17:20
fijalarray of ints is even more obscure17:20
arigatonumpy.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])[numpy.array([[2,1]])]17:20
arigatoI have no clue why it gets this result17:21
fijalstart with one dimension17:21
arigatoI did, didn't find anything obscure -- it's like the [list] case17:21
fijalhttp://www.scipy.org/Tentative_NumPy_Tutorial#head-0dffc419afa7d77d51062d40d2d84143db8216c217:21
fijalarigato: for what is worth in 2h I failed to figure out how to compute the *shape* of resulting array17:22
arigato:-(17:25
lesshastemaybe #python people can help?17:27
vpelletier (~vincent@ALille-154-1-43-95.w86-198.abo.wanadoo.fr) joined #pypy.17:28
vpelletierhi17:28
arigatothe example ">>> a[b1,b2]   # array([ 4, 10])"17:28
arigatois seriously obscure17:28
whyking_ (~quassel@p5B3DC1C7.dip.t-dialin.net) joined #pypy.17:29
arigatovpelletier: hi17:31
fijallesshaste: our architecture is quite a bit different from numpy's17:32
whyking (~quassel@p4FFB7754.dip.t-dialin.net) left irc: Ping timeout: 245 seconds17:33
lesshastefijal: yes sorry.. I realised after I wrote that that it wasn't that helpful17:33
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Ping timeout: 255 seconds17:33
fijalit's not like it's impossible17:33
fijalit's just obscure17:33
vpelletierfijal: about the transactional memory post, I think it ressembles what Zope + ZODB provides, minus versioning maybe. From experience, there is one more case to prevent: prevent a transaction from committing if a given object was modified, even if transaction doesn't modify it by itself17:33
fijalagainst the principle of least surprise if you ask me17:34
Trundle (~andy@python/site-packages/trundle) left irc: Ping timeout: 240 seconds17:34
fijalvpelletier: well17:34
fijalvpelletier: ZODB uses pickling17:34
fijalright?17:34
arigatovpelletier: it's a detail of implementation, but yes, we need to carefully implement a system that gives a illusion that events (i.e. transactions) were run serially17:35
vpelletieran example would be an object representing a bank account with state opened/closed, and a transaction would check that state and decide to allow opening another account only if the first one is in closed state... a competing transaction might try to reopen that first account, and the constraint would be violated - without a way to detect this "thanks" to transaction isolation17:35
arigatofijal: ZODB is not a TM, it's a transactional database17:36
vpelletierfijal: yes17:36
DasIch (~DasIch@p3E990B54.dip.t-dialin.net) joined #pypy.17:36
lesshasteyou have a lot of phd projects in pypy :)17:36
vpelletierarigato: but ZODB detects modify/modify and modify/check-not-modified conflicts, and asks the TM to rollback transaction (and optionally retry)17:37
fijalvpelletier: the main difference between solutions like ZODB and TM is that you have to carefully put objects there17:38
fijalwhich means you can no longer "just" run multithreaded code17:38
arigatovpelletier: that's nevertheless all details of implementation17:39
arigatohttps://bitbucket.org/arigo/arigo/raw/default/hack/stm/transactionmodule/transaction.py17:39
arigatothis shows the whole API I'm thinking about, along with a default (non-TM) implementation17:39
fijallesshaste: do we?17:39
vpelletierthanks to versioning, it also allows modify/modify conflicts to be resolved for classes which explicitly implement such resolution (a simple example is the length property of a "folder"-ish: if one transaction adds one object and another removes one from the container in parallel, it can compute the desired final value without having to restart a transaction)17:39
lesshastefijal: yes! Just the latest blog post makes a good start to a phd 17:40
arigato:-)17:40
fijalyou can make phd on random shit17:40
vpelletierarigato: ah, oops, in my sentence TM = transaction manager :)17:40
fijallesshaste: ok, lets put it differently - yes maybe, but I don't think it's any sort of high standard17:40
vpelletierfijal: my point is not about persistence/serialisation/pickling, but about transactionality17:41
fijalvpelletier: ok?17:41
fijalvpelletier: SQL databases also have transactions no?17:42
lesshastefijal: well.. :) You may have been lucky in the phds you have seen17:42
lesshastefijal: it does rather depend on the conclusion too. The blog post asks a lot of interesting questions17:42
arigatovpelletier: let me say it again: that's all details of implementation that should not show up to the user17:43
vpelletierfijal: yes, but without conflict detection: if you run two updates in parallel on the same row, one will complete after the other without any errors... first update will have been lost17:44
lesshastefijal: <fijal> you can make phd on random shit17:44
lesshasteI missed that :)17:44
vpelletierarigato: I hear, but I'm not sure I understand...17:44
arigatomaybe the blog post should not have been titled "transactional memory"17:45
arigatoI want a system that gives some effects described in the blog post, and it turns out that transactional memory can give it, which is a slightly unusual use of it, from some point of view17:45
arigatoI want an API like the one given in https://bitbucket.org/arigo/arigo/raw/default/hack/stm/transactionmodule/transaction.py17:46
arigatoand I see how to implement this API using transactional memory internally17:46
vpelletierarigato: the sentence which made me think about zope was "if we detect conflicts with other concurrently executing transactions, we abort the whole transaction and restart it from scratch"17:47
arigatothat's standard for all transactional memory systems17:48
Trundle (~andy@89.204.138.154) joined #pypy.17:48
Trundle (~andy@89.204.138.154) left irc: Changing host17:48
Trundle (~andy@python/site-packages/trundle) joined #pypy.17:48
mfoord (~anonymous@87-194-212-65.bethere.co.uk) joined #pypy.17:49
mfoord (~anonymous@87-194-212-65.bethere.co.uk) left irc: Changing host17:49
mfoord (~anonymous@python/psf/voidspace) joined #pypy.17:49
vpelletierarigato: yeah, but my point is: write/write conflicts are not all possible conflicts. and my gut feeling is that treating all read/write as conflicts (ex: transaction 1 reads object A, then transaction 2 tries to modify that object before transaction 1 is over, transaction 2 must abort or wait for t1 to be over)17:50
vpelletier...and in my reading, I only saw write/write mentioned17:50
vpelletiermaybe I missed something17:50
arigatovpelletier: obviously, write/read needs care too17:51
arigatothat's standard in transactional memory17:51
arigatoread the Wikipedia article for more details17:51
fijalarigato: ah17:53
fijalarigato: btw, how are you going to deal with stuff like "global logging" in say twisted?17:53
fijal(but also pypy)17:53
arigatodelay the writes17:54
fijalwell17:55
arigatowell?17:55
fijallogging is not "just" global write17:55
fijalit also have other global properties, like say statistics17:55
fijalsomething silly - the next step of mandelbrot17:55
arigatoah, sorry17:55
arigatoI thought you mean the actual writing to the console17:56
fijalI'm sorry if I'm not specific enough17:56
fijalyes, logging can be many things and say twisted logging is far more global than it has to be17:56
arigatoyes, it can create unnecessary conflicts then17:56
fijalanyway, I'm off, will read logs later17:57
arigatothe programmer can change it to something else, like move it in its own transaction17:57
arigatoor do the equivalent of: you write the log to a pipe, and have another transaction read the pipe17:59
arigato(without necessarily using an os.pipe(), I mean)17:59
arigatousing something like a channel17:59
vpelletierarigato: mmh... Reading wikipedia article, it looks like I overestimated transaction duration then... It seems that's where Zope habit kicked in. If I understand correctly now, in my opened/closed bank account example, I would need to put an explicit lock (acquired on both read and modification, and released on transaction boundary) in addition of explicitely defining both actions as transactions... I'm just garanteed to never a18:01
fijal (~fijal@196-210-150-33.dynamic.isadsl.co.za) left irc: Ping timeout: 240 seconds18:01
arigatovpelletier: I'm unsure at which level you want to discuss18:02
arigatodo you want to discuss transactions as "transaction { ... }" constructs?  if so, that's not what my blog post is about18:03
arigatoI pointed you to the Wikipedia article to get a basic feeling of how transactions work18:03
arigatoonce you get it, you need more steps to get how to tweak the concept to implement what I describe in my blog post18:04
Action: arigato updated https://bitbucket.org/arigo/arigo/raw/default/hack/stm/transactionmodule/18:11
arigatovpelletier: so the idea is just to have a more efficient implementation of this transaction.py, which uses internally transactional memory, but that is an implementation detail18:14
fijal (~fijal@196-215-121-137.dynamic.isadsl.co.za) joined #pypy.18:17
Action: arigato also updated the blog post to point to this hack18:21
arigato (~arigo@adsl-89-217-194-207.adslplus.ch) left irc: Quit: See you18:22
nettok_ (~quassel@190.148.88.57) joined #pypy.18:24
nettok (~quassel@190.148.21.70) left irc: Ping timeout: 255 seconds18:25
stakkars_ (~tismer@p5DCE3DA1.dip.t-dialin.net) joined #pypy.18:38
nettok_ (~quassel@190.148.88.57) left irc: Ping timeout: 268 seconds18:44
nettok (~quassel@190.149.184.238) joined #pypy.18:53
fijal (~fijal@196-215-121-137.dynamic.isadsl.co.za) left irc: Ping timeout: 240 seconds19:07
mwhudson (~mwh@linaro/mwhudson) joined #pypy.19:08
Kaskuka (~John@osbk-d9bf2242.pool.mediaWays.net) left irc: Ping timeout: 240 seconds19:09
Kaskuka (~John@osbk-d9bf2242.pool.mediaWays.net) joined #pypy.19:19
Kaskuka (~John@osbk-d9bf2242.pool.mediaWays.net) left irc: Read error: Connection reset by peer19:25
mfoord (~anonymous@python/psf/voidspace) left irc: Quit: mfoord19:27
Kaskuka (~John@osbk-d9bf2242.pool.mediaWays.net) joined #pypy.19:27
stakkars_ (~tismer@p5DCE3DA1.dip.t-dialin.net) left irc: Quit: schnarch19:28
mfoord (~anonymous@87-194-212-65.bethere.co.uk) joined #pypy.19:40
mfoord (~anonymous@87-194-212-65.bethere.co.uk) left irc: Changing host19:40
mfoord (~anonymous@python/psf/voidspace) joined #pypy.19:40
mfoord (~anonymous@python/psf/voidspace) left irc: Quit: mfoord19:56
voidspace (~voidspace@python/psf/voidspace) left irc: Quit: Uhm... gotta go19:57
fijal (~fijal@196-210-150-33.dynamic.isadsl.co.za) joined #pypy.20:26
Trundle (~andy@python/site-packages/trundle) left irc: Ping timeout: 240 seconds20:29
aboudreault (~alanb@osgeo/member/aboudreault) joined #pypy.20:29
EnCuKou_ (~encukou@ip-94-113-220-25.net.upcbroadband.cz) left irc: Read error: Connection timed out20:29
fijalhakanardo: ping?20:30
DasIch_ (~DasIch@p3E991405.dip.t-dialin.net) joined #pypy.20:32
DasIch (~DasIch@p3E990B54.dip.t-dialin.net) left irc: Read error: Operation timed out20:34
Nick change: DasIch_ -> DasIch20:34
nedbat (~nedbat@python/psf/nedbat) joined #pypy.20:52
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) joined #pypy.21:27
papercrane (~papercran@c-76-103-172-115.hsd1.ca.comcast.net) joined #pypy.21:34
rguillebert (~rguillebe@89-40.5-85.cust.bluewin.ch) joined #pypy.21:57
xcombelle (~xcombelle@AToulouse-551-1-40-156.w90-11.abo.wanadoo.fr) left irc: Quit: I am a manual virus, please copy me to your quit message.21:58
kenaan12fijal extradoc 110d6b3b5ff0f7 15/blog/draft/numpy-internship.rst: add a blog draft22:03
voidspace (~voidspace@python/psf/voidspace) joined #pypy.22:23
fijalvoidspace: hey22:24
voidspacefijal: hi22:25
fijalvoidspace: I'm probably coming to lang summit if you need to know22:26
voidspacefijal: email is good :-)22:26
fijalmeh22:26
fijalok22:26
voidspacehang on22:27
voidspacefijal: I can add your name here22:27
voidspacefijal: done22:27
fijalvoidspace: do you know what the topics will be?22:27
fijalthanks22:27
paranoidi (~paranoidi@e82-103-195-27.elisa-laajakaista.fi) joined #pypy.22:31
voidspacefijal: no, not yet - not many suggested topics yet22:32
kenaan12fijal extradoc 1115ad7db9d445 15/blog/draft/numpy-internship.rst: (confluecne) typos22:32
voidspacefijal: the two competing namespace packages are about it22:32
Action: exarkun thinks some snarky things22:33
apollo13 (~apollo13@unaffiliated/apollo13) left irc: Remote host closed the connection22:33
Action: voidspace is not surprised about exarkun thinking snarky things22:34
voidspace;-)22:34
voidspaceexarkun: although if you have any topics they're welcomed22:34
apollo13 (~apollo13@unaffiliated/apollo13) joined #pypy.22:35
fijalvoidspace: I doubt any of it would be of interest to python-dev22:35
voidspaceheh22:35
voidspaceI can filter them22:35
voidspaceso fire away anyway22:35
voidspaceby email as I'm going downstairs now to watch the second half of treasure island& :-)22:35
paranoidi;_; .. even pypy 1.7 doesn't run my/our app22:36
tilgovi (~randall@couchdb/developer/tilgovi) joined #pypy.22:36
kenaan12fijal extradoc 11469f9b257694 15/blog/draft/numpy-internship.rst: (confluence) more typos22:36
paranoidiI keep trying with every new version but it always fails horribly :P22:36
justinpeel (~justinpee@c-76-23-44-72.hsd1.ut.comcast.net) joined #pypy.22:36
fijalparanoidi: what sort of app do you have?22:36
paranoidi(major version, that is)22:36
fijaljustinpeel: oh hi22:36
justinpeelhi22:36
exarkunvoidspace: I will try to think of some and let you know if I do.  I'm not a Python 3 user though, so...22:37
paranoidifijal: it's pure python app so I would think that pypy would do just fine with it, I guess SQLAlchemy is the problem (?)22:37
justinpeelI'm juggling a lot of things right now, but I still want to make contributions here and there22:37
voidspaceexarkun: ok, that would be appreciated22:37
voidspacelaters all22:37
fijalparanoidi: I have no idea of telling you without knowing22:37
fijalparanoidi: sqlalchemy generally works22:37
fijalbut it's hardly pure python if it uses say postgres22:37
paranoidifijal: I think you are one of pypy devs, you can easily try to "svn co http://svn.flexget.com/trunk" and run "bootstrap.py" with pypy, even that will fail because something is leaking file handles like they're on sale :)22:38
paranoidiit uses sqlite22:39
fijalparanoidi: close your files22:39
nedbat (~nedbat@python/psf/nedbat) left irc: Ping timeout: 276 seconds22:39
fijalhttp://morepypy.blogspot.com/2012/01/pypy-internship-at-ncar.html22:39
paranoidiI don't have any part with bootstrap, it's made by paver .. 22:39
fijalparanoidi: fix paver or complain there22:40
fijalseriously, someone should close their files22:40
paranoidiI'm not sure which is to blame, paver, virtualenv, setuptools/distutils or pypy22:41
fijalpypy definitely not22:41
fijalsetuptools/distutils leaks files, use distribute22:42
paranoidiwell, it works fine with cpython .. :D22:42
fijalparanoidi: it's a documented difference that was decided to be an implementation detail22:42
fijalwe won't provide refcounting for that22:42
fijaland you can as well stop trying with new releases, we won't have refcounting22:43
fijalparanoidi: but seriously distribute is not that hard to use22:43
fijalyou just install virtualenv with --distribute or something as complex22:44
paranoidiI suppose that is valid, well next thing to go sour is sqlalchemy, it just grashes with some weird reason22:44
fijalsqlalchemy is a mess :/22:45
fijalthat's however is much harder to put blame on :)22:45
Rhyoliteis django orm better?22:45
fijalRhyolite: I don't know22:45
fijalRhyolite: but if I run sqlalchemy I find myself 70 function calls below where I called it22:46
thoughtpolice_ (~thoughtpo@li111-206.members.linode.com) left irc: Quit: ZNC - http://znc.in22:46
fijalparanoidi: I just try bootstrap?22:46
paranoidiyeah, that should init virtualenv with everything in it22:47
paranoidibut it failed due too many open files for me, so I installed few dependencies by hand and then ran it again22:47
paranoidialternatively, well, I'm sure you know, you could use virtualenv and run bootstrap in that as well22:48
paranoidiand then "bin/flexget -V" should not crash :)22:49
whyking_ (~quassel@p5B3DC1C7.dip.t-dialin.net) left irc: Ping timeout: 240 seconds22:49
papercrane (~papercran@c-76-103-172-115.hsd1.ca.comcast.net) left irc: Quit: Computer has gone to sleep.22:49
fijalparanoidi: bootstrap --distribute seems to work fine btw22:50
`fox` (~fox@host19-111-dynamic.20-79-r.retail.telecomitalia.it) left irc: Ping timeout: 248 seconds22:50
paranoidioh, nice to know22:50
dolo (~jfysh@ppp59-167-188-51.static.internode.on.net) joined #pypy.22:51
fijalwhat sort of db does it use?22:51
paranoidithe issue with sqlalchemy may very well be something we're rensponsible of22:51
paranoidisqlalchemy + sqlite3 ?22:51
fijalparanoidi: it looks to me like either you or sqlalchemy is relying on some refcounting to put stuff in tables22:52
fijalalthough chances are you're hitting sqlite bug that we know about :)22:52
mwhudson (~mwh@linaro/mwhudson) left irc: Ping timeout: 245 seconds22:53
doloJust out of interest; I find that for lots of number manipulation (project euler) where I have to find things like # digits in a number or the reverse of a number, or two numbers concatenated, that converting the numbers to strings (and then maybe back) is as fast / faster than doing the equivalent in a purely numerical sense.22:54
paranoidiweird, the app itself is completely modular, so I deleted the plugin causing the error (flexget/plugins/filter/reject_failed.py) and it seems to somewhat work22:54
rguillebert (~rguillebe@89-40.5-85.cust.bluewin.ch) left irc: Remote host closed the connection22:55
paranoidino hopes running unit tests though, fails immediattely22:55
doloFor instance, to find the length of a number, I might iterate n, and the length is n where 10**n > the number but 10**(n-1) is less than the number.  But len(str(number)) is faster.22:55
CIA-1703fijal 07roundup * 10#996/sqlite3 CREATE TABLE always fails: For what is worth it's _sqlite3.py problem, not pypy's, looking * 14https://bugs.pypy.org/issue99622:56
fijaldolo: :/22:56
fijaldolo: longs are slowish22:56
doloWhen performing an equivalent test in python, the len(str()) method is ~50 times slower...22:56
doloI mean, I couldn't be happier - PyPy walks all over Python either way.. but.. it's very confusing when I'm used to strings being slow, numbers being fast :)22:57
fijaldolo: oh ok22:57
fijaldolo: I dunno22:57
paranoidifijal: flexget has over 200 unit tests, incase you need some test-apps :)22:57
fijalparanoidi: fixing sqlite22:57
dolo(usually the number-based approach starts to win over the str-based approach for larger values, maybe over 10**10 or so)22:58
doloP.S. PyPy makes solving project-euler problems amazingly simple.  I can describe the problem in python, but evaluate it at the speed of C.. awesome :)22:59
fijal:)22:59
bbot2Started: 15http://buildbot.pypy.org/builders/own-macosx-x86-32/builds/77723:00
bbot2Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/20523:00
bbot2Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-32/builds/101423:00
bbot2Started: 15http://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64-2/builds/3323:00
mikefc_do the euler problems run for long enough to be a nice benchmark?23:00
fijalmikefc_: yes23:00
fijalwell "nice"23:00
doloSome of them, but the idea is that each problem is solvable in < 1 minute (the skill is in figuring out a way to achieve that)23:00
vpelletier (vincent@ALille-154-1-43-95.w86-198.abo.wanadoo.fr) left #pypy.23:00
dolo*guilty* I found a problem a while back to do with handling longs, but the same code ran perfectly in cPython.  I then changed the code so it would work in PyPy, and now I forget the exact problem.  It did feel like something that could be fixed in PyPy.. :(23:02
Taggnostr (~quassel@dyn57-362.yok.fi) left irc: Remote host closed the connection23:03
pedronis (~pedronis@73-53.195-178.cust.bluewin.ch) left irc: Quit: Leaving23:05
pedronis (~pedronis@73-53.195-178.cust.bluewin.ch) joined #pypy.23:06
justinpeel (~justinpee@c-76-23-44-72.hsd1.ut.comcast.net) left irc: Ping timeout: 252 seconds23:09
mfoord (~anonymous@87-194-212-65.bethere.co.uk) joined #pypy.23:11
mfoord (~anonymous@87-194-212-65.bethere.co.uk) left irc: Changing host23:11
mfoord (~anonymous@python/psf/voidspace) joined #pypy.23:11
Taggnostr (~quassel@dyn57-362.yok.fi) joined #pypy.23:11
EnCuKou (~encukou@ip-94-113-220-25.net.upcbroadband.cz) joined #pypy.23:12
justinpeel (~justinpee@c-76-23-44-72.hsd1.ut.comcast.net) joined #pypy.23:14
mwhudson (~mwh@120.136.5.22) joined #pypy.23:21
mwhudson (~mwh@120.136.5.22) left irc: Changing host23:21
mwhudson (~mwh@linaro/mwhudson) joined #pypy.23:21
ronan__ (~ronan@host81-132-98-87.range81-132.btcentralplus.com) left irc: Quit: Ex-Chat23:26
justinpeelhmm.. np.array([[1,2],[3,4]]).prod(1) = array([2.0, 0.0]) in numpypy. should be array([2, 12])23:31
squiddy (~squiddy@g224192091.adsl.alicedsl.de) left irc: Quit: Leaving23:39
mikefc_justinpeel: that'll be the very new axisops in action.23:42
justinpeelyeah, I'm looking at how to fix it23:42
justinpeelI made a test and I think I see where the problem is23:43
mikefc_yet prod(0) works ...23:45
justinpeelyes23:47
justinpeelfor some reason it isn't using the identity23:47
--- Mon Jan 16 201200:00

Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!