I'm really glad that Tim published that article in the Notices to
raise awareness about computational mathematics.
<flamebait>
Unfortunately, I'm not convinced by the promise of "literate
programming". I think that code is most valuable if it is:
* written in a readable programming language and *style*,
especially one that is clean enough that it doesn't require excess
additional explanation,
* peer reviewed
* tested, by having yet other people work on the code successfully
It is much better to have no comments than misleading or wrong
comments. Literate programs have more potential to mislead.
Regarding Tim's Hawaii test, last time I spent two weeks in Hawaii I
got a tan and didn't get anything done.
Moreover, many algorithms I work on would take a professional years to
understand (if they aren't already in the area) no matter how well
they are made literate.
</flamebait>
Nothing you say below seems to be an argument against what I wrote, so
I'm not sure what you're disagreeing with. I guess you "disagree with
William" (on general principle?) rather than with what I wrote.
Here's what I wrote:
"I think that code is most valuable if it is:
1. written in a readable programming language and *style*,
especially one that is clean enough that it doesn't require excess
additional explanation,
2. peer reviewed
3. tested, by having yet other people work on the code successfully"
I've added numbers so you can more easily referee to which point you
disagree with.
-- William
So you claim that code that is "most efficient and robust" is far more
valuable than code that can be read, has been peer reviewed, and has
passed the test that other people can work with the code? I would
definitely prefer slightly less efficient or robust code in exchange
for actually being able to read it!
> Peer review? So if it is written by Moe, and reviewed by Larry and
> Curly,
> that's a plus?
It depends entirely who Larry and Curly are.
> I would prefer that it be written as well as reviewed
> by experts. But hey, I guess I'm elitist.
It is of course better if the reviewers and authors are skilled.
That's obvious.
> Tested? I don't know what having other people "work on the code"
> means. Does that include altering it?
Yes.
> If it just means randomly
> trying it out, that doesn't mean much.
It obviously does not mean that.
> I don't mind having a really good expert piece of code that I don't
> have
> to read, understand, or test. I would much rather stand on shoulders
> of giants..
> than on their feet.
What if that "good expert piece of code" doesn't solve exactly the
problem you want to solve, and the only way to solve your problem is
to either modify the code or start from scratch? In that case, I
would be in a much better position than you.
> I hope I've clarified my points here.
Thanks. In summary, you believe the best code is code written by
giants that you don't understand. You're definitely no Tim Daly.
-- William
Man, kids just don't read shit these days. Oh sorry... I meant
crotchety grumps, not kids.
Lapack is a great piece of software. It's written in f77 though,
for historical reasons. These days, I would choose f90
and later for it.
>
> On the other hand, if you want a program that just goes through
> the motions, the NR version may be adequate, In fact if you are
> doing "arbitrary precision" floats, where under/overflow is
> essentially impossible, NR may be a good start. But it is not
> an expertly written robust program; Arguably it is a blight
> on the landscape of numerical computing.
>
> Neither of them is, formally, literate programming.
>
> Would the LAPACK program be better if written in python?
> William seems to be arguing that.
I don't think so. William said 1., 2., and 3., see his post.
>
> Would the NR program be better if it were reviewed/tested by
> "peers" who would presumably be physicists? Not by much.
I think it would be better than not reviewed and tested by peers.
But how does that relate to 1., 2. or 3., or literate programming?
Ondrej
I thought the latest is lapack 3.4.0. If you download the tarball, it
is written in f77.
I know that they write "LAPACK is written in Fortran 90", but I don't
see any features of f90 in the code (maybe I missed some?),
I however see lots of f77 features, that are now deprecated (old style
array passing, no modules, ...).
>>
>>
>> > On the other hand, if you want a program that just goes through
>> > the motions, the NR version may be adequate, In fact if you are
>> > doing "arbitrary precision" floats, where under/overflow is
>> > essentially impossible, NR may be a good start. But it is not
>> > an expertly written robust program; Arguably it is a blight
>> > on the landscape of numerical computing.
>>
>> > Neither of them is, formally, literate programming.
>>
>> > Would the LAPACK program be better if written in python?
>> > William seems to be arguing that.
>>
>> I don't think so. William said 1., 2., and 3., see his post.
>
> I think that is exactly what he is saying.
> "written in a readable programming language " which I interpret as
> code for "written in Python." For his statement to have any meaning
> there
> must be some unreadable programming languages in more or less wide use
> which William wishes to disqualify. If there is a programming
> language
> being disqualified, what might that be? FORTRAN?
Ah I see. I interpreted it differently -- I thought any widely used
language is fine,
if it allows readable and manageable code (in my case, I use Python
and modern Fortran a lot).
>
>
>
>>
>>
>>
>> > Would the NR program be better if it were reviewed/tested by
>> > "peers" who would presumably be physicists? Not by much.
>>
>> I think it would be better than not reviewed and tested by peers.
>
> I disagree. A program with a certificate of review and testing by
How can the program get worse by reviewing it (even by unqualified
people as you say)?
Ondrej
In the case of flint we do some kind of code review, lots of testing
and documentation only.
The C language is not particularly suited to formal techniques, other
than static typing.
I think that reference implementations should be refereed. Some
journals do provide a kind of mechanism for doing this but we are
obviously in the early days.
There is a lot of disagreement on these sorts of issues because of a
great deal of pseudoscience, urban myths and ulterior motives.
Bill.
> --
> You received this message because you are subscribed to the Google Groups "sage-flame" group.
> To post to this group, send email to sage-...@googlegroups.com.
> To unsubscribe from this group, send email to sage-flame+...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/sage-flame?hl=en.
>
Perhaps good code can get negatively reviewed. The developer will
push the issue, and in the worst case, bring it to sage-devel, where
we hash it out. This happens, feelings get hurt, but good code wins.
Quality of the submitted code doesn't go down as a result of the
review process here.
>
> I have seen situations in which totally bogus articles have been
> submitted
> to journals where they are then reviewed by friends of the authors,
> and
> then published.
Shit code gets sloppily reviewed sometimes. It was shit code to begin
with, and it's a shame for it to go in... but the code wasn't harmed
by the review process.
>
> See
> http://retractionwatch.wordpress.com/2011/03/15/faked-data-unsubstantiated-claims-and-spirituality-add-up-to-a-math-journal-retraction/
>
> search on google for the author's name for more discussion..
Fun example! Fortunately, we've never had that level of crank submit
code to Sage. But in all likelihood, it'd be found quickly.
It happens. But as a whole, it's better than no review process.
>
>> Fortunately, we've never had that level of crank submit
>> code to Sage.
>
> How can you be sure?
We gossip like teenage girls about such things. I'm sure I'd have heard of it.
>
>> But in all likelihood, it'd be found quickly.
>
> There are levels of craziness and of bad code.
> I think it is pretty much unarguable
> that Sage has some bad code in it.
Yes, Sage has some bad code in it. It includes Maxima.
>
> RJF
Yeah... open source software would be great, if only there weren't so
many amateurs contributing.
Human endeavors, by and large, are sucky. Most businesses fail in
their first decade. Over half of marriages end in divorce. Over half
of the landers we've tried to put on Mars have failed. We're
destroying the planet through greed and poor resource management.
Woe, why do we even get out of bed in the morning?!?!
> 2. Professional programmers are probably, on the whole, better
> programmers than amateurs.
And professional programmers rely on a review process. More eyes on
code is good. This is something open source folks have learned from
the pros. And here, Mr. "You jerks should read more about what other
people do" is telling us that code review is shit.
> Considering that professionals tend to be the ones who get paid, it is
> likely that they
> have some business perspective and are less likely to give away what
> they produce.
> Not always, of course. Some professionals provide open source code
> sometimes,
> for various reasons.
>
> Academics operate in a different setting. Whether they are
> professional or not is
> hard to say.
>
>
> Ondrej
The other alternative is to not scrutinize anything anybody else does,
and take it on faith. I think that's what Fateman's suggesting: he's
world's solitary expert in everything he's into, and everybody else's
code is shit not to be trusted.
I, for one, am ok with him thinking that. I've written books on the
topic, and received several Nobel prizes for them. So you should
agree with me.
>>
>>
>>
>> > Ondrej
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-flame" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/sage-flame/-/cgTGR8meBeIJ.
OK, so you have a point and are winning the argument and scoring lots
of flamage.
But seriously, what are you proposing? Let's say a mathematician has a
very complex algorithm they have implemented. How are you proposing
that this gets to the point where it meets your standards for release?
What process should it undergo?
On Jan 21, 11:47 pm, Dima Pasechnik <dim...@gmail.com> wrote:
....
> Basically, if one cannot finish off a difficult proof, one can still insert
> an obviously wrong lemma somewhere,
I am not really concerned about misleading articles about matroids,
where
the conclusions might be true or not, but the proof is defective.
> and use it to go on to become a Clay
> Scholar etc etc.
The Clay Institute, last I looked, relied heavily on carefully chosen
experts.
> (And it will take a lot of persistence from someone to
> force this one to acknowledge the wrong: seehttp://arxiv.org/abs/0709.1291).
>
> yet, there is no better model known, in science or in software.
No, I think there are other models. Google uses one to determine the
relevance
of a web page to a query. EBay uses a model to determine the
reliability of
a seller. I sometimes use a model that says if a piece of code is in
netlib.org
that it is worth looking at.
> The
> alternative of peer-reviewed code is to get software from a commercial
> provider, who will do whatever it takes to shut you up if you found an
> error in it...
No, a vendor will attempt to convince you that its program is the best
on
the market for a purpose, so you will buy it rather than the
competition.
Ideally, at least. This assumes a fair market, disclosure, and the
existence of competition, assumptions that may not be correct
sometimes.
RJF
Do you realize that you've just described Sage's review process?
>
> This does not prevent subsequent testing and review, but a potential
> user (or purchaser) can look at the reputation of A and B and have
> some useful information. This is a well known phenomenon in related
> areas. E.g. "I have not seen a proof, but Professor X said it is
> surely
> true that .....".
>
> Simple example. You may not care to believe that I am an authority on
> Lisp,
> but you probably would accept the information in
> http://dl.acm.org/citation.cfm?id=1074543&CFID=79710250&CFTOKEN=15212924
> which is an entry in an encyclopedia of computer science published by
> John Wiley,
> an article coauthored by Richard Fateman and John McCarthy.
>
> If I had a great new algorithm, I would try to run it by one of my
> students and then one of my colleagues first.
>
> A truly large and complex program e.g. FLINT may not fit this method,
> but
> maybe getting (say) Richard Brent to look at it might convince people
> it
> is the right stuff.
>
>
>
>
Nope, it's neither complete nor perfect.
Just out of curiosity, how do you come to such a conclusion reading
this thread? When I look at it I get the sense that RJF is winning
only in "number of posts", but everything he writes is total
bullshit.
-- William
>
> But seriously, what are you proposing? Let's say a mathematician has a
> very complex algorithm they have implemented. How are you proposing
> that this gets to the point where it meets your standards for release?
> What process should it undergo?
>
> --
> You received this message because you are subscribed to the Google Groups "sage-flame" group.
> To post to this group, send email to sage-...@googlegroups.com.
> To unsubscribe from this group, send email to sage-flame+...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/sage-flame?hl=en.
>
--
William Stein
Professor of Mathematics
University of Washington
http://wstein.org
Chrome? The gangster culture of California pervades even its ivory
towers? Please tell me that your hoopty gots 20" spinners and
switches. I'm really enjoying the image.
Also... yes, I'll almost certainly share that gem with my friends.
The only thing better than a pun is an oft-repeated pun.
>
>
>
> On Jan 23, 9:37 pm, Tom Boothby <tomas.boot...@gmail.com> wrote:
>> On Mon, Jan 23, 2012 at 9:32 PM, rjf <fate...@gmail.com> wrote:
>>
>> > On Jan 22, 11:34 pm, William Stein <wst...@gmail.com> wrote:
>>
>> >> Just out of curiosity, how do you come to such a conclusion reading
>> >> this thread? When I look at it I get the sense that RJF is winning
>> >> only in "number of posts", but everything he writes is total
>> >> bullshit.
>>
>> >> -- William
>>
>> > Nice to know you are reading this thread, even if you
>> > are apparently not understanding it.
>>
>> Nice to know you are reading this thread, even if you are apparently
>> not understanding it.
>
http://www.toothpastefordinner.com/012412/not-now-mom.gif
>
> Searching for humor? Here's a riddle for your friends..
>
> Why should you serve eggs Benedict on a hubcap?
>
>
> ..ans:
> Because there's no plates like chrome for the Hollandaise.
>
>
>
> On Jan 23, 9:37 pm, Tom Boothby <tomas.boot...@gmail.com> wrote:
>> On Mon, Jan 23, 2012 at 9:32 PM, rjf <fate...@gmail.com> wrote:
>>
>> > On Jan 22, 11:34 pm, William Stein <wst...@gmail.com> wrote:
>>
>> >> Just out of curiosity, how do you come to such a conclusion reading
>> >> this thread? When I look at it I get the sense that RJF is winning
>> >> only in "number of posts", but everything he writes is total
>> >> bullshit.
>>
>> >> -- William
>>
>> > Nice to know you are reading this thread, even if you
>> > are apparently not understanding it.
>>
>> Nice to know you are reading this thread, even if you are apparently
>> not understanding it.
>