<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Good start. <br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">A reasonable way to start would be to
      install the server in gnome so that it works on the XO. This is
      going to be a bit tricky because Sugar on the XO is based on
      Fedora 18. One of the current modules required by pip is not
      supported by Fedora 18. <br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">In considering how I might proceed, I
      decided it would be easiest to install Jupyter on Ubuntu 18.04 and
      use the sucre install of Sugar to build and test the
      'Jupyter-activity' wrapper, pushing off the XO dependency issues.
      <br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">Tony<br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">On 3/30/19 1:49 PM, Muhammad Usman
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAFafk5EAM=nfbFkPwzGe-AO_ap7iU8ju4Si67OvX+31h0y9r-A@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <div>I have personally used jupyter for a long time, so I have a
          fair amount of experience using it.</div>
        <div><br>
        </div>
        <div>As I can see, jupyter-notebook kind of requires the whole
          GSoC period, therefore I would consider it as a separate
          project from the other and write a different proposal for it.</div>
        <div><br>
        </div>
        <div>As for the design of the project, My understanding of going
          about doing the project is:</div>
        <div>- Install jupyter using pip. Install additional libraries
          such as Latex to allow for the rendering of notebook as pdf
          and so on.</div>
        <div>- Start with the jupyter server and modify the server to
          use journal, removable devices along with using the file
          system. </div>
        - Make changes to frontend to display the notebook options
        appropriately.
        <div>- Display each language as a separate notebook option.<br>
          <div>- Write a wrapper around the server controlling the
            starting of server and the shutdown on exiting.</div>
          <div>- Have examples and getting started tutorials.</div>
          <div>- Lastly, have a detailed user documentation. </div>
          <div><br>
          </div>
          <div>Thanks,</div>
          <div>Muhammad Usman</div>
          <div><br>
            <div class="gmail_quote">
              <div dir="ltr" class="gmail_attr">On Sat, Mar 30, 2019 at
                5:09 AM <<a
                  href="mailto:sugar-devel-request@lists.sugarlabs.org"
                  moz-do-not-send="true">sugar-devel-request@lists.sugarlabs.org</a>>
                wrote:</div>
              <blockquote class="gmail_quote" style="margin:0px 0px 0px
                0.8ex;border-left:1px solid
                rgb(204,204,204);padding-left:1ex">Message: 3<br>
                Date: Fri, 29 Mar 2019 16:38:47 +0800<br>
                From: Tony Anderson <<a
                  href="mailto:tony_anderson@usa.net" target="_blank"
                  moz-do-not-send="true">tony_anderson@usa.net</a>><br>
                To: <a href="mailto:sugar-devel@lists.sugarlabs.org"
                  target="_blank" moz-do-not-send="true">sugar-devel@lists.sugarlabs.org</a><br>
                Subject: Re: [Sugar-devel] GSoC: Proposal for "Create
                new activities"<br>
                Message-ID: <<a
                  href="mailto:a3f8d544-a6f6-35be-5fe1-6cc8e138dcd2@usa.net"
                  target="_blank" moz-do-not-send="true">a3f8d544-a6f6-35be-5fe1-6cc8e138dcd2@usa.net</a>><br>
                Content-Type: text/plain; charset=utf-8; format=flowed<br>
                <br>
                The Jupyter Notebook project is of particular interest
                to me.<br>
                <br>
                Over the past several GSOC periods, developers have had
                a problem <br>
                completing their projects within the allotted time. You
                are proposing to <br>
                take on several projects, any one of which is a big load
                for one summer.<br>
                <br>
                If you undertake the Jupyter Notebook project, I would
                hope that is your <br>
                only task for the summer. Completing it in a usable form
                in the GSOC <br>
                period would be a major, noteworthy accomplishment.<br>
                <br>
                The Jupyter Notebook started life as ipython. The
                Jupyter implementation <br>
                supports multiple programming languages (e.g. bash,
                python, web <br>
                (javascript, html5, css), and many others. It can also
                be used to make <br>
                interactive lessons on science and mathematics topics
                independent of <br>
                programming).<br>
                <br>
                The essence of the ipython server is that it accepts a
                url for a file <br>
                (*.ipynb). It then processes this file displaying cells
                and running <br>
                cells interactively based on the requirements of the
                notebook author and <br>
                input from the user.<br>
                <br>
                As an activity, (called for example, Jupyter-activity),
                it should resume <br>
                .ipynb files in the Journal. The browser for this
                activity can be the <br>
                Browse activity (testing to be sure that the WebKit
                browser in the <br>
                Browse activity supports Jupyter). This is unlikely to
                be a <br>
                show-stopper. If executed with start-new, it should
                enable the user to <br>
                designate a notebook to run (among those in the Journal,
                Documents <br>
                folder, or a mounted removable device). It should also
                enable a user to <br>
                create a notebook.<br>
                <br>
                The technology involved in this project is Jupyter. The
                team at Jupyter <br>
                is friendly and helpful, in my experience. I doubt there
                will be an <br>
                significant need to modify the Browse activity. One
                limitation that <br>
                could be addressed en passant is that when Browse is
                resumed, it <br>
                launches a new instance rather than opening a tab in a
                running copy. <br>
                This is OK but seems primitive compared to other
                browsers.<br>
                <br>
                There is a large library online of Jupyter notebooks
                with many <br>
                tutorials. The first step in this project is to become
                familiar with <br>
                these notebooks. Jupyter can be installed on Linux
                distributions via <br>
                Anaconda - but this is overkill for the XO. It can also
                be installed by <br>
                yum (apt for Ubuntu) but better by pip.<br>
                <br>
                The storage available to the XO is extremely limited (XO
                has 1GB, other <br>
                models have 4GB). This means that the Anaconda
                implementation which <br>
                incorporates many additional valuable packages is
                probably too large for <br>
                Sugar on an XO (still over 80% of the systems in the
                wild). Even so, the <br>
                Pip install may need some optional capabilities such as
                Latex and MatLab.<br>
                <br>
                One of the critical parts of an implementation
                frequently gets left to <br>
                the end and then is not done - user documentation.
                Thanks to Gonzalo <br>
                Odiard, Sugar has an excellent documentation capability
                based on Sphinx <br>
                - see <a href="http://help.sugarlabs.org"
                  rel="noreferrer" target="_blank"
                  moz-do-not-send="true">help.sugarlabs.org</a>. The
                'Jupyter-activity' will need documentation <br>
                that meets the needs of primary school students with
                limited computer <br>
                experience and limited skills in Englsih. This could
                include a <br>
                recommended library of Jupyter notebooks which can be
                used on the XO <br>
                (esp. bash, python, and web langauges).<br>
                <br>
                Tony<br>
                <br>
                Tony<br>
                <br>
                On 3/29/19 3:52 PM, James Cameron wrote:<br>
                > Thanks, interesting.<br>
                ><br>
                > Technical comments; Jupyter Notebook Activity, you
                suggest stripping<br>
                > down Browse activity.  You might instead presume
                Browse is present<br>
                > and call it directly.  This is what the Wikipedia
                activity does.  It<br>
                > isn't what the Help activity does.<br>
                ><br>
                > Please also consider the design and user
                requirements input in this<br>
                > closed issue; <a
                  href="https://github.com/sugarlabs/GSoC/issues/13"
                  rel="noreferrer" target="_blank"
                  moz-do-not-send="true">https://github.com/sugarlabs/GSoC/issues/13</a>
                Especially<br>
                > note Jupyter Lab; a richer environment than a
                browser alone.<br>
                ><br>
                > On Thu, Mar 28, 2019 at 06:22:03PM +0530, Muhammad
                Usman wrote:<br>
                >> Hello all!<br>
                >> I am Muhammad Usman. I am sharing my draft
                proposal for Create New Activities<br>
                >> and Write activity in Sugarizer. Please do take
                a look at it and let me know<br>
                >> your thoughts.<br>
                >> [1]<a
href="https://gist.github.com/usmanmuhd/ce60a3dd2c43fd5c5fe5154b5bc18750"
                  rel="noreferrer" target="_blank"
                  moz-do-not-send="true">https://gist.github.com/usmanmuhd/ce60a3dd2c43fd5c5fe5154b5bc18750</a><br>
                >><br>
                >> Regards,<br>
                >> Muhammad Usman<br>
                >><br>
                >> References:<br>
                >><br>
                >> [1] <a
href="https://gist.github.com/usmanmuhd/ce60a3dd2c43fd5c5fe5154b5bc18750"
                  rel="noreferrer" target="_blank"
                  moz-do-not-send="true">https://gist.github.com/usmanmuhd/ce60a3dd2c43fd5c5fe5154b5bc18750</a><br>
                >> _______________________________________________<br>
                >> Sugar-devel mailing list<br>
                >> <a
                  href="mailto:Sugar-devel@lists.sugarlabs.org"
                  target="_blank" moz-do-not-send="true">Sugar-devel@lists.sugarlabs.org</a><br>
                >> <a
                  href="http://lists.sugarlabs.org/listinfo/sugar-devel"
                  rel="noreferrer" target="_blank"
                  moz-do-not-send="true">http://lists.sugarlabs.org/listinfo/sugar-devel</a><br>
                ><br>
                <br>
              </blockquote>
            </div>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
Sugar-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Sugar-devel@lists.sugarlabs.org">Sugar-devel@lists.sugarlabs.org</a>
<a class="moz-txt-link-freetext" href="http://lists.sugarlabs.org/listinfo/sugar-devel">http://lists.sugarlabs.org/listinfo/sugar-devel</a>
</pre>
    </blockquote>
    <p><br>
    </p>
  </body>
</html>