Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Albert D. Rich
    @AlbertRich
    @halirutan I just tried going to https://RuleBasedIntegration.org/ and got the GitHub error message to use the correct case. Can you make it so https://RuleBasedIntegration.org/ automatically goes to https://rulebasedintegration.org/? The former is a little easier to read, and MS Windows users are not use to case sensitivity.
    Patrick Scheibe
    @halirutan
    @AlbertRich On my machine, it works. I can navigate from the browser and I can ping RuleBasedIntegration.org from commandline. I don't know how I should solve this.
    Albert D. Rich
    @AlbertRich
    @halirutan Now my browser (Google Chrome) is redirecting to the lower case version like yours. Apparently, Chrome sees the lower case version of the GitHub Rubi website in its History, and automatically uses that. I tried to delete my history to test my hypothesis, but to no avail...
    But the first time I tried it today, I did get bounced.
    Patrick Scheibe
    @halirutan
    Hmm, that's odd. This is why I tried it from commandline, because there, all the magic that Chrome does is not available.
    Albert D. Rich
    @AlbertRich
    Strange...
    Patrick Scheibe
    @halirutan
    @AlbertRich What really matters is if the DNS can resolve RuleBasedIntegration.org to the correct IP address. You can try https://mxtoolbox.com/DNSLookup.aspx and you'll find that it works.
    Albert D. Rich
    @AlbertRich
    Ok. I guess if I can't reproduce it, it is not a problem...
    Albert D. Rich
    @AlbertRich
    @halirutan Did you get the bcc copy of my email to Jed Stephens relevant to our earlier discussion about parsing Rubi source files to extract Reference, Derivation and Basis documentation to show when displaying integration steps?
    What I am thinking is that the Dewey Decimal number of rules can be ascertained from the nested grouping of cells in the source files.
    Albert D. Rich
    @AlbertRich
    @halirutan Over the years developing Rubi, I have dreamed up numerous Rubi-based projects like the above that I don't have the time or talent to implement. Would it be appropriate to list those projects in the Rubi Wiki to encourage others?
    Patrick Scheibe
    @halirutan
    @AlbertRich I did read it now. I have already thought about that and I believe I have a good solution but it would take some time and testing to see if it can be used.
    The current status is as follows: I'm programmatically opening all you rule-notebooks and extract the code cells an put them into the zipped .m files for the package.
    This all is done in a loop until all your notebooks are processed. Now, let's assume I use a global counter i that is increased with each code cell that I write to the .m files. At the moment of processing, I know which notebook I'm processing and which code-cell I'm processing and I have the global counter i. It is very easy to have a mapping function
    reference[i_] := {notebook, codecell}
    Patrick Scheibe
    @halirutan
    The only slightly non-trivial part is, how I can store i in the definition of the current rule without breaking anything. But let's assume we have this solved, then I can extract i from each rule and with the help of reference I know instantly where it is defined. I know the exact cell inside the notebook.
    So in the best case, I can create for each used rule in Steps[Int[expr, var]] a button, that automatically opens the right notebook and cell where this rule is defined.
    Albert D. Rich
    @AlbertRich
    @halirutan Instead of storing the source file reference in the definition of the rule, store it in a comment before the rule. Then in the show step rule modification pass, include the reference in the rule.
    Patrick Scheibe
    @halirutan
    @AlbertRich When you use modifyRule, you only have the DownValues. Comments were already stripped and you cannot access them. Already thought about a simple solution like this.
    When loading a .m rule file with Get all comments are ignored and you can never access them again.
    Albert D. Rich
    @AlbertRich
    Instead of going to the DownValues, you parse the .m file reading the comments and the rules, inserting the step info and define the rule right then. If the person is NOT modifying rules to show steps, the rule should be clean.
    This would eliminate the ModifyRule pass.
    Patrick Scheibe
    @halirutan
    @AlbertRich Mathematica might reorder some of the Int rules, so the order in which they are loaded might not be the order in which they finally appear in DownValues.
    Albert D. Rich
    @AlbertRich

    @halirutan Forget assuming anything about DownValues. I propose:

    1. Building .m files for the Rubi package like you currently do but with comments giving Reference, Derivation, Basis, and the rule's source file location. E.g. the comment "Derivation: Integration by parts"
    2. If loading without step information, load the .m files as Mathematica normally does. Thus each rule would be free of any step info.
    3. If loading with step information, parse the .m files yourself extracting the comments and rule definition. Then define the rule with all this step info. Thus each rule would only have to be defined once, and there would be no second ModifyRule pass. Yea!

    Obviously this is a long term project, I am not suggesting you do now.

    Patrick Scheibe
    @halirutan
    @AlbertRich Yes, I though about something similar already because modifying the rules when $LoadShowSteps=True is so slow. I have more performant suggestions how to do this, but, yes, this is a long term project.
    Albert D. Rich
    @AlbertRich
    @halirutan Over the years developing Rubi, I have dreamed up numerous Rubi-based projects like the above that I don't have the time or talent to implement. Would it be appropriate to list those projects in the Rubi Wiki to encourage others?
    Patrick Scheibe
    @halirutan
    @AlbertRich Well, I would like to say yes. The truth is that I only have met a handful of people who are willing and who have the abilities to join more complex projects. But it would hurt to describe on the Wiki what future things you would like to see in Rubi.
    Albert D. Rich
    @AlbertRich
    @halirutan I thought the whole purpose of GitHub was collaborative software development.
    I assume you meant "wouldn't"...
    Patrick Scheibe
    @halirutan
    @AlbertRich Yes, what I believe is that we can (a) make it more popular for the interested user and (b) might be able to attract this rare kind of Mathematica expert who is willing to join.
    (a) will definitely be the case. To which degree, I'm not sure.
    Albert D. Rich
    @AlbertRich
    @halirutan You mentioned you were going on vacation soon? Where are you headed?
    Patrick Scheibe
    @halirutan
    (b) I would really like to hope this happens. But I have to say that for instance my Mathematica plugin for IntelliJ has right now 47000 downloads and it is open source from the beginning in 2013. Although I have support from various users that test things and report bugs, the one genious programmer, that knows Mathematica and Java well and jumpes on board is still missing.
    Albert D. Rich
    @AlbertRich
    @halirutan I feel your pain. :smile: My experience with Rubi has been similar.
    Patrick Scheibe
    @halirutan

    @AlbertRich

    @halirutan You mentioned you were going on vacation soon? Where are you headed?

    Yep, in a few hours. We go to Bavaria, you know the part of Germany where beer is even more popular than in the rest of the country :smile:

    Albert D. Rich
    @AlbertRich
    But you don't like beer...
    Patrick Scheibe
    @halirutan
    That's why I mention it.
    Albert D. Rich
    @AlbertRich
    I won't bother you till you return. When will that be?
    Patrick Scheibe
    @halirutan
    @AlbertRich Next week. I hope I can do some things on my laptop. After all it's my vacation too, but with full-time action of four kids, I have to see how this turns out.
    @AlbertRich What do you think? If we make another button on the web-site for the test suite that links to your page, are we then ready to spread it to the world?
    Albert D. Rich
    @AlbertRich
    @halirutan Yup, that would do it.
    Patrick Scheibe
    @halirutan
    @AlbertRich Then I hope we can manage this in the next days.
    Albert D. Rich
    @AlbertRich
    @halirutan Have a great time on vacation. Please email me a family picture at a scenic spot. Aloha from Hawaii, Albert
    Patrick Scheibe
    @halirutan
    @AlbertRich Will do!
    Albert D. Rich
    @AlbertRich
    @halirutan I'm off to my local pub. Bye.
    Patrick Scheibe
    @halirutan
    See you.
    Patrick Scheibe
    @halirutan

    @AlbertRich Hey Albert. As a first step, I would ask Jed for his GitHub name and invite him to our chats. Then we can talk about how much he knows about collaborating through git. In general, everyone can contribute easily even if he is not part of our dev-team which has direct access to the repositories and this is the usual process:

    1. He "clones" our repository, which means nothing more than making a local copy of it through git (git is actually a program that lets you do this)
    2. He makes changes locally and pushes them online to his GitHub.
    3. Then he requests a review so that we have the chance to look if his changes break anything before pulling his additions into our official repository (called a Pull Request).

    This is the usual way and anyone on GitHub knows it, so I'm sure Jed is also familiar with it.

    But first things first and we need to discuss how exactly we implement everything so that it works out in the end.
    If you like, I can write a mail both to you and Jed.
    Albert D. Rich
    @AlbertRich
    @halirutan Thanks for the explanation how GitHub works. Yes, please email Jed and copy me.