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.
