'Otherwise we are just stuck with a code we do not understand'
are the sage development policies not sufficient to ensure project maintainability,
or is Nathan's statement just caused by his frustration and is not objective?
--
You received this message because you are subscribed to the Google Groups "sage-flame" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-flame+...@googlegroups.com.
To post to this group, send email to sage-...@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-flame.
For more options, visit https://groups.google.com/d/optout.
Sometimes rewriting code from scratch is the only way to ensure it remains maintainable.Flint 2 is a complete rewrite of flint 1 from scratch (flint 1 had 120,000 lines of code).At 250,000 lines of code, flint 2 is probably a little large to ever rewrite entirely from scratch. But I would not hesitate for a moment to rewrite an entire flint module from scratch if I could substantially improve it.Be warned though. People will publicly complain you didn't maintain backwards compatibility and even after you rewrite it, they will still publicly complain about the old code as though it was still in use:http://trac.sagemath.org/ticket/17090#comment:31 (see point 3 which refers to a bug found in flint1 in the FFT, which I personally completely rewrote from scratch without even referring to the old code).Bill.
On 4 October 2014 22:54, Nathann Cohen <nathan...@gmail.com> wrote:
are the sage development policies not sufficient to ensure project maintainability,
or is Nathan's statement just caused by his frustration and is not objective?What is for sure is that we are stuck with a code that nobody is (willing AND able) to fix.Nathann
--
You received this message because you are subscribed to the Google Groups "sage-flame" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-flame+unsubscribe@googlegroups.com.
I doubt that any "policy" can ensure project maintainability unlessperhaps the policy comes with a large among of funding to pay peopleto spend time on maintenance.
> Presumably it would not be so easy for random uninformed or malicious
> persons to
> insert code into proprietary software. There are many people who could
> change Sage
> (for example, anyone who can change Maxima can also change Sage)
I do not think that we seriously have to worry about "malicious users"
implementing wrong mathematical features on purpose.
So unless you have a reason to believe that contributors to an
open-source project misread the doc more frequently than others ?...
On 2014-10-04, rjf <fat...@gmail.com> wrote:
> What I find interesting about this thread is that it is also relevant to
> discussions
> that open source is necessary for proofs, or correctness, or whatever.
necessary, but not sufficient (cf. Shellshock aka Bashdoor)
> If no one is willing or able to look at the code, it is tantamount to being
> unreadable.
no, it's not. It is just lack of resources.
On 2014-10-04, rjf <fat...@gmail.com> wrote:
> What I find interesting about this thread is that it is also relevant to
> discussions
> that open source is necessary for proofs, or correctness, or whatever.
necessary, but not sufficient (cf. Shellshock aka Bashdoor)
> If no one is willing or able to look at the code, it is tantamount to being
> unreadable.
no, it's not. It is just lack of resources.
> and of course even closed-source code is in some sense
> readable in principle because a computer reads and executes it. And
> I suppose it can usually be disassembled for closer-to-human consumption.
Except that, depending on where you live, it might be illegal to disassemble,
or it might be legal to disassemble, but illegal to publish your findings...
What often happens when someone tries to publish results of disassembling Windows
internals, is well known.
He was being serious for sure. Of course he's thinking of lisp and machine code.((()())((()())))(())))((()))() vs 101000100010111100100001All semantic content missing.
On 2014-10-06, rjf <fat...@gmail.com> wrote:
>
>
> On Monday, October 6, 2014 7:03:27 AM UTC-7, Dima Pasechnik wrote:
>>
>> On 2014-10-04, rjf <fat...@gmail.com> wrote:
>> > What I find interesting about this thread is that it is also relevant to
>> > discussions
>> > that open source is necessary for proofs, or correctness, or whatever.
>> necessary, but not sufficient (cf. Shellshock aka Bashdoor)
>>
>> > If no one is willing or able to look at the code, it is tantamount to
>> being
>> > unreadable.
>>
>> no, it's not. It is just lack of resources.
>>
>
> I suppose that is the pure mathematics viewpoint.
>
> Establishing a human colony on mars in the next 10 years is not possible.
> No, it is just a lack of resources.
Oh come on... Pay me something in the range of US$30K, and I'd fix this bug.
Hell, I'd even do this for US$15K.
I am sure there are well-qualified people around who would do this for
US$5K!
>>
>> > and of course even closed-source code is in some sense
>> > readable in principle because a computer reads and executes it. And
>> > I suppose it can usually be disassembled for closer-to-human
>> consumption.
>>
>> Except that, depending on where you live, it might be illegal to
>> disassemble,
>> or it might be legal to disassemble, but illegal to publish your
>> findings...
>> What often happens when someone tries to publish results of disassembling
>> Windows
>> internals, is well known.
>>
>
> I think that saying "I disassembled and verified by human eyeball that
> this code is correct"
> and "I read the hugely difficult open-source code and verified by human
> eyeball that this code is correct"
> are similar,
>
> I am not aware of anyone publishing results of disassembling Windows and
> getting in to trouble.
> But then I never even thought about it. I suspect that if I had ever
> needed it, as an academic
> I could get source code. Maybe not.
maybe you could descend from your ivory tower and google
for examples of this. Try e.g. looking up Bowers vs. Baystate Technologies.
If you agree to EULA then you cannot disassemble...
>
>
>>
>>
>>
>>
>
Nathann
--
I'm not sure I agree that disassembly of proprietary software is as good as open source software
To unsubscribe from this group and stop receiving emails from it, send an email to sage-flame+unsubscribe@googlegroups.com.
How we got out on this limb --- um, I think I mentioned open source somewhere above..
On 8 October 2014 00:25, rjf <fat...@gmail.com> wrote:
How we got out on this limb --- um, I think I mentioned open source somewhere above..
I don't know, but I think I saw someone happily sawing the limb a bit further in.
By the way, I'd be pretty surprised if the major players didn't use some kind of encryption to prevent decompiling binaries
, and various other nasty tricks to trip up debuggers. For example, they can take checksums and self-modify the code depending on the value of the checksum. This ensures the code has not been modified. Then they make sure that debuggers will not run without modifying the code. Of course, with persistence, one can always work around such things. But it is certainly more effort than most people would be prepared to put in to learn how something works. Not to mention, illegal, because CFAA.
Bill.
--
You received this message because you are subscribed to the Google Groups "sage-flame" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-flame+...@googlegroups.com.
On 10/7/2014 4:20 PM, Bill Hart wrote:
I've never tried it. Apparently there are lots of "crackers" who give away or sell programs with
On 8 October 2014 00:25, rjf <fat...@gmail.com> wrote:
How we got out on this limb --- um, I think I mentioned open source somewhere above..
I don't know, but I think I saw someone happily sawing the limb a bit further in.
By the way, I'd be pretty surprised if the major players didn't use some kind of encryption to prevent decompiling binaries
the licensing bypassed (e.g. Mathematica) and maybe some malware inserted.
So they figure out at least some of the code, whether it is self-modifying or obfuscated
somehow.
Even if a binary file is obscured, once it is loaded into memory and executing,
there are fewer opportunities to hide.
Oh, just thinking.. If you want Sage to succeed and to do that it needs money,
why not use it for mining bitcoins? :)
It should be clear that the presence of documentation, doctest, and QA hardly guarantees correctness.In fact, I have seen cases in which correct programs properly documented were misunderstood,the code replaced with other code with different specifications, now incorrect, but passing newand also incorrect QA.This is a potential downside of open source. Like lying or misinformed Wikipedia contributors,
On Saturday, October 4, 2014 3:29:10 PM UTC-7, Jakob Kroeker wrote:I doubt that any "policy" can ensure project maintainability unlessperhaps the policy comes with a large among of funding to pay peopleto spend time on maintenance.
@rjf
in my opinion it is not that simple here: as far as I know from the discussion,
some module routines return incorect results, so
1. it looks like that the QA failed in this case
I looked at the source and at the first sight it seems that routines are documented and doctested.
But when trusting Nathann's comments, it is not enough to grasp the complete picture and understand
the interplay of the single routines (=> 100% doctest is not sufficient)
Summarizing the comments, there at least four options
- rewriting from scratch
- get the missing information from the previous authors
- do source code archaeology
- convince the initial authors to fix the problem
Jakob
Am Donnerstag, 2. Oktober 2014 18:50:43 UTC+2 schrieb rjf:
This seems to have come from some squabble on sage-devel.I doubt that any "policy" can ensure project maintainability unlessperhaps the policy comes with a large among of funding to pay peopleto spend time on maintenance. (Meaning fixing bugs, adding featuresthat are requested, making new releases for new versions ofoperating systems and other packages.)Nothing new here.
On Thursday, October 2, 2014 8:30:06 AM UTC-7, Jakob Kroeker wrote:'Otherwise we are just stuck with a code we do not understand'
This is a citation from Nathan,
https://groups.google.com/d/msg/sage-devel/WXNmH3PL7kY/rFQlnvv9wkYJ
Question:
are the sage development policies not sufficient to ensure project maintainability,
or is Nathan's statement just caused by his frustration and is not objective?
Jakob
Remark: I do not have enough credit yet in the sage community to start a discussion like this,
so feel free to ignore it for now.