On 12 September 2014 02:23, William A Stein <[email protected]> wrote:
> Hi Sage Devs,
>
> I just received this email which links to a report about "global
> digital math libraries" and also a long and opinionated document by
> somebody named Nelson Beebe.  Since Sage is mentioned a few times in
> both documents, I thought I would forward them, since maybe some Sage
> developers might find something of interest.   The first document
> ICERM-2014.pdf seems to aim to be factual and well balanced, whereas I
> could barely look at the second document entitled
> "ICERM-2014-NOTES.pdf" without feeling very annoyed...

A few comments about the email from Nelson H. F. Beebe
<[email protected]> and the papers at

http://www.math.utah.edu/~beebe/icerm/ICERM-2014.pdf
http://www.math.utah.edu/~beebe/icerm/ICERM-2014-NOTES.pdf

by someone with a background quite different to most Sage developers,
and probably at an age great that most. For what it is worth, my
background is

1) BSc Electrical and electronic engineering
2) MSc Microwaves and optoelectronics
3) PhD Medical physics
4) Worked as postdoc at University College London, commercial
companies, and are now managing director of an electronics company I
set up.
5) Aged 50.

Anyway, here are my comments.

0) Virtually all of "ICERM-2014.pdf" and much of
"ICERM-2014-NOTES.pdf" seems to have a lot of truth in it.

1) I was going to say the graph about the top 500 computers was not
referenced, so why should I trust it. There is in fact no inline
reference, but I suspect the source is #36. Anyway, I guess that is a
minor piont.

2) References in the paper to numerous bits of sofware, one of which is

"Sage," not dated but viewed 31 Jul 2014, available at http://www.sagemath.org.";

would be much more useful if the version was added.

3) While doing research for my own company on calibration standards
for vector network analyzers, the software on the subject falls into 3
categories.

* Interlectual property of some company (e.g. HP, later to be renamed
Agilent, and now Keysight. Another being Maury Microwave.).

* Published material using software that nobody in 10 years has much
hope of using, and even now would struggle - e.g. HFSS which has a
license fee of around $100,000. There are tons of publications showing
results using HFSS, and if one is lucky some comparisons with measured
data, but it difficult/impossible to reproduce the data now, and
probably impossible in a few years.


Maybe such material should be published in The Journal of Irreproducible Results

http://www.jir.com/

* Published material where the author offers to give the software for
interested parties. In several cases my attempts to get this have
failed, in some cases since the author is dead, and in others because
they are basically untraceable, probably in some old-peoples home
having lost their marbles.

4) I have seen a number of electronic projects, which must use
reasonably clever mathematical algorithms, where the author has
attempted to make some money from these, and so keeps the source code
closed. One example I can think of is a GPS dissiplined osciallator by
someone called Brooks Shera. He probably made a few hundred/thousand
dollars from this, but it is not something his family are going to be
able to exploit. The source code was not ever released in full. He
gave old versions to one or two individuals under they sort of
non-disclosure agreements, but to my knowledge never gave the full
version. I know there were people in discussions with his wife to get
access to his computers to try to get the latest source. I don't know
the status of that, but I think she was basically helpful.

I've often thought that there should be a way where people want to
keep source closed, but would have happy for it to be released in
their death, that there was a method of doing this. Perhaps put it in
their will, or other method they find acceptable.

Likewise I develop code I don't wish to divulge now, but in my death I
would be happy to share.

5) I do agree with much of what is written about portability and the
***ing GNU compiler. People now write in "GNU C", which is a
constantly changing like the wind direction.

I myself have tried to get bits of Sage working on obscure platforms,
with non GNU compilers, as I think it does aid portability. Maybe my
efforts achieved nothing beyond getting Sage working on Solaris,
though I suspect they have made porting to other platforms somewhat
easier.

6) Some of the code in Sage is very badly written. My favorite example
was a shell script which started

#!/bin/sh

then had various tests for bits of software existing, one of which was
"sh", and would report if "sh" did not exist. I don't know if that bit
exists any more.

It is clear to me there is some mathematicians writing some pretty
crap code, and that could be improved. I think it has been a lot, but
I suspect there is still a lot of dubious stuff in there.

7) The application of software engineering is I feel an important
thing. I have tried to argue this before, with very little success,
suggesting William buy books on the topic for serious developers. I
note that this paper makes the same comments.

I recall one developer sending me an email saying he was not too
bothered about bugs, but would fix them if reported.

8)

Volker Braun's comments about only being left with awk are true, given
the rather stupid statements in the document "ICERM-2014-NOTES.pdf"

9) There is a fairly negative correlation between the portability of
software and the friendless of its interface. One program I wrote

http://atlc.sourceforge.net/

has been compiled on a huge range of platforms

* Sony Playstation 2
* Cray YMP-EL supercomputer using Cray's UNICOS
* Debian Linux
* Slackware Linux
* Gentoo Linux
* Redhat Linux
* Suse Linux
* IBM's AIX
* Apples's OS X
* HP's HP-UX (both PA-RISC and Itanium)
* SGI's IRIX
* Sun's Solaris
* SCO's UNIXWare
* HP's Tru64
* NetBSD
* OpenBSD
* FreeBSD.

The code is highly portable, and whilst I don't guarantee it will
build on the latest version of these systems, porting it should be
trivial. But the interface is poor, being command-line driven, and
requires another program able to write a Windows bitmap file. (Windoes
paint, Gimp, and a ton of of other software would all work).

I was suggesting the other day that a native port of a subset of Sage
using something like Qt of wxWindows , neither of which I expect will
be around in 20 years from now, although with the code well written,
using a portable back end and a less portable front end, extending the
life of the software would be possible without too much work. But
there would be some.

10) I think 9 points is enough.

Dr. David Kirkby Ph.D CEng MIET
Kirkby Microwave Ltd
Registered office: Stokes Hall Lodge, Burnham Rd, Althorne, Essex, CM3 6DT, UK.
Registered in England and Wales, company number 08914892.
http://www.kirkbymicrowave.co.uk/
Tel: 07910 441670 / +44 7910 441670 (0900 to 2100 GMT only please)

-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to