Re: [sage-devel] Native Windows version

2019-01-25 Thread E. Madison Bray
On Wed, Jan 23, 2019 at 5:10 PM William Stein  wrote:
>
> On Wed, Jan 23, 2019 at 3:36 AM E. Madison Bray  wrote:
>
> > > If I had to run Sage on Windows for some reason today, I would use
> > > Docker or VirtualBox.I helped support somebody using the Cygwin
> > > version of Sage on Windows at the Sage booth at the Joint Math
> > > Meetings last week, and it typically took about 1 minute to start up
> > > Sage, which was scary.  She also was 100% convinced that copy/paste in
> > > the Sage terminal (really cygwin) didn't work, which would make using
> > > Sage very painful indeed.   It turned out that copy/paste does work if
> > > you use the context menu.
> >
> > I wish you had asked me about this or brought it up with me before
> > spreading unfounded FUD based on one experience.  I really don't
> > appreciate it--it sets a bad example when the creator of Sage says
> > "don't use the Windows port of Sage", and is pretty insulting frankly.
> >
>
> What I wrote above was that in my one experience last week helping somebody
> with Cygwin Sage.  These two statements are just an observation I had while
> helping somebody.
>
> > So these are engineering challenges, but solvable ones, not reasons to
> > say "don't use X".
>
> I didn't write "don't use X".  I wrote "I would use Docker or
> VirtualBox", and to clarify I literally
> meant that "*I* would use..." (I wish I had put I in bold).   This is
> true, and was


I understood that.  In my frustration I was probably unclear about
this point.  I know it was intended as a statement of personal
preference.  However, you're in a unique position that your words
carry more weight than others and should be considered more carefully.
I've been on Hacker News and I know how things get taken out of
context.  "William Stein says don't use the Windows port of Sage",
etc.  You then went on to justify your supposed personal preference
based on one experience you had with someone else using it.

If there were some actual bugs you could say so, but instead it came
off as "there were some vague problems, so I wouldn't use it".  It's
also very discouraging because prior to this (or the WSL) a VM was the
only way to use Sage on Windows, and your message gave the impression
that all the effort that has been put into making a better Windows
experience was for nothing if it's somehow a worse experience even
than using a VM (it isn't).

> in response to somebody who wrote to our mailing list who was
> frustrated with using Cygwin,
> so it was a fair suggestion.  Also, the original poster was
> contemplating porting Sage
> to windows, so they are probably extremely technically competent.

Maybe they're "frustrated with using Cygin" maybe not.  All they wrote
is "the ugh-worthy Cygwin" which doesn't give any obvious indication
as to their experience with it.  I used to have the same feeling about
it, though I had barely ever used it myself, so it was more of a
knee-jerk opinion.  Now that I've spent more time with it I've found
that it gives a far better and well-considered UNIX-like experience on
Windows than most existing alternatives.  The only reason I would
prefer not to use it are aforementioned technical problems with
emulating certain POSIX interfaces (most notably fork()).

They may or may not be "extremely technically competent" but possibly
not experienced enough with the software at hand to have a good handle
on just how much effort such porting would take.  I made the same
mistake starting out.

I do think it's possible though, of course, but it will take more than
just one or two people making a burst of contribution.  It's going to
require a long, sustained (and sustainable) effort.  But who knows,
maybe I'm wrong.  Maybe I like having work/life balance too much.

> > The stuff about copy/paste is just nonsense. [...]
>
> For me, the best measure for usability is listening to users.

Sure, but the copy/paste question is kind of outside the scope of
Sage, or even Sage on Windows.  Terminal emulator environments on any
platform are difficult to novice users who don't have much experience
with them.  I've been teaching Software Carpentry workshops for years,
and every time I think I've seen every problem novices have, I'm
surprised anew by new workshops.

Regardless, you made the suggestion that this was a unique problem to
Sage on Windows, and a reason not to use it.  Your "solution" was also
inaccurate and uninformed.

> Anyways, if you have the chance, I would encourage you to run a booth
> somewhere and help
> random people use Sage on Windows all day for a few days.  Or to try
> to create some sort

It's almost as if people have been doing that!  Ever since the first
beta, in fact.  I personally haven't gotten out there and done that
because I don't go to a lot of mathematics conferences, as they're not
generally relevant to me personally.  But I'm going to one in a few
weeks in fact.  In the meantime, other people have been doing that,
collecting feedback, and 

Re: [sage-devel] A naming question for an enumerator

2019-01-25 Thread Simon Brandhorst
The method may get lost among the many methods of a Quadratic Form. But I 
guess making it a static method of quadratic forms is a good idea.

On Thursday, January 24, 2019 at 7:53:17 PM UTC+1, David Roe wrote:
>
>
>
> On Thu, Jan 24, 2019 at 1:27 PM Simon Brandhorst  > wrote:
>
>> So here is a question which came up in #24889: 
>>
>> We have an enumerator of objects, let us call them breeds of dogs which 
>> returns all breeds with user defined properties e.g. breeds of small dogs. 
>> How would you give the user access to it in a sageish pythonic way:
>> Let us say the way to create a breed is Dog.breed()
>>
>> DogsBreeds(size=small, color=dark)
>> Dogs.breeds(size=small, color=dark)
>> all_breeds_with(size=small, color=dark)
>> Breeds
>> ?
>>
>>
>> In our specific case we have quadratic forms and to a quadratic form one 
>> can associate its genus. 
>> Now we have an enumerator which returns all genera of specified signature 
>> and determinant. How to name it?
>> QuadraticFormsGenera
>> QuadraticForms.Genera
>> Genera
>> ?
>>
>
> I don't see a QuadraticForms object in Sage (just a QuadraticForm), so 
> wouldn't the second be QuadraticForm.Genera?
>
> I would probably go with QuadraticForm.genera, since that doesn't require 
> adding something to the global namespace, but I think QuadraticFormsGenera 
> could be okay too.
> David
>
>>
>> There are examples of each kind of behaviour in the sage library. 
>>
>>
>>
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "sage-devel" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to sage-devel+...@googlegroups.com .
>> To post to this group, send email to sage-...@googlegroups.com 
>> .
>> Visit this group at https://groups.google.com/group/sage-devel.
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.