Re: [Cython] some pull requests for 0.16?

2012-03-22 Thread Stefan Behnel
Robert Bradshaw, 21.03.2012 21:24:
> On Wed, Mar 21, 2012 at 6:47 AM, mark florisson wrote:
>> On 20 March 2012 18:51, Stefan Behnel wrote:
>>> mark florisson, 20.03.2012 17:40:
 On 18 March 2012 11:58, Stefan Behnel wrote:
> I put up two new pull requests on github:
>
> Implementation of PEP 380 (yield from):
> https://github.com/cython/cython/pull/96
>
> Rewrite of dict iteration:
> https://github.com/cython/cython/pull/95
>
> Given that the release of 0.16 has currently slowed down a bit, and given
> that these are really nice features, could someone (and especially Mark, 
> as
> the responsible release manager) take a look at them and give an opinion
> regarding their suitability for 0.16?

 Sorry about the slowdown, my BT internet connection at home got closed
 off, so working on a release is rather hard, hopefully that will be
 fixed within the next few days.
> 
> Thanks for the status update. Is there a separate release branch, or
> are you working off the github master?

Not currently. I also agree that we should try to get out the release soon.
What about this: I merge my pending pull requests, we test everything in
Sage (it's been normally tested in my dev branch already), and if that
doesn't break anything, we release another beta? If it does break anything,
it's either easy enough to fix, or we can create a release branch at that
point with the status before the merges.

sage.math seems to be back up, although the /levi drive isn't. If there are
no objections, I'll make sure Jenkins gets back up and then do the above.


> Is there a list of issues/blockers somewhere?

Don't know.


 Finally, there is a serious bug in the reversed(range()) optimization
 that Mike Graham discovered when working on the range() optimization
 with a runtime step, which is basically wrong for any step that is not
 1 or -1 (it simply swaps the bounds with an offset by 1, but it
 actually has to figure out what the actual last value was in the range
 and use that as the start instead). I personally consider this a
 blocker, so I'll try contacting Mike and see if he is still
 (interested in) working on that.
>>>
>>> Interesting. Yes, I can well imagine that being wrong. These things are
>>> exceedingly tricky.
>>>
>>> However, it's easy to disable the optimisation for a specific case - likely
>>> easier than fixing it.
>>>
>>> Also, I don't consider this a blocker. It's not like it works in the
>>> current release, so it's not a regression compared to that.
>>
>> Yes, it's not a regression, but I find it hard to release something
>> that is so broken, and I feel it kind of represents a lack of care
>> which may make people believe Cython can't be taken seriously.
> 
> I'm usually in the "not a regression" camp as well, but this is pretty
> fundamental. Sounds like an easy fix, or at least an easy-to-disable
> optimization.

I'll take a look - maybe not before the weekend though.

Stefan
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] [cython-users] GSoC 2012

2012-03-22 Thread Stefan Behnel
Robert Bradshaw, 21.03.2012 21:56:
> On Sat, Mar 10, 2012 at 10:44 PM, mark florisson wrote:
> 2.
>> - profile guided optimizations (using python's profilers and/or a
>> custom profiler that collects data such as types etc, which can be
>> used to specialize variables inside loops (or entire functions) with a
>> fallback to normal mode in case the type changes)
> 4.
>> - better type inference, that would be enabled by default and again
>> handle thing like reassignments of variables and fallbacks to the
>> default object type. With entry caching Cython could build a database
>> of types ((extension) classes, functions, variables) used in the
>> modules and functions that are compiled (also def functions), and
>> infer the types used and specialize on those. Maybe a switch should be
>> added to cython to handle circular dependencies, or maybe with the
>> distutils preprocessing it can run all the type inference first and
>> keep track of unresolved entries, and try to fill those in after
>> building the database. For bonus points the user can be allowed to
>> write plugins to aid the process.
> 
> 
> What I would most like to see is the common component in 2 and 4, i.e.
> the ability to generate optimized code for imperfectly-inferred types,
> with transparent fallback to generic code if conditions are not met at
> runtime (during as well as at entering the optimized code path).

Absolutely. The dict iteration change is pointing exactly in that
direction, but there are so many other places where the same thing applies.

Basically, it has separate C implementations for different cases all folded
into an inlined helper function with flag parameters, and then sets some of
the flags to 1/0 constants at compile time and determines others at
runtime. The C compiler can then just drop any inaccessible code and use
the inlined remainings of the function to infer a good way of streamlining
the rest of the surrounding code.

This also turned out to be a perfect way to enable or disable certain
optimisations and/or implementation details for different backends (PyPy
and CPython currently). Much better than actually generating different C
code for them.

Stefan
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] some pull requests for 0.16?

2012-03-22 Thread mark florisson
On 22 March 2012 07:18, Stefan Behnel  wrote:
> Robert Bradshaw, 21.03.2012 21:24:
>> On Wed, Mar 21, 2012 at 6:47 AM, mark florisson wrote:
>>> On 20 March 2012 18:51, Stefan Behnel wrote:
 mark florisson, 20.03.2012 17:40:
> On 18 March 2012 11:58, Stefan Behnel wrote:
>> I put up two new pull requests on github:
>>
>> Implementation of PEP 380 (yield from):
>> https://github.com/cython/cython/pull/96
>>
>> Rewrite of dict iteration:
>> https://github.com/cython/cython/pull/95
>>
>> Given that the release of 0.16 has currently slowed down a bit, and given
>> that these are really nice features, could someone (and especially Mark, 
>> as
>> the responsible release manager) take a look at them and give an opinion
>> regarding their suitability for 0.16?
>
> Sorry about the slowdown, my BT internet connection at home got closed
> off, so working on a release is rather hard, hopefully that will be
> fixed within the next few days.
>>
>> Thanks for the status update. Is there a separate release branch, or
>> are you working off the github master?
>
> Not currently. I also agree that we should try to get out the release soon.
> What about this: I merge my pending pull requests, we test everything in
> Sage (it's been normally tested in my dev branch already), and if that
> doesn't break anything, we release another beta? If it does break anything,
> it's either easy enough to fix, or we can create a release branch at that
> point with the status before the merges.
>
> sage.math seems to be back up, although the /levi drive isn't. If there are
> no objections, I'll make sure Jenkins gets back up and then do the above.
>
>
>> Is there a list of issues/blockers somewhere?
>
> Don't know.
>

Mostly the pull requests and this reversed bug
(http://trac.cython.org/cython_trac/ticket/763), which I marked as a
blocker. As much as I would like to push stuff out early, I really
find it more important to push something that is as stable and useful
as possible, even if it delays a release by a couple of weeks.

I'll make a release branch, a clone of the current master, but I want
several other things in there as well:
1) Dag's pull request for the portable attribute access of
np.ndarray (I think this is important as np.ndarray is commonly used
and in future numpy versions the attributes might be removed
altogether)
2) Runtime dispatch for buffers for fused types. This would make
fused types much more useable and useful for many people. It's nearly
finished, I just need to add a few more tests and test on Jenkins

Basically until Jenkins is up and everything is tested there, we
shouldn't push anything into the release branch.

> Finally, there is a serious bug in the reversed(range()) optimization
> that Mike Graham discovered when working on the range() optimization
> with a runtime step, which is basically wrong for any step that is not
> 1 or -1 (it simply swaps the bounds with an offset by 1, but it
> actually has to figure out what the actual last value was in the range
> and use that as the start instead). I personally consider this a
> blocker, so I'll try contacting Mike and see if he is still
> (interested in) working on that.

 Interesting. Yes, I can well imagine that being wrong. These things are
 exceedingly tricky.

 However, it's easy to disable the optimisation for a specific case - likely
 easier than fixing it.

 Also, I don't consider this a blocker. It's not like it works in the
 current release, so it's not a regression compared to that.
>>>
>>> Yes, it's not a regression, but I find it hard to release something
>>> that is so broken, and I feel it kind of represents a lack of care
>>> which may make people believe Cython can't be taken seriously.
>>
>> I'm usually in the "not a regression" camp as well, but this is pretty
>> fundamental. Sounds like an easy fix, or at least an easy-to-disable
>> optimization.
>
> I'll take a look - maybe not before the weekend though.

It would be easy to disable. Personally I'd like to give the people at
PyCon who where interested in sprinting with us the chance to finish
what they were working on, in this case Mike Graham, who indicated
that he means to finish his work on the bug (and add proper tests for
them). I think we shouldn't pull work out of people's hands, but
instead encourage them to work on Cython and possibly contribute in
the future.

> Stefan
> ___
> cython-devel mailing list
> cython-devel@python.org
> http://mail.python.org/mailman/listinfo/cython-devel
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] Jenkins down

2012-03-22 Thread mark florisson
On 21 March 2012 13:58, Stefan Behnel  wrote:
> Hi,
>
> it seems like the sage.math server is broken again, at least it's lacking
> mounts when I try to log in. I'll restart Jenkins as soon as it's back 
> working.
>
> Stefan
> ___
> cython-devel mailing list
> cython-devel@python.org
> http://mail.python.org/mailman/listinfo/cython-devel

Logging in through ssh seems to work, should I run any of the scripts
from your home directory Stefan? e.g. restart_dead_hudson.sh or
starthudson.sh?
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] sage.math problems?

2012-03-22 Thread William Stein
On Thu, Mar 22, 2012 at 9:04 AM, David Kirkby  wrote:
> On 22 March 2012 12:33, William Stein  wrote:
>> The usb device (for /levi) never appeared after I remotely rebooted 
>> sage.math.
>> Physical access is thus probably required.  I've emailed some people who are 
>> in
>> Seattle, and we'll see.  (I'm thousands of miles away now, and will
>> only get further away
>> -- to Europe -- until Apr 2, when I'll be back in Seattle.)
>
> I believe any decent IT professional will tell you that you should not
> be using USB drives on servers.

Well I'm definitely currently not using USB drives on this server. :-(

If possible, can the stuff that was being done on /levi (jenkins for
Cython) be moved to /scratch, which is a reasonably fast NFS
filesystem.

 -- William
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] some pull requests for 0.16?

2012-03-22 Thread mark florisson
On 21 March 2012 20:24, Robert Bradshaw  wrote:
> On Wed, Mar 21, 2012 at 6:47 AM, mark florisson
>  wrote:
>> On 20 March 2012 18:51, Stefan Behnel  wrote:
>>> mark florisson, 20.03.2012 17:40:
 On 18 March 2012 11:58, Stefan Behnel wrote:
> I put up two new pull requests on github:
>
> Implementation of PEP 380 (yield from):
> https://github.com/cython/cython/pull/96
>
> Rewrite of dict iteration:
> https://github.com/cython/cython/pull/95
>
> Given that the release of 0.16 has currently slowed down a bit, and given
> that these are really nice features, could someone (and especially Mark, 
> as
> the responsible release manager) take a look at them and give an opinion
> regarding their suitability for 0.16?

 Sorry about the slowdown, my BT internet connection at home got closed
 off, so working on a release is rather hard, hopefully that will be
 fixed within the next few days.
>
> Thanks for the status update. Is there a separate release branch, or
> are you working off the github master? Is there a list of
> issues/blockers somewhere?

I created a release branch called release0.16 (there was a previous
release branch for 0.15.1 which I could have pruned as well).

 Anyway, during the sprints Dag worked
 on the numpy attributes accesses to generate non-deprecated numpy
 code, I'm not sure how far along that is and if we can get that in as
 well, or have it wait until 0.16.1.
>>>
>>> I wouldn't mind if my changes waited for 0.16.1 as well, as long as that's
>>> not too long from now. There will certainly be things to fix after the
>>> release anyway.
>>>
>>>
 I worked on enhancing fused types runtime dispatching (e.g. select the
 right specialization at runtime from the argument types), especially
 on matching buffers. It's also a bit of a rewrite as the complexity
 grew quite a bit and ndarray and fused types were broken in subtle
 ways (I would do the pull request now if I hadn't left the code at
 home :).
>>>
>>> I took a tiny look at that when I wrote a test case and was surprised to
>>> see that it imports "sys" inside of the generated function. Looks like
>>> there's a bit left to optimise.
>>>
>>> I faintly remember a blog post (or more than one) by PJ Eby when he wrote a
>>> "generic functions" module. It uses type dispatching as well, and he wrote
>>> about the ways he found to tune that. Might be an interesting read.
>>>
>>
>> Thanks, I'll look into that. Maybe the modules could be bound as
>> locals through default arguments.
>>
 Finally, there is a serious bug in the reversed(range()) optimization
 that Mike Graham discovered when working on the range() optimization
 with a runtime step, which is basically wrong for any step that is not
 1 or -1 (it simply swaps the bounds with an offset by 1, but it
 actually has to figure out what the actual last value was in the range
 and use that as the start instead). I personally consider this a
 blocker, so I'll try contacting Mike and see if he is still
 (interested in) working on that.
>>>
>>> Interesting. Yes, I can well imagine that being wrong. These things are
>>> exceedingly tricky.
>>>
>>> However, it's easy to disable the optimisation for a specific case - likely
>>> easier than fixing it.
>>>
>>> Also, I don't consider this a blocker. It's not like it works in the
>>> current release, so it's not a regression compared to that.
>>>
>>
>> Yes, it's not a regression, but I find it hard to release something
>> that is so broken, and I feel it kind of represents a lack of care
>> which may make people believe Cython can't be taken seriously.
>
> I'm usually in the "not a regression" camp as well, but this is pretty
> fundamental. Sounds like an easy fix, or at least an easy-to-disable
> optimization.
>
 As for the two pull requests, both are quite large, but the dict
 iteration rewrite is more like an enhancement whereas the 'yield from'
 is really a new (somewhat big) feature. I would personally prefer to
 merge only enhancements and bug fixes, but not new features.
>>>
>>> Funny. I would have proposed the opposite, because I consider the "yield
>>> from" implementation (as a new language feature) safer than the dict
>>> iteration (which impacts existing code). As I said, I wouldn't mind
>>> postponing both to 0.16.1, but I think it would be better to get them out
>>> and have people use them, so that we can also fix the bugs earlier.
>>>
>>
>> A good point. My reasoning was that we want less new functionality per
>> release, and keeping 'yield from' out of 0.16 makes us push out the
>> next release earlier as we will have pending functionality we want to
>> get out there. If the dict iteration is tested well enough (and it
>> looked to me like that), then hopefully code in sage or lxml will
>> break if there are leftover bugs, or our next beta might catch them
>> (or some). If you do w

Re: [Cython] Jenkins down

2012-03-22 Thread Robert Bradshaw
Thanks for the offer. One problem I see is that /levi/scratch (a local
disk) has been dismounted (or reconfigured). To save ourselves random
permissions issues, it's probably best to run this script/job as
scoder (I've got sudo).

I'll see what I can do to get it running, assuming the sage.math
issues have been resolved.

- Robert

On Thu, Mar 22, 2012 at 5:46 AM, mark florisson
 wrote:
> On 21 March 2012 13:58, Stefan Behnel  wrote:
>> Hi,
>>
>> it seems like the sage.math server is broken again, at least it's lacking
>> mounts when I try to log in. I'll restart Jenkins as soon as it's back 
>> working.
>>
>> Stefan
>> ___
>> cython-devel mailing list
>> cython-devel@python.org
>> http://mail.python.org/mailman/listinfo/cython-devel
>
> Logging in through ssh seems to work, should I run any of the scripts
> from your home directory Stefan? e.g. restart_dead_hudson.sh or
> starthudson.sh?
> ___
> cython-devel mailing list
> cython-devel@python.org
> http://mail.python.org/mailman/listinfo/cython-devel
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] sage.math problems?

2012-03-22 Thread Stefan Behnel
William Stein, 22.03.2012 14:11:
> On Thu, Mar 22, 2012 at 9:04 AM, David Kirkby wrote:
>> On 22 March 2012 12:33, William Stein wrote:
>>> The usb device (for /levi) never appeared after I remotely rebooted 
>>> sage.math.
>>> Physical access is thus probably required.  I've emailed some people who 
>>> are in
>>> Seattle, and we'll see.  (I'm thousands of miles away now, and will
>>> only get further away
>>> -- to Europe -- until Apr 2, when I'll be back in Seattle.)
>>
>> I believe any decent IT professional will tell you that you should not
>> be using USB drives on servers.
> 
> Well I'm definitely currently not using USB drives on this server. :-(
> 
> If possible, can the stuff that was being done on /levi (jenkins for
> Cython) be moved to /scratch, which is a reasonably fast NFS
> filesystem.

The whole Jenkins installation was on /levi (maybe not our best idea
ever...). I have backups of the complete configuration, but we'd still
loose the installed plugins and the build history. We'd literally start
from scratch and it would take some time to set it all up again. If it
turns out to be a matter of replugging the USB drive (or something
similarly simple), I would prefer copying the original installation over
(including the build history), rather than rebuilding it.

Also, the sage build directory was on levi and I don't know how that was
set up - Robert would know.

Stefan
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] sage.math problems?

2012-03-22 Thread Robert Bradshaw
On Thu, Mar 22, 2012 at 6:11 AM, William Stein  wrote:
> On Thu, Mar 22, 2012 at 9:04 AM, David Kirkby  wrote:
>> On 22 March 2012 12:33, William Stein  wrote:
>>> The usb device (for /levi) never appeared after I remotely rebooted 
>>> sage.math.
>>> Physical access is thus probably required.  I've emailed some people who 
>>> are in
>>> Seattle, and we'll see.  (I'm thousands of miles away now, and will
>>> only get further away
>>> -- to Europe -- until Apr 2, when I'll be back in Seattle.)
>>
>> I believe any decent IT professional will tell you that you should not
>> be using USB drives on servers.
>
> Well I'm definitely currently not using USB drives on this server. :-(
>
> If possible, can the stuff that was being done on /levi (jenkins for
> Cython) be moved to /scratch, which is a reasonably fast NFS
> filesystem.

The Cython tests do a lot of disk IO (checking out the Cython
repository, writing .c files, writing .o and .so files, starting
Python, ..). This could be an nsf mount, but is there somewhere
better? I think we'd like to store our configuration information in a
more persistant location.

- Robert
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] sage.math problems?

2012-03-22 Thread Robert Bradshaw
On Thu, Mar 22, 2012 at 9:03 AM, Stefan Behnel  wrote:
> William Stein, 22.03.2012 14:11:
>> On Thu, Mar 22, 2012 at 9:04 AM, David Kirkby wrote:
>>> On 22 March 2012 12:33, William Stein wrote:
 The usb device (for /levi) never appeared after I remotely rebooted 
 sage.math.
 Physical access is thus probably required.  I've emailed some people who 
 are in
 Seattle, and we'll see.  (I'm thousands of miles away now, and will
 only get further away
 -- to Europe -- until Apr 2, when I'll be back in Seattle.)
>>>
>>> I believe any decent IT professional will tell you that you should not
>>> be using USB drives on servers.
>>
>> Well I'm definitely currently not using USB drives on this server. :-(
>>
>> If possible, can the stuff that was being done on /levi (jenkins for
>> Cython) be moved to /scratch, which is a reasonably fast NFS
>> filesystem.
>
> The whole Jenkins installation was on /levi (maybe not our best idea
> ever...). I have backups of the complete configuration, but we'd still
> loose the installed plugins and the build history. We'd literally start
> from scratch and it would take some time to set it all up again. If it
> turns out to be a matter of replugging the USB drive (or something
> similarly simple), I would prefer copying the original installation over
> (including the build history), rather than rebuilding it.
>
> Also, the sage build directory was on levi and I don't know how that was
> set up - Robert would know.

It was just a vanilla copy of Sage + some patches. (I don't know if
the patches were saved elsewhere :(...)

- Robert
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] sage.math problems?

2012-03-22 Thread Vitja Makarov
2012/3/22 Stefan Behnel :
> William Stein, 22.03.2012 14:11:
>> On Thu, Mar 22, 2012 at 9:04 AM, David Kirkby wrote:
>>> On 22 March 2012 12:33, William Stein wrote:
 The usb device (for /levi) never appeared after I remotely rebooted 
 sage.math.
 Physical access is thus probably required.  I've emailed some people who 
 are in
 Seattle, and we'll see.  (I'm thousands of miles away now, and will
 only get further away
 -- to Europe -- until Apr 2, when I'll be back in Seattle.)
>>>
>>> I believe any decent IT professional will tell you that you should not
>>> be using USB drives on servers.
>>
>> Well I'm definitely currently not using USB drives on this server. :-(
>>
>> If possible, can the stuff that was being done on /levi (jenkins for
>> Cython) be moved to /scratch, which is a reasonably fast NFS
>> filesystem.
>
> The whole Jenkins installation was on /levi (maybe not our best idea
> ever...). I have backups of the complete configuration, but we'd still
> loose the installed plugins and the build history. We'd literally start
> from scratch and it would take some time to set it all up again. If it
> turns out to be a matter of replugging the USB drive (or something
> similarly simple), I would prefer copying the original installation over
> (including the build history), rather than rebuilding it.
>

Do you have sudo on that machine? Does the disk show up when you run lsusb?
If it doesn't reboot may help. Anyway, can you send me dmesg output?


> Also, the sage build directory was on levi and I don't know how that was
> set up - Robert would know.
>
> Stefan
> ___
> cython-devel mailing list
> cython-devel@python.org
> http://mail.python.org/mailman/listinfo/cython-devel



-- 
vitja.
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] sage.math problems?

2012-03-22 Thread Stefan Behnel
Vitja Makarov, 22.03.2012 17:12:
> Does the disk show up when you run lsusb?

No.

> If it doesn't reboot may help. Anyway, can you send me dmesg output?

It's not in dmesg either. Maybe it just switched itself off after the power
failure?

Stefan
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] sage.math problems?

2012-03-22 Thread Dag Sverre Seljebotn

On 03/22/2012 09:03 AM, Stefan Behnel wrote:

William Stein, 22.03.2012 14:11:

On Thu, Mar 22, 2012 at 9:04 AM, David Kirkby wrote:

On 22 March 2012 12:33, William Stein wrote:

The usb device (for /levi) never appeared after I remotely rebooted sage.math.
Physical access is thus probably required.  I've emailed some people who are in
Seattle, and we'll see.  (I'm thousands of miles away now, and will
only get further away
-- to Europe -- until Apr 2, when I'll be back in Seattle.)


I believe any decent IT professional will tell you that you should not
be using USB drives on servers.


Well I'm definitely currently not using USB drives on this server. :-(

If possible, can the stuff that was being done on /levi (jenkins for
Cython) be moved to /scratch, which is a reasonably fast NFS
filesystem.


The whole Jenkins installation was on /levi (maybe not our best idea
ever...). I have backups of the complete configuration, but we'd still
loose the installed plugins and the build history. We'd literally start
from scratch and it would take some time to set it all up again. If it
turns out to be a matter of replugging the USB drive (or something
similarly simple), I would prefer copying the original installation over
(including the build history), rather than rebuilding it.



I hope it doesn't come to this, but if it does, I think we should really 
look hard at ShiningPanda instead.


Honestly, my feeling is that if we can't rally up $240/month in funding 
among Cython users then we might as well give up. (And specifically, we 
could ask NumFOCUS first, and possibly share the queue with other open 
source projects on their lists, and possibly ask ShiningPanda for an OSS 
project rebate).


I'm not primarily concerned with uptime, but with the time spent in 
maintaining the systems. The more that can be moved into the cloud the 
better for open source projects, if it means less maintenance, which is 
usually the case; see our move to GitHub.


ShiningPanda also offers features like testing on Windows.

Dag
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


[Cython] funding (Re: sage.math problems?)

2012-03-22 Thread Stefan Behnel
Dag Sverre Seljebotn, 22.03.2012 17:58:
> On 03/22/2012 09:03 AM, Stefan Behnel wrote:
>> I would prefer copying the original installation over
>> (including the build history), rather than rebuilding it.
> 
> I hope it doesn't come to this, but if it does, I think we should really
> look hard at ShiningPanda instead.

We could set up an OSS test account to see what we'd get for our money,
i.e. how much of our build/test cycle we can put into one hour in their
environment.


> Honestly, my feeling is that if we can't rally up $240/month in funding
> among Cython users then we might as well give up.

As long as we have sage.math, I can think of better things to do with 240$
per month. Didn't we want to organise another workshop at some point?

Regarding funding in general, maybe we should just start putting up one or
two of those sexy funding bars on our web site, like the PyPy devs do for
their funded projects. Assuming that goes well, it would also allow us to
put money on dedicated projects by paying basically ourselves for doing
tasks that we won't normally spend our precious spare time on (e.g. because
they appear too large for a weekend), but that we and our users deem
necessary for some reason.

Basically, any "real" CEP that we consider doable and that we'd have a
developer for could get a funding account where users could "vote" for it
by donating money.

(and that's where the legal issues start ...)


> (And specifically, we
> could ask NumFOCUS first, and possibly share the queue with other open
> source projects on their lists, and possibly ask ShiningPanda for an OSS
> project rebate).

Sure.


> I'm not primarily concerned with uptime, but with the time spent in
> maintaining the systems. The more that can be moved into the cloud the
> better for open source projects, if it means less maintenance, which is
> usually the case; see our move to GitHub.

I don't know how much time the maintenance takes on UW side, but they're
using the machines for many other things, so I guess they'd have to invest
the time anyway. So they won't win much by us moving out.

Speaking for myself, I don't consider the time wasted that I invested into
the Jenkins setup so far, and I'm also not sure there'd be all that much to
gain by no longer administrating the server installation itself by
ourselves. The bulk of the work is about configuring jobs and writing
build/test/whatever scripts, which still applies to a cloud installation
(with, I assume, the added disadvantage of no longer being able to ssh
directly into the machine).


> ShiningPanda also offers features like testing on Windows.

That *is* a feature, but it also takes up additional (paid) time. We
wouldn't have to run continuous tests on it, though, just trigger tests
manually when we want them.

Stefan
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] sage.math problems?

2012-03-22 Thread William Stein
On Thu, Mar 22, 2012 at 12:03 PM, Stefan Behnel  wrote:
> William Stein, 22.03.2012 14:11:
>> On Thu, Mar 22, 2012 at 9:04 AM, David Kirkby wrote:
>>> On 22 March 2012 12:33, William Stein wrote:
 The usb device (for /levi) never appeared after I remotely rebooted 
 sage.math.
 Physical access is thus probably required.  I've emailed some people who 
 are in
 Seattle, and we'll see.  (I'm thousands of miles away now, and will
 only get further away
 -- to Europe -- until Apr 2, when I'll be back in Seattle.)
>>>
>>> I believe any decent IT professional will tell you that you should not
>>> be using USB drives on servers.
>>
>> Well I'm definitely currently not using USB drives on this server. :-(
>>
>> If possible, can the stuff that was being done on /levi (jenkins for
>> Cython) be moved to /scratch, which is a reasonably fast NFS
>> filesystem.
>
> The whole Jenkins installation was on /levi (maybe not our best idea
> ever...). I have backups of the complete configuration, but we'd still
> loose the installed plugins and the build history. We'd literally start
> from scratch and it would take some time to set it all up again. If it
> turns out to be a matter of replugging the USB drive (or something
> similarly simple), I would prefer copying the original installation over
> (including the build history), rather than rebuilding it.

OK.  I'm sure it is just a matter of replugging the USB drive.

>
> Also, the sage build directory was on levi and I don't know how that was
> set up - Robert would know.
>
> Stefan
> ___
> cython-devel mailing list
> cython-devel@python.org
> http://mail.python.org/mailman/listinfo/cython-devel



-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] some pull requests for 0.16?

2012-03-22 Thread Stefan Behnel
Stefan Behnel, 20.03.2012 18:51:
> mark florisson, 20.03.2012 17:40:
>> As for the two pull requests, both are quite large, but the dict
>> iteration rewrite is more like an enhancement whereas the 'yield from'
>> is really a new (somewhat big) feature. I would personally prefer to
>> merge only enhancements and bug fixes, but not new features.
> 
> Funny. I would have proposed the opposite, because I consider the "yield
> from" implementation (as a new language feature) safer than the dict
> iteration (which impacts existing code). As I said, I wouldn't mind
> postponing both to 0.16.1, but I think it would be better to get them out
> and have people use them, so that we can also fix the bugs earlier.

Coming back to this, I think the main question is: what does our versioning
scheme mean? Personally, I would expect a 0.16 release to come with new
features compared to 0.15.x, and a 0.16.1 release to fix the bugs that
these features (and other changes) have introduced, without changing too
much of what makes up the 0.16 release series.

I know that we've rarely followed that distinction (we sometimes didn't
even have point releases), so it doesn't really matter what we add in
0.16.1, I guess. I just thought I'd bring up the question what would make a
0.17 release different from a 0.16.1 release. So far, it appears to have
been more of an issue of how much time has passed since the last release,
which usually goes hand in hand with a substantial set of changes.

Stefan
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] Jenkins down

2012-03-22 Thread William Stein
On Thu, Mar 22, 2012 at 11:59 AM, Robert Bradshaw  wrote:
> Thanks for the offer. One problem I see is that /levi/scratch (a local
> disk) has been dismounted (or reconfigured). To save ourselves random
> permissions issues, it's probably best to run this script/job as
> scoder (I've got sudo).
>
> I'll see what I can do to get it running, assuming the sage.math
> issues have been resolved.

David Roe is going to unplug/replug the disk.

 -- William

>
> - Robert
>
> On Thu, Mar 22, 2012 at 5:46 AM, mark florisson
>  wrote:
>> On 21 March 2012 13:58, Stefan Behnel  wrote:
>>> Hi,
>>>
>>> it seems like the sage.math server is broken again, at least it's lacking
>>> mounts when I try to log in. I'll restart Jenkins as soon as it's back 
>>> working.
>>>
>>> Stefan
>>> ___
>>> cython-devel mailing list
>>> cython-devel@python.org
>>> http://mail.python.org/mailman/listinfo/cython-devel
>>
>> Logging in through ssh seems to work, should I run any of the scripts
>> from your home directory Stefan? e.g. restart_dead_hudson.sh or
>> starthudson.sh?
>> ___
>> cython-devel mailing list
>> cython-devel@python.org
>> http://mail.python.org/mailman/listinfo/cython-devel



-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] funding (Re: sage.math problems?)

2012-03-22 Thread Dag Sverre Seljebotn

On 03/22/2012 10:52 AM, Stefan Behnel wrote:

Dag Sverre Seljebotn, 22.03.2012 17:58:

On 03/22/2012 09:03 AM, Stefan Behnel wrote:

I would prefer copying the original installation over
(including the build history), rather than rebuilding it.


I hope it doesn't come to this, but if it does, I think we should really
look hard at ShiningPanda instead.


We could set up an OSS test account to see what we'd get for our money,
i.e. how much of our build/test cycle we can put into one hour in their
environment.



Honestly, my feeling is that if we can't rally up $240/month in funding
among Cython users then we might as well give up.


As long as we have sage.math, I can think of better things to do with 240$
per month. Didn't we want to organise another workshop at some point?


I honestly don't think there's a lack of money for things like this once 
we go around asking; the most expensive part of any workshop is the time 
of the participants.


Workshops in particular may be fundable through William's grant. The 
main problem is when people are available. Robert will not be available 
for some time, and neither will I (though I'm much less important these 
days), but if the rest would like to meet up I'm sure it is fundable one 
way or the other.



Regarding funding in general, maybe we should just start putting up one or
two of those sexy funding bars on our web site, like the PyPy devs do for
their funded projects. Assuming that goes well, it would also allow us to
put money on dedicated projects by paying basically ourselves for doing
tasks that we won't normally spend our precious spare time on (e.g. because
they appear too large for a weekend), but that we and our users deem
necessary for some reason.


Well, outright funding for projects is of a totally different order of 
magnitude. The $240 doesn't pay for more than between 1 and 4 hours of 
"grown-up" developer time (at least in Western Europe and US); for 
serious feature-funding you're starting to need thousands or 
tens-of-thousands of dollars rather than hundreds.


Smaller constant-amount bounties (like GSoC) for fun stuff one would 
have motivation to do otherwise is a different matter. My impression is 
that a) core devs have no more time for Cython than they spend already, 
b) Cython development is a bit too difficult to enter for random 
"bounty-hunters".


Those are just a couple of minor concerns -- I'm not saying we shouldn't 
do it!


Slightly related: I believe the best thing we can do to attract more 
developers is to seriously clean up the codebase. My new year's 
resolution is that if I get some days for working on Cython this year (I 
hope to), I'll spend it only on cleaning up the codebase, not on (even 
simple) features.



Basically, any "real" CEP that we consider doable and that we'd have a
developer for could get a funding account where users could "vote" for it
by donating money.

(and that's where the legal issues start ...)


Well, I seem to remember from a talk that NumFOCUS will have a full-time 
(or part-time?) position to deal with such administration. And they'll 
be set up as a non-profit (so tax-exempt for US-based donations). So I 
think that's a better route than PayPal.


Should we solicit donations on our webpage with a link to NumFOCUS? (I 
can ask NumFOCUS whether they're cool with that.)



Speaking for myself, I don't consider the time wasted that I invested into
the Jenkins setup so far, and I'm also not sure there'd be all that much to
gain by no longer administrating the server installation itself by
ourselves. The bulk of the work is about configuring jobs and writing
build/test/whatever scripts, which still applies to a cloud installation
(with, I assume, the added disadvantage of no longer being able to ssh
directly into the machine).


There is SSH access at least to the environment where the tests are run, 
according to their web pages.






ShiningPanda also offers features like testing on Windows.


That *is* a feature, but it also takes up additional (paid) time. We
wouldn't have to run continuous tests on it, though, just trigger tests
manually when we want them.


And it's in beta so far. But it's a feature sage.math will never get.

Dag
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] some pull requests for 0.16?

2012-03-22 Thread Dag Sverre Seljebotn

On 03/22/2012 05:40 AM, mark florisson wrote:

On 22 March 2012 07:18, Stefan Behnel  wrote:

Robert Bradshaw, 21.03.2012 21:24:

On Wed, Mar 21, 2012 at 6:47 AM, mark florisson wrote:

On 20 March 2012 18:51, Stefan Behnel wrote:

mark florisson, 20.03.2012 17:40:

On 18 March 2012 11:58, Stefan Behnel wrote:

I put up two new pull requests on github:

Implementation of PEP 380 (yield from):
https://github.com/cython/cython/pull/96

Rewrite of dict iteration:
https://github.com/cython/cython/pull/95

Given that the release of 0.16 has currently slowed down a bit, and given
that these are really nice features, could someone (and especially Mark, as
the responsible release manager) take a look at them and give an opinion
regarding their suitability for 0.16?


Sorry about the slowdown, my BT internet connection at home got closed
off, so working on a release is rather hard, hopefully that will be
fixed within the next few days.


Thanks for the status update. Is there a separate release branch, or
are you working off the github master?


Not currently. I also agree that we should try to get out the release soon.
What about this: I merge my pending pull requests, we test everything in
Sage (it's been normally tested in my dev branch already), and if that
doesn't break anything, we release another beta? If it does break anything,
it's either easy enough to fix, or we can create a release branch at that
point with the status before the merges.

sage.math seems to be back up, although the /levi drive isn't. If there are
no objections, I'll make sure Jenkins gets back up and then do the above.



Is there a list of issues/blockers somewhere?


Don't know.



Mostly the pull requests and this reversed bug
(http://trac.cython.org/cython_trac/ticket/763), which I marked as a
blocker. As much as I would like to push stuff out early, I really
find it more important to push something that is as stable and useful
as possible, even if it delays a release by a couple of weeks.


IMO, the ideal would be to release 0.16 now and 0.16.1 in a couple of 
weeks, but I respect that this depends on how much more additional work 
the release manager feels that involves.


I agree that we should wait for the patch that was started on for that 
bug, bringing in new developers is the most important thing we can do 
and satisfying users who don't live on trunk is less important than that.


Dag
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] funding (Re: sage.math problems?)

2012-03-22 Thread William Stein
On Thu, Mar 22, 2012 at 2:21 PM, Dag Sverre Seljebotn
 wrote:
> On 03/22/2012 10:52 AM, Stefan Behnel wrote:
>>
>> Dag Sverre Seljebotn, 22.03.2012 17:58:
>>>
>>> On 03/22/2012 09:03 AM, Stefan Behnel wrote:

 I would prefer copying the original installation over
 (including the build history), rather than rebuilding it.
>>>
>>>
>>> I hope it doesn't come to this, but if it does, I think we should really
>>> look hard at ShiningPanda instead.
>>
>>
>> We could set up an OSS test account to see what we'd get for our money,
>> i.e. how much of our build/test cycle we can put into one hour in their
>> environment.
>>
>>
>>> Honestly, my feeling is that if we can't rally up $240/month in funding
>>> among Cython users then we might as well give up.
>>
>>
>> As long as we have sage.math, I can think of better things to do with 240$
>> per month. Didn't we want to organise another workshop at some point?
>
>
> I honestly don't think there's a lack of money for things like this once we
> go around asking; the most expensive part of any workshop is the time of the
> participants.
>
> Workshops in particular may be fundable through William's grant. The main
> problem is when people are available. Robert will not be available for some
> time, and neither will I (though I'm much less important these days), but if
> the rest would like to meet up I'm sure it is fundable one way or the other.

True.

>>
>>> ShiningPanda also offers features like testing on Windows.
>>
>>
>> That *is* a feature, but it also takes up additional (paid) time. We
>> wouldn't have to run continuous tests on it, though, just trigger tests
>> manually when we want them.
>
>
> And it's in beta so far. But it's a feature sage.math will never get.

Well, I could let you start a Windows Virtual Machine, and you could
connect via VNC...

>
> Dag
>
> ___
> cython-devel mailing list
> cython-devel@python.org
> http://mail.python.org/mailman/listinfo/cython-devel



-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] Jenkins down

2012-03-22 Thread William Stein
Hi,

/levi is back on sage.math.

If you use it, I encourage you to continue doing so.  However, please
setup a crontab'd rsync backup of
anything important on there to your /home directory.

 -- William

On Thu, Mar 22, 2012 at 2:11 PM, William Stein  wrote:
> On Thu, Mar 22, 2012 at 11:59 AM, Robert Bradshaw  wrote:
>> Thanks for the offer. One problem I see is that /levi/scratch (a local
>> disk) has been dismounted (or reconfigured). To save ourselves random
>> permissions issues, it's probably best to run this script/job as
>> scoder (I've got sudo).
>>
>> I'll see what I can do to get it running, assuming the sage.math
>> issues have been resolved.
>
> David Roe is going to unplug/replug the disk.
>
>  -- William
>
>>
>> - Robert
>>
>> On Thu, Mar 22, 2012 at 5:46 AM, mark florisson
>>  wrote:
>>> On 21 March 2012 13:58, Stefan Behnel  wrote:
 Hi,

 it seems like the sage.math server is broken again, at least it's lacking
 mounts when I try to log in. I'll restart Jenkins as soon as it's back 
 working.

 Stefan
 ___
 cython-devel mailing list
 cython-devel@python.org
 http://mail.python.org/mailman/listinfo/cython-devel
>>>
>>> Logging in through ssh seems to work, should I run any of the scripts
>>> from your home directory Stefan? e.g. restart_dead_hudson.sh or
>>> starthudson.sh?
>>> ___
>>> cython-devel mailing list
>>> cython-devel@python.org
>>> http://mail.python.org/mailman/listinfo/cython-devel
>
>
>
> --
> William Stein
> Professor of Mathematics
> University of Washington
> http://wstein.org



-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] funding (Re: sage.math problems?)

2012-03-22 Thread Robert Bradshaw
On Thu, Mar 22, 2012 at 10:52 AM, Stefan Behnel  wrote:
> Dag Sverre Seljebotn, 22.03.2012 17:58:
>> On 03/22/2012 09:03 AM, Stefan Behnel wrote:
>>> I would prefer copying the original installation over
>>> (including the build history), rather than rebuilding it.
>>
>> I hope it doesn't come to this, but if it does, I think we should really
>> look hard at ShiningPanda instead.
>
> We could set up an OSS test account to see what we'd get for our money,
> i.e. how much of our build/test cycle we can put into one hour in their
> environment.
>
>
>> Honestly, my feeling is that if we can't rally up $240/month in funding
>> among Cython users then we might as well give up.
>
> As long as we have sage.math, I can think of better things to do with 240$
> per month. Didn't we want to organise another workshop at some point?

+1, this would be a much more effective use of funding, though also
easier to get funding for.

> Regarding funding in general, maybe we should just start putting up one or
> two of those sexy funding bars on our web site, like the PyPy devs do for
> their funded projects. Assuming that goes well, it would also allow us to
> put money on dedicated projects by paying basically ourselves for doing
> tasks that we won't normally spend our precious spare time on (e.g. because
> they appear too large for a weekend), but that we and our users deem
> necessary for some reason.

While that's a good idea in theory, I'm not sure how many additional
hours would be freed up just because we could pay ourselves for it.
Perhaps it would act primarily as an additional incentive to align our
efforts with user request (though there are certainly already
non-monetary incentives). A budget of a couple hundred a month is
likely an order of magnitude too small to get as serious developer to
attack "larger than can be done in a weekend" projects. Also, the
monetization of Cython development changes the spirit of things a bit,
and while I am a big fan of people being able to make money, or even a
living, off of open source development, it complicates things a lot
from a legal, financial, and political perspective.

The current model of organization X is willing to pay developer Y for
feature Z directly seems to work well enough for the moment. E.g. with
GSoC, the bottleneck is finding good enough students and time to
mentor them, not slots (=funding). Opening up funding to non-students
could help a bit, but IMHO wouldn't change the balance that much (the
gainfully employed cost a lot more and have less spare time).

> Basically, any "real" CEP that we consider doable and that we'd have a
> developer for could get a funding account where users could "vote" for it
> by donating money.
>
> (and that's where the legal issues start ...)
>
>
>> (And specifically, we
>> could ask NumFOCUS first, and possibly share the queue with other open
>> source projects on their lists, and possibly ask ShiningPanda for an OSS
>> project rebate).
>
> Sure.
>
>
>> I'm not primarily concerned with uptime, but with the time spent in
>> maintaining the systems. The more that can be moved into the cloud the
>> better for open source projects, if it means less maintenance, which is
>> usually the case; see our move to GitHub.
>
> I don't know how much time the maintenance takes on UW side, but they're
> using the machines for many other things, so I guess they'd have to invest
> the time anyway. So they won't win much by us moving out.

Yes. We add to the load a bit, but not much. And I don't see us saving
administration time (the most lacking resource here) by moving to
another service (if anything, it'd likely be more work).

> Speaking for myself, I don't consider the time wasted that I invested into
> the Jenkins setup so far, and I'm also not sure there'd be all that much to
> gain by no longer administrating the server installation itself by
> ourselves. The bulk of the work is about configuring jobs and writing
> build/test/whatever scripts, which still applies to a cloud installation
> (with, I assume, the added disadvantage of no longer being able to ssh
> directly into the machine).
>
>
>> ShiningPanda also offers features like testing on Windows.
>
> That *is* a feature, but it also takes up additional (paid) time. We
> wouldn't have to run continuous tests on it, though, just trigger tests
> manually when we want them.
>
> Stefan
> ___
> cython-devel mailing list
> cython-devel@python.org
> http://mail.python.org/mailman/listinfo/cython-devel
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] Jenkins down

2012-03-22 Thread Stefan Behnel
William Stein, 22.03.2012 19:38:
> /levi is back on sage.math.
> 
> If you use it, I encourage you to continue doing so.  However, please
> setup a crontab'd rsync backup of
> anything important on there to your /home directory.

Thanks!

I'm on it.

Stefan

___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] Jenkins down

2012-03-22 Thread Robert Bradshaw
Thanks! I've restarted hudson/jenkins.
https://sage.math.washington.edu:8091/hudson/

Lets try to put all the configuration/persistant data into someone's
home directory, and use /levi/scratch for the workspaces only.

William, is /levi/scratch the best place for file-IO intensive work? I
think it should be slightly more persistent than /tmp (though we
should look into whether that could be good enough).

- Robert


On Thu, Mar 22, 2012 at 11:38 AM, William Stein  wrote:
> Hi,
>
> /levi is back on sage.math.
>
> If you use it, I encourage you to continue doing so.  However, please
> setup a crontab'd rsync backup of
> anything important on there to your /home directory.
>
>  -- William
>
> On Thu, Mar 22, 2012 at 2:11 PM, William Stein  wrote:
>> On Thu, Mar 22, 2012 at 11:59 AM, Robert Bradshaw  wrote:
>>> Thanks for the offer. One problem I see is that /levi/scratch (a local
>>> disk) has been dismounted (or reconfigured). To save ourselves random
>>> permissions issues, it's probably best to run this script/job as
>>> scoder (I've got sudo).
>>>
>>> I'll see what I can do to get it running, assuming the sage.math
>>> issues have been resolved.
>>
>> David Roe is going to unplug/replug the disk.
>>
>>  -- William
>>
>>>
>>> - Robert
>>>
>>> On Thu, Mar 22, 2012 at 5:46 AM, mark florisson
>>>  wrote:
 On 21 March 2012 13:58, Stefan Behnel  wrote:
> Hi,
>
> it seems like the sage.math server is broken again, at least it's lacking
> mounts when I try to log in. I'll restart Jenkins as soon as it's back 
> working.
>
> Stefan
> ___
> cython-devel mailing list
> cython-devel@python.org
> http://mail.python.org/mailman/listinfo/cython-devel

 Logging in through ssh seems to work, should I run any of the scripts
 from your home directory Stefan? e.g. restart_dead_hudson.sh or
 starthudson.sh?
 ___
 cython-devel mailing list
 cython-devel@python.org
 http://mail.python.org/mailman/listinfo/cython-devel
>>
>>
>>
>> --
>> William Stein
>> Professor of Mathematics
>> University of Washington
>> http://wstein.org
>
>
>
> --
> William Stein
> Professor of Mathematics
> University of Washington
> http://wstein.org
> ___
> cython-devel mailing list
> cython-devel@python.org
> http://mail.python.org/mailman/listinfo/cython-devel
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


[Cython] dynamically compile and import pure python modules

2012-03-22 Thread mark florisson
Hey,

For the fused type runtime dispatch I found it very convenient to use
the with statement, but that is not supported in Python 2.4. However,
the compiler could dynamically compile compiler code with the compiler
itself and import it (pyximport), if it is not needed to compile
Cython itself. I gave it a try and it seems to work like a charm (but
probably needs more testing :):
https://github.com/markflorisson88/cython/commit/0c2983056919f7f4d30a809724d7db0ace99d89b#diff-2

It seems like a bit of a hack, so I thought I'd bring it up here and
ask for opinions, i.e. ask if anyone thinks it is a terrible idea.

Mark
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] Jenkins down

2012-03-22 Thread William Stein
On Thu, Mar 22, 2012 at 2:45 PM, Robert Bradshaw  wrote:
> Thanks! I've restarted hudson/jenkins.
> https://sage.math.washington.edu:8091/hudson/
>
> Lets try to put all the configuration/persistant data into someone's
> home directory, and use /levi/scratch for the workspaces only.
>
> William, is /levi/scratch the best place for file-IO intensive work? I
> think it should be slightly more persistent than /tmp (though we
> should look into whether that could be good enough).

Yes.  Use /tmp if you're not using too much disk space -- it's a RAM disk!

>
> - Robert
>
>
> On Thu, Mar 22, 2012 at 11:38 AM, William Stein  wrote:
>> Hi,
>>
>> /levi is back on sage.math.
>>
>> If you use it, I encourage you to continue doing so.  However, please
>> setup a crontab'd rsync backup of
>> anything important on there to your /home directory.
>>
>>  -- William
>>
>> On Thu, Mar 22, 2012 at 2:11 PM, William Stein  wrote:
>>> On Thu, Mar 22, 2012 at 11:59 AM, Robert Bradshaw  
>>> wrote:
 Thanks for the offer. One problem I see is that /levi/scratch (a local
 disk) has been dismounted (or reconfigured). To save ourselves random
 permissions issues, it's probably best to run this script/job as
 scoder (I've got sudo).

 I'll see what I can do to get it running, assuming the sage.math
 issues have been resolved.
>>>
>>> David Roe is going to unplug/replug the disk.
>>>
>>>  -- William
>>>

 - Robert

 On Thu, Mar 22, 2012 at 5:46 AM, mark florisson
  wrote:
> On 21 March 2012 13:58, Stefan Behnel  wrote:
>> Hi,
>>
>> it seems like the sage.math server is broken again, at least it's lacking
>> mounts when I try to log in. I'll restart Jenkins as soon as it's back 
>> working.
>>
>> Stefan
>> ___
>> cython-devel mailing list
>> cython-devel@python.org
>> http://mail.python.org/mailman/listinfo/cython-devel
>
> Logging in through ssh seems to work, should I run any of the scripts
> from your home directory Stefan? e.g. restart_dead_hudson.sh or
> starthudson.sh?
> ___
> cython-devel mailing list
> cython-devel@python.org
> http://mail.python.org/mailman/listinfo/cython-devel
>>>
>>>
>>>
>>> --
>>> William Stein
>>> Professor of Mathematics
>>> University of Washington
>>> http://wstein.org
>>
>>
>>
>> --
>> William Stein
>> Professor of Mathematics
>> University of Washington
>> http://wstein.org
>> ___
>> cython-devel mailing list
>> cython-devel@python.org
>> http://mail.python.org/mailman/listinfo/cython-devel
> ___
> cython-devel mailing list
> cython-devel@python.org
> http://mail.python.org/mailman/listinfo/cython-devel



-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] funding (Re: sage.math problems?)

2012-03-22 Thread Stefan Behnel
Dag Sverre Seljebotn, 22.03.2012 19:21:
> On 03/22/2012 10:52 AM, Stefan Behnel wrote:
>> Dag Sverre Seljebotn, 22.03.2012 17:58:
>>> On 03/22/2012 09:03 AM, Stefan Behnel wrote:
 I would prefer copying the original installation over
 (including the build history), rather than rebuilding it.
>>>
>>> I hope it doesn't come to this, but if it does, I think we should really
>>> look hard at ShiningPanda instead.
>>
>> We could set up an OSS test account to see what we'd get for our money,
>> i.e. how much of our build/test cycle we can put into one hour in their
>> environment.
>>
>>> Honestly, my feeling is that if we can't rally up $240/month in funding
>>> among Cython users then we might as well give up.
>>
>> As long as we have sage.math, I can think of better things to do with 240$
>> per month. Didn't we want to organise another workshop at some point?
> 
> I honestly don't think there's a lack of money for things like this once we
> go around asking; the most expensive part of any workshop is the time of
> the participants.
> 
> Workshops in particular may be fundable through William's grant. The main
> problem is when people are available. Robert will not be available for some
> time, and neither will I (though I'm much less important these days), but
> if the rest would like to meet up I'm sure it is fundable one way or the
> other.

Yep, sounds like a time rather than money issue.


>> Regarding funding in general, maybe we should just start putting up one or
>> two of those sexy funding bars on our web site, like the PyPy devs do for
>> their funded projects. Assuming that goes well, it would also allow us to
>> put money on dedicated projects by paying basically ourselves for doing
>> tasks that we won't normally spend our precious spare time on (e.g. because
>> they appear too large for a weekend), but that we and our users deem
>> necessary for some reason.
> 
> Well, outright funding for projects is of a totally different order of
> magnitude. The $240 doesn't pay for more than between 1 and 4 hours of
> "grown-up" developer time (at least in Western Europe and US); for serious
> feature-funding you're starting to need thousands or tens-of-thousands of
> dollars rather than hundreds.

PyPy manages to get those amounts. Just look at their home page, the
projects are all in the tens of thousands of dollars. I don't think that's
impossible for us.


> Smaller constant-amount bounties (like GSoC) for fun stuff one would have
> motivation to do otherwise is a different matter. My impression is that a)
> core devs have no more time for Cython than they spend already, b) Cython
> development is a bit too difficult to enter for random "bounty-hunters".

Regarding b), PyPy is far worse.

Regarding a), I'm not so sure. At least I would consider it a way to focus
my work. Currently, I'm rather reluctant to starting anything that looks
like more than a couple of evenings or a weekend.


> Slightly related: I believe the best thing we can do to attract more
> developers is to seriously clean up the codebase. My new year's resolution
> is that if I get some days for working on Cython this year (I hope to),
> I'll spend it only on cleaning up the codebase, not on (even simple) features.

Yay!


>> Basically, any "real" CEP that we consider doable and that we'd have a
>> developer for could get a funding account where users could "vote" for it
>> by donating money.
>>
>> (and that's where the legal issues start ...)
> 
> Well, I seem to remember from a talk that NumFOCUS will have a full-time
> (or part-time?) position to deal with such administration. And they'll be
> set up as a non-profit (so tax-exempt for US-based donations). So I think
> that's a better route than PayPal.

Sounds like it. Is their tax-exempt status restricted to the US? That would
be unfortunate for many donators.


> Should we solicit donations on our webpage with a link to NumFOCUS? (I can
> ask NumFOCUS whether they're cool with that.)

Interesting. If they have the administration set up (BTW, is that paid or
do they want something for that?), they should be able to handle project
specific money as well.


>> Speaking for myself, I don't consider the time wasted that I invested into
>> the Jenkins setup so far, and I'm also not sure there'd be all that much to
>> gain by no longer administrating the server installation itself by
>> ourselves. The bulk of the work is about configuring jobs and writing
>> build/test/whatever scripts, which still applies to a cloud installation
>> (with, I assume, the added disadvantage of no longer being able to ssh
>> directly into the machine).
> 
> There is SSH access at least to the environment where the tests are run,
> according to their web pages.

Ok, that's cool.


>>> ShiningPanda also offers features like testing on Windows.
>>
>> That *is* a feature, but it also takes up additional (paid) time. We
>> wouldn't have to run continuous tests on it, though, just trigger tests
>> manually

Re: [Cython] dynamically compile and import pure python modules

2012-03-22 Thread Dag Sverre Seljebotn

On 03/22/2012 11:50 AM, mark florisson wrote:

Hey,

For the fused type runtime dispatch I found it very convenient to use
the with statement, but that is not supported in Python 2.4. However,
the compiler could dynamically compile compiler code with the compiler
itself and import it (pyximport), if it is not needed to compile
Cython itself. I gave it a try and it seems to work like a charm (but
probably needs more testing :):
https://github.com/markflorisson88/cython/commit/0c2983056919f7f4d30a809724d7db0ace99d89b#diff-2

It seems like a bit of a hack, so I thought I'd bring it up here and
ask for opinions, i.e. ask if anyone thinks it is a terrible idea.


How about dropping Python 2.4 support for running Cython (though 
generated C files still run)?


Dag
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] funding (Re: sage.math problems?)

2012-03-22 Thread Dag Sverre Seljebotn

On 03/22/2012 11:39 AM, Robert Bradshaw wrote:

On Thu, Mar 22, 2012 at 10:52 AM, Stefan Behnel  wrote:

Dag Sverre Seljebotn, 22.03.2012 17:58:

On 03/22/2012 09:03 AM, Stefan Behnel wrote:

I would prefer copying the original installation over
(including the build history), rather than rebuilding it.


I hope it doesn't come to this, but if it does, I think we should really
look hard at ShiningPanda instead.


We could set up an OSS test account to see what we'd get for our money,
i.e. how much of our build/test cycle we can put into one hour in their
environment.



Honestly, my feeling is that if we can't rally up $240/month in funding
among Cython users then we might as well give up.


As long as we have sage.math, I can think of better things to do with 240$
per month. Didn't we want to organise another workshop at some point?


+1, this would be a much more effective use of funding, though also
easier to get funding for.


Regarding funding in general, maybe we should just start putting up one or
two of those sexy funding bars on our web site, like the PyPy devs do for
their funded projects. Assuming that goes well, it would also allow us to
put money on dedicated projects by paying basically ourselves for doing
tasks that we won't normally spend our precious spare time on (e.g. because
they appear too large for a weekend), but that we and our users deem
necessary for some reason.


While that's a good idea in theory, I'm not sure how many additional
hours would be freed up just because we could pay ourselves for it.
Perhaps it would act primarily as an additional incentive to align our
efforts with user request (though there are certainly already
non-monetary incentives). A budget of a couple hundred a month is
likely an order of magnitude too small to get as serious developer to
attack "larger than can be done in a weekend" projects. Also, the
monetization of Cython development changes the spirit of things a bit,
and while I am a big fan of people being able to make money, or even a
living, off of open source development, it complicates things a lot
from a legal, financial, and political perspective.

The current model of organization X is willing to pay developer Y for
feature Z directly seems to work well enough for the moment. E.g. with
GSoC, the bottleneck is finding good enough students and time to
mentor them, not slots (=funding). Opening up funding to non-students
could help a bit, but IMHO wouldn't change the balance that much (the
gainfully employed cost a lot more and have less spare time).


Basically, any "real" CEP that we consider doable and that we'd have a
developer for could get a funding account where users could "vote" for it
by donating money.

(and that's where the legal issues start ...)



(And specifically, we
could ask NumFOCUS first, and possibly share the queue with other open
source projects on their lists, and possibly ask ShiningPanda for an OSS
project rebate).


Sure.



I'm not primarily concerned with uptime, but with the time spent in
maintaining the systems. The more that can be moved into the cloud the
better for open source projects, if it means less maintenance, which is
usually the case; see our move to GitHub.


I don't know how much time the maintenance takes on UW side, but they're
using the machines for many other things, so I guess they'd have to invest
the time anyway. So they won't win much by us moving out.


Yes. We add to the load a bit, but not much. And I don't see us saving
administration time (the most lacking resource here) by moving to
another service (if anything, it'd likely be more work).


OK. My comments were all predicated on the assumption saving 
administration time; and I totally trust yours and Stefan's judgement here.


Dag
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] funding (Re: sage.math problems?)

2012-03-22 Thread Dag Sverre Seljebotn

On 03/22/2012 12:03 PM, Stefan Behnel wrote:

Dag Sverre Seljebotn, 22.03.2012 19:21:

Slightly related: I believe the best thing we can do to attract more
developers is to seriously clean up the codebase. My new year's resolution
is that if I get some days for working on Cython this year (I hope to),
I'll spend it only on cleaning up the codebase, not on (even simple) features.


Yay!


Granted, that's only because Mark now takes care of adding all the 
special numerical computing features to the language ;-)


Dag
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] dynamically compile and import pure python modules

2012-03-22 Thread Stefan Behnel
Dag Sverre Seljebotn, 22.03.2012 20:12:
> On 03/22/2012 11:50 AM, mark florisson wrote:
>> For the fused type runtime dispatch I found it very convenient to use
>> the with statement, but that is not supported in Python 2.4. However,
>> the compiler could dynamically compile compiler code with the compiler
>> itself and import it (pyximport), if it is not needed to compile
>> Cython itself. I gave it a try and it seems to work like a charm (but
>> probably needs more testing :):
>> https://github.com/markflorisson88/cython/commit/0c2983056919f7f4d30a809724d7db0ace99d89b#diff-2
>>
>>
>> It seems like a bit of a hack, so I thought I'd bring it up here and
>> ask for opinions, i.e. ask if anyone thinks it is a terrible idea.
> 
> How about dropping Python 2.4 support for running Cython (though generated
> C files still run)?

For one, it would make it trickier to run the test suite.

Stefan
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] funding (Re: sage.math problems?)

2012-03-22 Thread Robert Bradshaw
On Thu, Mar 22, 2012 at 12:03 PM, Stefan Behnel  wrote:
> Dag Sverre Seljebotn, 22.03.2012 19:21:
>> On 03/22/2012 10:52 AM, Stefan Behnel wrote:
>>> Dag Sverre Seljebotn, 22.03.2012 17:58:
 On 03/22/2012 09:03 AM, Stefan Behnel wrote:
> I would prefer copying the original installation over
> (including the build history), rather than rebuilding it.

 I hope it doesn't come to this, but if it does, I think we should really
 look hard at ShiningPanda instead.
>>>
>>> We could set up an OSS test account to see what we'd get for our money,
>>> i.e. how much of our build/test cycle we can put into one hour in their
>>> environment.
>>>
 Honestly, my feeling is that if we can't rally up $240/month in funding
 among Cython users then we might as well give up.
>>>
>>> As long as we have sage.math, I can think of better things to do with 240$
>>> per month. Didn't we want to organise another workshop at some point?
>>
>> I honestly don't think there's a lack of money for things like this once we
>> go around asking; the most expensive part of any workshop is the time of
>> the participants.
>>
>> Workshops in particular may be fundable through William's grant. The main
>> problem is when people are available. Robert will not be available for some
>> time, and neither will I (though I'm much less important these days), but
>> if the rest would like to meet up I'm sure it is fundable one way or the
>> other.
>
> Yep, sounds like a time rather than money issue.
>
>
>>> Regarding funding in general, maybe we should just start putting up one or
>>> two of those sexy funding bars on our web site, like the PyPy devs do for
>>> their funded projects. Assuming that goes well, it would also allow us to
>>> put money on dedicated projects by paying basically ourselves for doing
>>> tasks that we won't normally spend our precious spare time on (e.g. because
>>> they appear too large for a weekend), but that we and our users deem
>>> necessary for some reason.
>>
>> Well, outright funding for projects is of a totally different order of
>> magnitude. The $240 doesn't pay for more than between 1 and 4 hours of
>> "grown-up" developer time (at least in Western Europe and US); for serious
>> feature-funding you're starting to need thousands or tens-of-thousands of
>> dollars rather than hundreds.
>
> PyPy manages to get those amounts. Just look at their home page, the
> projects are all in the tens of thousands of dollars. I don't think that's
> impossible for us.

Cool, that's promising. Do you think we would have the developer
resources to follow through if we did something like this?

>> Smaller constant-amount bounties (like GSoC) for fun stuff one would have
>> motivation to do otherwise is a different matter. My impression is that a)
>> core devs have no more time for Cython than they spend already, b) Cython
>> development is a bit too difficult to enter for random "bounty-hunters".
>
> Regarding b), PyPy is far worse.

Possibly.

> Regarding a), I'm not so sure. At least I would consider it a way to focus
> my work. Currently, I'm rather reluctant to starting anything that looks
> like more than a couple of evenings or a weekend.

Though the crazyiness in my personal life over the last 6+ months is
winding down, I doubt I'd have enough spare time to be, e.g., the
equivalent of 1/4-full time, or that funding would significantly
change the situation. But that's not an argument against not letting
you (and the rest of the project) benefit.

>> Slightly related: I believe the best thing we can do to attract more
>> developers is to seriously clean up the codebase. My new year's resolution
>> is that if I get some days for working on Cython this year (I hope to),
>> I'll spend it only on cleaning up the codebase, not on (even simple) 
>> features.
>
> Yay!

+100

>>> Basically, any "real" CEP that we consider doable and that we'd have a
>>> developer for could get a funding account where users could "vote" for it
>>> by donating money.
>>>
>>> (and that's where the legal issues start ...)
>>
>> Well, I seem to remember from a talk that NumFOCUS will have a full-time
>> (or part-time?) position to deal with such administration. And they'll be
>> set up as a non-profit (so tax-exempt for US-based donations). So I think
>> that's a better route than PayPal.
>
> Sounds like it. Is their tax-exempt status restricted to the US? That would
> be unfortunate for many donators.

Tax-exempt status is a criteria set by each individual government, not
by the entity. I'm sure if it helped money flow in they would consider
filing the necessary paperwork.

>> Should we solicit donations on our webpage with a link to NumFOCUS? (I can
>> ask NumFOCUS whether they're cool with that.)
>
> Interesting. If they have the administration set up (BTW, is that paid or
> do they want something for that?), they should be able to handle project
> specific money as well.
>
>
>>> Speaking for myself, I don't consider the time w

Re: [Cython] funding (Re: sage.math problems?)

2012-03-22 Thread John Hunter
On Thu, Mar 22, 2012 at 2:03 PM, Stefan Behnel  wrote:

>
> > Well, I seem to remember from a talk that NumFOCUS will have a full-time
> > (or part-time?) position to deal with such administration. And they'll be
> > set up as a non-profit (so tax-exempt for US-based donations). So I think
> > that's a better route than PayPal.
>
> Sounds like it. Is their tax-exempt status restricted to the US? That would
> be unfortunate for many donators.
>

NUMFOCUS is in the process of trying to get 501c status, but does not yet
have it.  This will take some time.  This means individual donations will
not be tax exempt in the US until we have that status.  If businesses are
donating, they can deduct it as a business expense, but individuals are out
of luck for now.


>
> > Should we solicit donations on our webpage with a link to NumFOCUS? (I
> can
> > ask NumFOCUS whether they're cool with that.)
>
> Interesting. If they have the administration set up (BTW, is that paid or
> do they want something for that?), they should be able to handle project
> specific money as well.


NUMFOCUS does have a full time administrator, and will be happy to process
and distribute targeted donations for Cython.  This is at a "no cost to
you" basis, ie the foundation will not take overhead but will cover these
costs out of NUMFOCUS donations.  At least that is my understanding, but I
can confirm at the next director's meeting.

JDH
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] funding (Re: sage.math problems?)

2012-03-22 Thread Stefan Behnel
John Hunter, 22.03.2012 20:39:
> On Thu, Mar 22, 2012 at 2:03 PM, Stefan Behnel wrote:
>>> Well, I seem to remember from a talk that NumFOCUS will have a full-time
>>> (or part-time?) position to deal with such administration. And they'll be
>>> set up as a non-profit (so tax-exempt for US-based donations). So I think
>>> that's a better route than PayPal.
>>
>> Sounds like it. Is their tax-exempt status restricted to the US? That would
>> be unfortunate for many donators.
> 
> NUMFOCUS is in the process of trying to get 501c status, but does not yet
> have it.  This will take some time.  This means individual donations will
> not be tax exempt in the US until we have that status.  If businesses are
> donating, they can deduct it as a business expense, but individuals are out
> of luck for now.

Ok, just for clarification: the foundation is US based and not currently
targeting any other countries, right?

Personally, I think most serious donations would be from companies anyway,
which would then not be restricted to the US. And for individuals, we could
still put up a PayPal button (if we have anything to let them pay for).


>>> Should we solicit donations on our webpage with a link to NumFOCUS? (I
>>> can ask NumFOCUS whether they're cool with that.)
>>
>> Interesting. If they have the administration set up (BTW, is that paid or
>> do they want something for that?), they should be able to handle project
>> specific money as well.
> 
> NUMFOCUS does have a full time administrator, and will be happy to process
> and distribute targeted donations for Cython.  This is at a "no cost to
> you" basis, ie the foundation will not take overhead but will cover these
> costs out of NUMFOCUS donations.  At least that is my understanding, but I
> can confirm at the next director's meeting.

Cool. Then I'm all for taking that route.

Stefan
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] funding (Re: sage.math problems?)

2012-03-22 Thread Robert Bradshaw
On Thu, Mar 22, 2012 at 12:49 PM, Stefan Behnel  wrote:
> John Hunter, 22.03.2012 20:39:
>> On Thu, Mar 22, 2012 at 2:03 PM, Stefan Behnel wrote:
 Well, I seem to remember from a talk that NumFOCUS will have a full-time
 (or part-time?) position to deal with such administration. And they'll be
 set up as a non-profit (so tax-exempt for US-based donations). So I think
 that's a better route than PayPal.
>>>
>>> Sounds like it. Is their tax-exempt status restricted to the US? That would
>>> be unfortunate for many donators.
>>
>> NUMFOCUS is in the process of trying to get 501c status, but does not yet
>> have it.  This will take some time.  This means individual donations will
>> not be tax exempt in the US until we have that status.  If businesses are
>> donating, they can deduct it as a business expense, but individuals are out
>> of luck for now.
>
> Ok, just for clarification: the foundation is US based and not currently
> targeting any other countries, right?
>
> Personally, I think most serious donations would be from companies anyway,
> which would then not be restricted to the US. And for individuals, we could
> still put up a PayPal button (if we have anything to let them pay for).
>
>
 Should we solicit donations on our webpage with a link to NumFOCUS? (I
 can ask NumFOCUS whether they're cool with that.)
>>>
>>> Interesting. If they have the administration set up (BTW, is that paid or
>>> do they want something for that?), they should be able to handle project
>>> specific money as well.
>>
>> NUMFOCUS does have a full time administrator, and will be happy to process
>> and distribute targeted donations for Cython.  This is at a "no cost to
>> you" basis, ie the foundation will not take overhead but will cover these
>> costs out of NUMFOCUS donations.  At least that is my understanding, but I
>> can confirm at the next director's meeting.
>
> Cool. Then I'm all for taking that route.

That would be great!

- Robert
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] funding (Re: sage.math problems?)

2012-03-22 Thread John Hunter
On Thu, Mar 22, 2012 at 2:49 PM, Stefan Behnel  wrote:

>
> Ok, just for clarification: the foundation is US based and not currently
> targeting any other countries, right?
>

That's my understanding.  Getting US non-profit status is a lot of work to
start with.  I'm not familiar with what it will take for other countries
but I will bring it up at the next meeting.

JDH
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] dynamically compile and import pure python modules

2012-03-22 Thread Stefan Behnel
mark florisson, 22.03.2012 19:50:
> For the fused type runtime dispatch I found it very convenient to use
> the with statement, but that is not supported in Python 2.4. However,
> the compiler could dynamically compile compiler code with the compiler
> itself and import it (pyximport), if it is not needed to compile
> Cython itself. I gave it a try and it seems to work like a charm (but
> probably needs more testing :):
> https://github.com/markflorisson88/cython/commit/0c2983056919f7f4d30a809724d7db0ace99d89b#diff-2

The advantages are limited, so I'm leaning towards seeing the drawbacks, of
which there are at least some. For one, *running* Cython (as opposed to
installing it) becomes more complex and involves a (much) higher first time
overhead. We'd also start putting shared libraries into user directories
without asking them first. Might be a problem on shared installations with
many users.

Note also that Cython no longer compiles itself when installing in PyPy (at
all), but that would be easy to special case here (and PyPy obviously has
features like the "with" statement).

Next, I think it would tempt us to split source files into separate modules
just because that way we can use a specific feature in one of them because
it'll get compiled (and the other half is needed for bootstrapping). That
would be bad design. OTOH, it might be worth taking a general look at the
code base to see what's really required for bootstrapping, or maybe for
compiling pure Python code in general. Factoring that out, and thus
separating the Python compiler from the Cython specific language features
might (might!) be an actual improvement. (Then again, there's .pxd
overriding and the "cython" module, which add Cython features back in, and
those two make Cython much more attactive...)

I also started to dislike pyximport because it's way outdated, fragile,
complicated and its features are overly hacked together (and I'm not
entirely innocent in that regard). I would love to see a rewrite that also
supports compiling packages properly. Not a GSoC by itself, but it's
certainly a worthy project. What about a project that aims for separating
out a Python compiler and rewriting pyximport as a jitty frontend for it?
Maybe not the greatest use case ever, but a fun project, I'd say.

Stefan
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] some pull requests for 0.16?

2012-03-22 Thread Robert Bradshaw
On Thu, Mar 22, 2012 at 11:10 AM, Stefan Behnel  wrote:
> Stefan Behnel, 20.03.2012 18:51:
>> mark florisson, 20.03.2012 17:40:
>>> As for the two pull requests, both are quite large, but the dict
>>> iteration rewrite is more like an enhancement whereas the 'yield from'
>>> is really a new (somewhat big) feature. I would personally prefer to
>>> merge only enhancements and bug fixes, but not new features.
>>
>> Funny. I would have proposed the opposite, because I consider the "yield
>> from" implementation (as a new language feature) safer than the dict
>> iteration (which impacts existing code). As I said, I wouldn't mind
>> postponing both to 0.16.1, but I think it would be better to get them out
>> and have people use them, so that we can also fix the bugs earlier.
>
> Coming back to this, I think the main question is: what does our versioning
> scheme mean? Personally, I would expect a 0.16 release to come with new
> features compared to 0.15.x, and a 0.16.1 release to fix the bugs that
> these features (and other changes) have introduced, without changing too
> much of what makes up the 0.16 release series.

Yes, this is loosely what our versioning scheme means.

> I know that we've rarely followed that distinction (we sometimes didn't
> even have point releases), so it doesn't really matter what we add in
> 0.16.1, I guess. I just thought I'd bring up the question what would make a
> 0.17 release different from a 0.16.1 release. So far, it appears to have
> been more of an issue of how much time has passed since the last release,
> which usually goes hand in hand with a substantial set of changes.

If we have something big, then the next release will be 0.17,
otherwise it'll be 0.16.1. There is a correlation with time, but
that's not the deciding factor. (If we released right after memory
views went in last fall, despite little time passing from 0.15.1, that
would have still merited 0.16.)

The 1.0 goal is still full Python compatibility, as decided at the
workshop. The work on CyFunctions has gotten us much closer (in fact
the list at http://trac.cython.org/cython_trac/query?milestone=1.0
seems very out of date.)

- Robert
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] some pull requests for 0.16?

2012-03-22 Thread Robert Bradshaw
One more note about release numbering, ideally no 0.x.y release should
be in any way backwards incompatible.

On Thu, Mar 22, 2012 at 11:25 AM, Dag Sverre Seljebotn
 wrote:
>
> IMO, the ideal would be to release 0.16 now and 0.16.1 in a couple of weeks,
> but I respect that this depends on how much more additional work the release
> manager feels that involves.

Shorter release cycles should mean less work. I'd be all for a 0.16.1
shortly following a 0.16 (and a 0.16.2 not long after that). IMHO
we've gone way to long (partially my fault) since 0.15.1.

> I agree that we should wait for the patch that was started on for that bug,
> bringing in new developers is the most important thing we can do and
> satisfying users who don't live on trunk is less important than that.

In your experience, how many people live on trunk? I think most people
only upgrade to stable releases, and this is certainly what lives in
the standard distributions/package repositories.

Well, we don't want to release with the bug, and if that's the only
thing, than I wouldn't want to wait too long on it before a release
(though disabling the optimization and getting a proper fix in later
is fine). I agree that encouraging and enabling new developers is very
important (and in this particular case got the wrong impression that
Mike wasn't looking at it).

- Robert
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] funding (Re: sage.math problems?)

2012-03-22 Thread Fernando Perez
On Thu, Mar 22, 2012 at 1:03 PM, John Hunter  wrote:
> That's my understanding.  Getting US non-profit status is a lot of work to
> start with.  I'm not familiar with what it will take for other countries but
> I will bring it up at the next meeting.

At PyCon, we had some brief conversations with folks involved with the
European side of Python activities, and Travis also had some
conversations with the PSF (which is a US-based c3 non-profit).  I
hope that over the next few weeks we'll be able to clarify some all of
this and start offering a solution for the very problem being
discussed here.

I'm doubly motivated to make this happen both as part of NumFocus and
b/c I want to do the exact same thing regarding IPython funding.  In
IPython we've recently incurred expenses that are well beyond my
'pocket change' comfort zone, and we need to recover those costs.

So stay tuned, it won't be days before we know, but hopefully not more
than a few weeks and we'll have a slightly more coherent answer to
report.

Cheers,

f
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] funding (Re: sage.math problems?)

2012-03-22 Thread Stefan Behnel
Robert Bradshaw, 22.03.2012 19:39:
> On Thu, Mar 22, 2012 at 10:52 AM, Stefan Behnel wrote:
>> Regarding funding in general, maybe we should just start putting up one or
>> two of those sexy funding bars on our web site, like the PyPy devs do for
>> their funded projects. Assuming that goes well, it would also allow us to
>> put money on dedicated projects by paying basically ourselves for doing
>> tasks that we won't normally spend our precious spare time on (e.g. because
>> they appear too large for a weekend), but that we and our users deem
>> necessary for some reason.
> 
> While that's a good idea in theory, I'm not sure how many additional
> hours would be freed up just because we could pay ourselves for it.

And if more than one person frees hours for a given project, how would we
distribute the money? And how do we know we can still trust each other when
it comes to counting the hours? ;)


> Perhaps it would act primarily as an additional incentive to align our
> efforts with user request (though there are certainly already
> non-monetary incentives).

There sure are, and I'm sure that won't change. We should see it as an
addition to what we invest voluntarily. No-one's going to pay for code
cleanup and refactoring, for example, or for tweaks and "having fun at the
weekend" code and "I hate that being slow" optimisations.

We are not necessarily talking about large projects here that represent
person months of value. If I were to decide if I'd start implementing a
feature that looks like taking me, say, 10 days, and I'm not seriously
self-motivated in doing it, I won't even start because I know that I'll
have enough other things to do in the meantime that weigh in equally for
me. But, when I know I'll be paid for doing it, I'll certainly consider
shifting my priorities. And even if it takes three months to finish it in
my spare time, it would still be done in the end, which is much better than
just staying an open tracker entry forever.


> the
> monetization of Cython development changes the spirit of things a bit,
> and while I am a big fan of people being able to make money, or even a
> living, off of open source development

I think if that works depends a lot on what you do exactly, who the users
are and also what you do in order to sell it (and yourself). It doesn't
work for every project and certainly not for everyone.


> it complicates things a lot
> from a legal, financial, and political perspective.

Yes, I'm seeing that, too. But in any case, before it comes to asking for
donations for a given feature/project/fix/whatever, one of the first
questions will be: who can do it? And when? I think that will kill a lot of
political hassle early enough (although hopefully not the project in
question ;).


> The current model of organization X is willing to pay developer Y for
> feature Z directly seems to work well enough for the moment.

That would still work. However, a donation based model would allow us to
lower the barrier. Paying a whole feature may be too much for a single
(smaller) company, and they would have to know exactly what they want in
order to ask us to do it for them. If, instead, we put up a list of
projects we consider worth doing and they can make a donation of, say, 5%
or 10% of the actual sum and let others pay for the same feature as well,
they can just use it to show their appreciation for the general gain we
give them, without desperately needing a given feature themselves. It would
also allow users to contribute money for "nice to have" features, which is
otherwise less likely to happen.


> E.g. with
> GSoC, the bottleneck is finding good enough students and time to
> mentor them, not slots (=funding).

The mentors are not getting paid in a GSoC. So we invest our time by
guiding the student, and that's regardless of the usability of the outcome.
Even if there is an outcome, it's not unheard of that the mere overhead of
cleaning up and integrating the contribution comes close to reimplementing
it. It doesn't always work out as well as with Dag and Mark.

I'm not saying GSoCs are bad - we've certainly had a boost of overall
development power through them. But they are just one way to fund the
development, and not always the best one.


> Opening up funding to non-students
> could help a bit, but IMHO wouldn't change the balance that much (the
> gainfully employed cost a lot more and have less spare time).

It's certainly not the right way to attract new developers. But it's a way
to advance the development.

Stefan
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel