Does anybody want to help put together a GSoC application for Sage for 2012?
The application deadline is March 9.
So far, I think we've applied 5 times to have Sage as a mentoring
organizing, and been denied every time. I think there is no feedback
about why we are denied (maybe they think we already have too much NSF
funding?). Also, other similar projects such as R, Sympy, PlanetMath,
etc., have often been accepted as mentoring organizations. However,
I don't think being denied every year is a reason to stop trying,
because (1) our project is better than many of the projects Google
chooses (they are just making a mistake by not choosing us), and (2)
even if they don't choose us, we can propose our project ideas to
other mentoring organizations. Regarding (2) though, it can be
frustrating -- e.g., I felt we had an excellent proposal for a
mentoring organization one of the years Sage was denied, and the
organization decided against funding it because the developers didn't
know us personally; their "no" was not based on weaknesses of the
project itself, which I found frustrating. So it's best if we are a
mentoring organization.
-- William
--
William Stein
Professor of Mathematics
University of Washington
http://wstein.org
So are you saying we shouldn't, for example, submit under the Python
Software Foundation umbrella?
I'd be willing to mentor, for example, a notebook project, since that's
what I'll be working on most of the summer. I'll already have several
students hopefully working with me on the notebook, or graphics (webgl,
here we come :), etc.
Jason
If we come up with good projects that would make sense for PSF *and*
are denied as a mentoring organization, then we should summit there.
In my remark above, the mentoring org was not PSF.
> I'd be willing to mentor, for example, a notebook project, since that's what
> I'll be working on most of the summer. I'll already have several students
> hopefully working with me on the notebook, or graphics (webgl, here we come
> :), etc.
Excellent. I am also willing to mentor a project on the notebook.
Or something on implementing mathematical algorithms.
>
> Jason
>
> --
> To post to this group, send an email to sage-...@googlegroups.com
> To unsubscribe from this group, send an email to
> sage-devel+...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/sage-devel
> URL: http://www.sagemath.org
That's an *extremely* good idea!
Maybe we should have "The Sage Notebook" as the mentoring organization
instead of Sage, given that every project idea so far has involved it?
William
>
> --
> To post to this group, send an email to sage-...@googlegroups.com
> To unsubscribe from this group, send an email to
> sage-devel+...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/sage-devel
> URL: http://www.sagemath.org
--
Here are some more ideas:
* get interacts working in the IPython html notebook (not exactly Sage,
but very closely related, and likely far more reaching than a Sage
notebook project)
* python->javascript translator so we can have *real* interaction (e.g.,
convert a symbolic expression to javascript, so the interact is totally
computed in the browser, for simple interacts)
* the usual: folders/tags/some method for organization, migrate to
vastly different architecture for notebook (like ipython 0.12 or the
sage cell architecture), webgl frontend for 3d graphics with all the
trappings
Sage projects:
* get fast_callable into shape, including a fortran backend (I was
really impressed with Oscar's demonstrations the other day). See
http://trac.sagemath.org/sage_trac/ticket/5572; the sky is the limit for
this as far as low-level expression optimizations too)
* overhaul 2d graphics to be consistent, take advantage of matplotlib
much more, etc. Introduce svg or html5 frontends for matplotlib that
make interactive browser graphics easier (like interacts)
* webwork/sage integration
* coercion system printing framework, like David Roe has long advocated
Thanks,
Jason
+1
I had to go look up what GSOC was first ...
Jt
______________________________________ CONFIDENTIALITY NOTE: This communication may contain confidential information. If you are not the intended recipient or if you are not authorized to receive it, please notify and return the message to the sender. Unauthorized reviewing, forwarding, copying, distributing or using this information is strictly prohibited.
I could be tempted to mentor as well, but the group of potential beneficiaries
of the stuff I have in mind is much smaller than notebook stuff or the Android
app. Anyway, here it goes:
a) Dense linear algebra over extension fields. I'm meeting Burcin tomorrow to
work on this, so we'll have to decide whether it makes sense as a GSOC project
or not. But the idea is to use tuples of matrices to represent matrices over
extension fields ... and to have that reasonably generic in Sage so that it
works for GF(p^k) and number fields, say.
b) Write a decent interface to CryptMiniSat or any other SAT solver for Sage.
By decent I mean something on Cython level, allowing direct access to the
solver, e.g. getting learned clauses out etc. Also, bonus brownie points for
ANF 2 CNF conversion (there's decent stuff out there one could wrap).
c) M1RI, that's the code Tom wrote for dense linear algebra over GF(3) -
GF(7). As far as I understand it, it's a bunch of Sage worksheets at the
moment, i.e. a proof of concept. Turning this into a proper library would be
awesome. It requires C skills but most of the linear algebra business has been
solved before, i.e., I could give decent advise on how implement this or that
function etc.
Cheers,
Martin
--
name: Martin Albrecht
_pgp: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99
_otr: 47F43D1A 5D68C36F 468BAEBA 640E8856 D7951CCF
_www: http://martinralbrecht.wordpress.com/
_jab: martinr...@jabber.ccc.de
On Wed, Feb 8, 2012 at 9:00 PM, Martin Albrecht
<martinr...@googlemail.com> wrote:
> c) M1RI, that's the code Tom wrote for dense linear algebra over GF(3) -
> GF(7). As far as I understand it, it's a bunch of Sage worksheets at the
> moment, i.e. a proof of concept.
Where are these Sage worksheets?
--
Regards,
Minh Van Nguyen
http://sage.math.washington.edu/home/mvngu/
If you're serious about fixing piecewise,
* I'll be a student until at least May (this is fine by the GSOC
rules).
* I'll have the summer off.
* I've been working on splines for the past few years, and am
familiar with all of the reasons why piecewise needs fixing.
To unsubscribe from this group, send an email to sage-devel+unsubscribe@googlegroups.com
In case it isn't obvious, Chris works at Google.
William
>
> If I had a bit more experience with Sage development, I would have been
> happy to mentor someone as well. :)
>
> --Christopher
>
>
>
> On Wed, Feb 8, 2012 at 08:12, Michael Orlitzky <mic...@orlitzky.com> wrote:
>>
>> On 02/07/2012 11:20 PM, kcrisman wrote:
>>>
>>>
>>> I hesitate to say I would be a good mentor, but there are a lot of
>>> things in symbolics and graphics that would be appropriate for this
>>> that I'd like to try with some of my students. Especially piecewise
>>> functions and such. Continuing nontrivial Geogebra integration could
>>> be another very appropriate one.
>>
>>
>> If you're serious about fixing piecewise,
>>
>> * I'll be a student until at least May (this is fine by the GSOC
>> rules).
>>
>> * I'll have the summer off.
>>
>> * I've been working on splines for the past few years, and am
>> familiar with all of the reasons why piecewise needs fixing.
>>
>>
>> --
>> To post to this group, send an email to sage-...@googlegroups.com
>> To unsubscribe from this group, send an email to
>> sage-devel+...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/sage-devel
>> URL: http://www.sagemath.org
>
>
> --
> To post to this group, send an email to sage-...@googlegroups.com
> To unsubscribe from this group, send an email to
> sage-devel+...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/sage-devel
> URL: http://www.sagemath.org
--
yes, there is in deed such a section. thanks for your support :)
H
Lack of feedback is really annoying. Can't you get any unofficial feedback via
telephone calls rather than email?
> Also, other similar projects such as R, Sympy, PlanetMath,
> etc., have often been accepted as mentoring organizations. However,
> I don't think being denied every year is a reason to stop trying,
> because (1) our project is better than many of the projects Google
> chooses (they are just making a mistake by not choosing us),
Perhaps that's not the wisest thing to state in public.
I've had a couple of theories about why applications might fail.
1) Too mathematical, though that theory seems to have been dismissed, as I
gather other heavy maths has been funded.
2) The Sage development process is not exactly a shining example of best
practice in software engineering. I once suggested you purchased some books on
software engineering and handed out free copies to some of your developers,
since its clear some don't have a clue.
It's remotely possible Google see this, and would rather someone mentored in a
different environment, which at least appears a bit different, even if in fact
it is no less chaotic.
Dave
My post on this list resulted in unofficial off-list feedback.
>> Also, other similar projects such as R, Sympy, PlanetMath,
>> etc., have often been accepted as mentoring organizations. However,
>> I don't think being denied every year is a reason to stop trying,
>> because (1) our project is better than many of the projects Google
>> chooses (they are just making a mistake by not choosing us),
>
>
> Perhaps that's not the wisest thing to state in public.
Dang, I guess the secret is out now.
-- William
Axiom was chosen as one of the project for the first GSoC
for about 24 hours, at which point it was dropped. I never
did find out why.
We did have projects under the LispNYC umbrella organization
due to Goodman's efforts.
>
> > Also, other similar projects such as R, Sympy, PlanetMath,
> > etc., have often been accepted as mentoring organizations. However,
> > I don't think being denied every year is a reason to stop trying,
> > because (1) our project is better than many of the projects Google
> > chooses (they are just making a mistake by not choosing us),
>
> Perhaps that's not the wisest thing to state in public.
>
> I've had a couple of theories about why applications might fail.
>
> 1) Too mathematical, though that theory seems to have been dismissed, as I
> gather other heavy maths has been funded.
Axiom got selected but the effort was for a web-based notebook-style
interface which is clearly not mathematical and, as you already know,
is so wildly futuristic that it will likely never be achieved :-)
>
> 2) The Sage development process is not exactly a shining example of best
> practice in software engineering. I once suggested you purchased some books on
> software engineering and handed out free copies to some of your developers,
> since its clear some don't have a clue.
So stretch a bit and propose a literate programming Sage example.
I'd be willing to act as a Sage mentor for that.
>
> It's remotely possible Google see this, and would rather someone mentored in a
> different environment, which at least appears a bit different, even if in fact
> it is no less chaotic.
I suspect that, like all things Google, they just get swamped by
applications. Google funding applications are to NSF applications
like Chatroulette is to dating. :-) It wouldn't surprise me to find
out that they have automated the selection criteria just to deal
with the volume.
Tim Daly
I don't think so.
> 2) The Sage development process is not exactly a shining example of
> best practice in software engineering. I once suggested you purchased
> some books on software engineering and handed out free copies to some
> of your developers, since its clear some don't have a clue.
>
> It's remotely possible Google see this, and would rather someone
> mentored in a different environment, which at least appears a bit
> different, even if in fact it is no less chaotic.
That second point convinces me much more ; consider :
1. Is it available readily in most distributions? No.
2. Does ./configure && make && make install give something in a
reasonable time? Uh. No configure script?! Ah, make works... what?! It
is compiling bzip2!? Stop!
Snark on #sagemath
Well, from what I read so far in the last years, this is not a
criteria at all. I think you are simply trapped in the human thinking
process, that you try to find a reason where no reason is. There is a
lot of luck involved and if sage doesn't fit on a very rough level, it
won't be selected.
It's like if you play a random game, and you think it "must happen
now" and if it still does not, you blame it on wearing the wrong
socks…
H
+1
>
> H
http://wiki.sagemath.org/PiecewiseSymbolicSEP
It's basically a brain dump at this point, but I can go back and clean
up specific ideas now with less overhead.
I've also added a link and a few paragraphs to the GSoC proposal.
I think such functions should be implemented based on predicates
rather than intervals. Then they could support this as well as being
multi-variate, etc. Unfortunately the mod operator doesn't seem to
work with symbolics (could be adde to the SEP)
sage: x % 1
...
TypeError: unable to convert x (=x) to an integer
And we also have the ugly
sage: 0 < x < 5
0 < x
and
sage: var('y,x')
(y, x)
sage: (0 < x) & (0 < y)
...
TypeError: unsupported operand type(s) for &:
'sage.symbolic.expression.Expression' and
'sage.symbolic.expression.Expression'
Part of this SEP could be to make both of these work (if possible, the
first might be impossible due to shortcutting and bool(expr) returning
False by default). Note that if the predicates are evaluated in a
cascading manner, this wouldn't be needed as often.
Another complication is detecting boundaries (e.g. for
differentiability tests) for arbitrary predicates, but this could be
done for inequalities.
- Robert
Assuming we get piecewise right, it *sounds* easy to do. I've added it
to the SEP as a feature that could be built on top of piecewise.
One goal would be to define the piecewise functions based on predicates,
so we could have e.g. a periodic(f, interval, period) constructor that
converts your interval/period to a predicate and returns the
corresponding piecewise function.
I can see it getting hairy if we try to generalize periodic functions,
too, but period/interval are easy enough to work with.
I believe a complete native port would be an almost impossibility. I don't think
many developers are keen on Windoze, so it would be less easy to attract
developers unless they were paid to do it.
I must admit, I would have thought a Cygwin port easier than it seems to be. I
recall at one time wondering whether the Solaris or Cygwin port would be
completed first, but Solaris got there several years ago, and the Cgywin port
seems less likely to be completed now than it did a few years ago.
Microsoft were at some time funding a Windoze port of Sage, but I believe the
amount of funding they gave was far too small to make the slightest dent in the
problem.
Dave
GMP and MPFR is only a small part of the story. There are huge packages
in Sage (not developed by Sage people) that do not run natively under
Windows and are quite non-trivial to port (as they might have their own
tricky GC, use fork and its POSIX-only friends, original developers of
these parts left long ago, etc). E.g. GAP alone is a nontrivial task to
port.
> This is not a problem if you drop the requirement that every recipient
> of Sage must be able to COMPILE stuff locally. Just have one person
> compile the stuff once and distribute dll files.
this means distributing a seriously crippled system.
shame on you for turning your back on what is still the
most wide-spread operating system (or family of systems) on home
and office computers.
Being able to write and build your own Cython code is an important
part of normal non-trivial usage of Sage. This requires a functioning
C compiler.
in 2012, i think it's the posix-world of smartphones and tablets,
namely android and iOS. porting to or supporting a growing ecosystem
(i.e. tablets) has more long term benefits than petting a dying
dinosaur.
h
indeed, the crippling is akin to a Lisp system that cannot compile Lisp programs,
but can only interpret them.
Dima
> In gmane.comp.mathematics.sage.devel, you wrote:
This is a bit strange, isn't it? Shouldn't it say something like
> Keshav Kini <kesha...@gmail.com> wrote:
or similar?
-Keshav
P.S. Testing sending this mail via Gnus, hopefully this works :) (shut
up about "mismatched parentheses", emacs...)
Sorry for the noise, still trying to wrap my head around Hardcore
Email (tm) and Hardcore Editor (tm) :)
-Keshav
Thunderbird: +1.
Jason
is one such example. I was recently speaking to one of their engineers, who said some customers had simultions taking weeks, so they would get Ansys (the vendor) to simulate them on more powerful hardware, reducing the time from weeks to days.
PS. It's interesting that Wolfram Research appear to use ATLAS in Mathematica - at least on Solaris. I base this on the fact there is a file 'libatlas.so', or some similar name in the Mathematica distribution.
I am not sure about ansys. We had licenses and binaries for IBM power
on AIX. They are discontinuing it.... So we are looking for alternatives to
run on power7 systems. Not sure if they have support for linux x86(_64)
or if that will disapear too.
Windows NT 3.51 runs on PowerPC. Not sure if that means it runs on Power 7 systems.
Dave
http://www.ansys.com/ansysonwindows/ansys-performance-on-windows.pdf
says things like:
"Scale up to a cluster running Windows HPC Server 2008, and you'll be able to
consider more detailed and accurate simulations or study a range of design ideas
or operating conditions. Either way, you can leverage your existing Windows
expertise and IT infrastructure, and maximize the return on your investment in
simulation."
The University of South Florida obviously has HFSS
http://rc.usf.edu/trac/doc/wiki/HFSS
and states
"
***Batch Execution on Windows HPC***
Using Windows HPC Server 2008 R2, we can easily dispatch jobs that require more
resources than a desktop system can provide. Configuring your desktop
installation to work with the Windows HPC scheduler is a simple process."
I would have thought that is high performance computing on Windows.
I'm going on an HFSS course at the end of this month. I'll ask the engineer who
told me they rent out computer resources what OS they use for this.
Dave
Thanks for completely misleading my sentence for a few laugh.
In case it wasn't I meant ansys is discontinuing their support for power.
Now if IBM were to ditch AIX I would be a happy boy.
Didn't know Windows NT ran on powerPC, knew they had a version
for alpha (in x86 emulation). Wether it would run on power7 would
depend on what level they supported, if it ran on power4 it may
be possible but I wouldn't want to try to boot it.
Francois
No, it would be a painful one. Even if you could install it, most modern
software would not run on it.
> I don't think Windows
> NT 3.51 can run on Power7. It is binary compatible under certain conditions
> but i'd be surprised if a whole OS can escape all caveats.
Perhaps. I'll leave you to try if you think it would be funny!
> I actually know one or two Windows-based HPC clusters in academic research.
> In the cases I know, they are the result of donations from Microsoft...
Ansys don't tend to support a lot of operating systems.
* On Linux they only support Redhat 4 and 5, and SUSE 10 and 11.
* On Windows they only support XP, 7 and Windows HPC Server 2008 R2.
So Windows Vista, and all the free Linux distributions like Ubuntu are not
supported. Neither is OS X.
http://www.ansys.com/Support/Platform+Support/Ansoft+Products+14.0
The fact they do support Windows HPC Server 2008 R2 makes me think they have
serious customers paying serious amounts of money to use it. HFSS is *very*
expensive. A single HFSS license for one machine is around $100 k using just one
solver. So I very much doubt one could get a commercial HFSS license for an HPC
cluster for under $500 k.
Academic licenses are much cheaper, so I doubt Ansys would support Windows HPC
Server 2008 R2 just because a few universities have HPC clusters donated by
Microsoft. I believe they must have serious commercial customers using HPC on
Windows. But I might be wrong of course.
Dave
So Windows Vista, and all the free Linux distributions like Ubuntu are not
supported. Neither is OS X.
The number of downloads on windows is about 216,000 since August.
The number of downloads on Linux is about 675.
Centos is essentially a free clone of Redhat distro's.
Most everything that runs on Redhat would run on Centos without any problem.
Dima
Not to mention that the sf number doesn't count, for example, Sage
distributing maxima.
Jason
Yes, that's what I was using in fact
[drkirkby@blackcap ~]$ cat /etc/redhat-release
Red Hat Enterprise Linux AS release 4 (Nahant Update 7)
#CentOS release 4.7 (Final)
I had to edit /etc/redhat-release to fool the software to thinking it was on a
Redhat 4.7 system, when in fact it was CentOS 4.7.
Oracle Linux is also I believe a clone of Redhat - perhaps not such a close
clone as CentOS. I assume Oracle add something to it. 4
The point I was making is that if a company like Ansys decide to support Windows
HPC Server 2008 R2, whilst only supporting a very limited number of OSs, they
must believe that there is a business case for using an HPC application on Windows.
Volker Braun said:
"I seems HFSS is really a desktop program that scales up to reach the bottom of
what can be considered HPC"
I can't argue with his comments, as there's no formal definition of HPC, but I
do disagree that there is zero penetration of HPC to Windows, which was his
earlier comment.
By far the quickest way to make Sage run on Windows is to get an expert
to fix Cygwin's fork implementation.
The problem is that while such persons exist, they all have
signed an NDA, which would prevent them to do what's needed.
Anything esle is a huge waste of man-hours.
(of course this makes your 500$/h experts in wheel reinvention
laughing all the way to the bank...)
Frankly, that's disturbing, isn't it?
Dima
Why do you think it's *possible* to have a good fork implementation in
Cygwin? I had the impression that it is impossible.
Also, there is much, much more wrong with Cygwin than just fork...
>
> Anything esle is a huge waste of man-hours.
> (of course this makes your 500$/h experts in wheel reinvention
> laughing all the way to the bank...)
>
> Frankly, that's disturbing, isn't it?
>
> Dima
>
> --
> To post to this group, send an email to sage-...@googlegroups.com
> To unsubscribe from this group, send an email to sage-devel+...@googlegroups.com
> For more options, visit this group at http://groups.google.com/group/sage-devel
> URL: http://www.sagemath.org
--
William Stein
Professor of Mathematics
University of Washington
http://wstein.org
Quoting http://comments.gmane.org/gmane.comp.python.cython.devel/8730:
% Cygwin's problem is that hooking up a process created by
% ZwCreateProcess to the Win32 or SUA subsystem is undocumented; neither
% MS documentation or Nebbet cover that. That is why Cygwin does not
% implement a copy-on-write fork yet, although most modern hardware
% supports it.
>
> Also, there is much, much more wrong with Cygwin than just fork...
aside of absense of a 64-bit version (and the dreadful fork crap),
it's workable...
Dima
Yes, it's a ridiculously high hourly rate too for a programmer. In the current
economic climate, a contractor would be reasonably happy earning $500/day, not
an hour.
I think $2000 is quite reasonable for what you considered was 1-2 weeks work,
although I was giving you a month.
You are either stupid (which I don't think you are), just difficult for the sake
of it (which I think you are), or grossly underestimate the amount of work
required.
Dave