I'd really love to use Pharo this way

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

I'd really love to use Pharo this way

Jose San Leandro
Hi,

I've come across this new attempt to bring Literate Programming to the masses.


It all seem to come from Jupyter Notebook.

I'd love to build something like that in Pharo, but I currently lack the skills needed. Any suggestions on how to start? Would you use Seaside, Pillar, ...?
Reply | Threaded
Open this post in threaded view
|

Re: I'd really love to use Pharo this way

kilon.alios
I would probably use Jupyter through Atlas from Pharo. 

I think Grafoscopio may be the Pharo tool that is closest to this approach, so give it a try and assist the main developer to improve it. 

Personally I am more a visual coding guy which is what I am currently investigating and coding for. 

On Mon, Jan 23, 2017 at 4:43 PM Jose San Leandro <[hidden email]> wrote:
Hi,

I've come across this new attempt to bring Literate Programming to the masses.


It all seem to come from Jupyter Notebook.

I'd love to build something like that in Pharo, but I currently lack the skills needed. Any suggestions on how to start? Would you use Seaside, Pillar, ...?
Reply | Threaded
Open this post in threaded view
|

Re: I'd really love to use Pharo this way

webwarrior
In reply to this post by Jose San Leandro
No, Eve is not "attempt to bring Literate Programming to the masses". It is an attempt at making programming daily tasks and small tools a lot simpler and easier, expecially for non-programmers (scientists, analysts, etc.).

It took many forms in the past, including visual coding, Excel-like tables, etc. I don't know if its current form will be the final one.

Foundations of Eve's current form are storing all data in a global relational database in form of tuples (records) and reactive programming. This greatly simplifies a lot of things, but I guess the performance cost will be great too.
Literate programming is just one of the features, and I'd say a minor one.
Reply | Threaded
Open this post in threaded view
|

Re: I'd really love to use Pharo this way

Offray Vladimir Luna Cárdenas-2
In reply to this post by Jose San Leandro
Hi Jose,

I'm building something that has ideas borrowed from Jupyter notebook[a],
Leo Editor[b] and Pharo/Smalltalk and few other original ones. The more
I see the connections between stuff like Eve[1], org-mode[2], Jupyter
Lab[3], I think that the time for literate computing[4] (a development
beyond literal programming), reproducible research and live coding is
coming.

[a] http://jupyter.org/
[b] http://leoeditor.com/
[1]
https://hackernoon.com/smalltalk-and-protein-programming-4da245ac93e2#.2riwbeeia
[2] https://www.jstatsoft.org/article/view/v046i03
[3] http://jupyterlab.github.io/jupyterlab/
[4]
http://blog.jupyter.org/2015/07/07/project-jupyter-computational-narratives-as-the-engine-of-collaborative-data-science/

These ideas are about expanding programming beyond programmers, for
other professionals and authors that need to use computational thinking
to tackle and talk about complex issues and themes. My approach is that
these authors are going to use document as the central metaphor for
their work (in a similar way to Mathematica notebooks) and that's why
Grafoscopio is using the notebook as the organizing concept.
Grafoscopio's interactive notebooks are tree-like documents, and soon
you will be able to create custom tags to traverse them, and produce
several outputs, from a single document.

Having Pharo as a base for the Grafoscopio development brings a powerful
environment to crystallize and explore several of the literate computing
ideas. For example, Eve's idea of "programming without order" is already
possible in Pharo (of course in both environments, you will be send to
the debugger to define what is missing). Also you can use document as
the central metaphor for organizing thinking (not classes, or protocols,
or messages) while enjoying of a continuous environment to connect
documents with Domain Specific Languages made with this "classical"
objects thinking.

Grafoscopio is my first "app" and the one I made to learn
Pharo/Smalltalk. If you are interested in exploring the literate
computing ideas in Pharo, you're welcomed to our community. I can be
your peer teach what I have learned so far, and learn with you. We have
a low traffic Spanish mailing list[5], but we can handle English there
also (or in this mailing list), and our fossil repository for
documentation and issues[6].

[5] http://mutabit.com/grafoscopio/index.en.html#contacto
[6] http://mutabit.com/repos.fossil/grafoscopio/

Now I'm improving the English documentation (we have a local Spanish
first approach for documentation) so you will have a better introduction
to Grafoscopio, its usage and its community. I'll notify the community
when is done.

Cheers,

Offray

On 23/01/17 09:42, Jose San Leandro wrote:

> Hi,
>
> I've come across this new attempt to bring Literate Programming to the
> masses.
>
> http://www.witheve.com/
>
> It all seem to come from Jupyter Notebook.
>
> I'd love to build something like that in Pharo, but I currently lack
> the skills needed. Any suggestions on how to start? Would you use
> Seaside, Pillar, ...?


Reply | Threaded
Open this post in threaded view
|

Re: I'd really love to use Pharo this way

SergeStinckwich
On Wed, Jan 25, 2017 at 10:29 PM, Offray Vladimir Luna Cárdenas
<[hidden email]> wrote:

> Hi Jose,
>
> I'm building something that has ideas borrowed from Jupyter notebook[a], Leo
> Editor[b] and Pharo/Smalltalk and few other original ones. The more I see
> the connections between stuff like Eve[1], org-mode[2], Jupyter Lab[3], I
> think that the time for literate computing[4] (a development beyond literal
> programming), reproducible research and live coding is coming.
>
> [a] http://jupyter.org/
> [b] http://leoeditor.com/
> [1]
> https://hackernoon.com/smalltalk-and-protein-programming-4da245ac93e2#.2riwbeeia
> [2] https://www.jstatsoft.org/article/view/v046i03
> [3] http://jupyterlab.github.io/jupyterlab/
> [4]
> http://blog.jupyter.org/2015/07/07/project-jupyter-computational-narratives-as-the-engine-of-collaborative-data-science/

I'm currently using Jupyter notebook with some of my students for
doing simulation of dynamical systems and they love it I guess. I'm
not a big fan of the UI because it still looks like a web page and the
interaction is still somewhat limited compared to what you can do with
Pharo.
I'm also a big fan of org-mode and even more powefull than Jupyter
notebooks because you can mix different computer languages at the same
time and there is a real support for folding. If you remember I have
done a small show us "your project" last ESUG about some experience I
have done about be able to run Pharo code inside org-mode.

At the moment, we are quite interested in my research group to be able
to a kind of literate style of computing for modeling and simulation
of complex systems like simulation of epidemiology models. This is
something we can do with Jupyter but would be even more interesting in
the context of Pharo.

Eve looks also very interesting but I have to read more about this one.

> These ideas are about expanding programming beyond programmers, for other
> professionals and authors that need to use computational thinking to tackle
> and talk about complex issues and themes. My approach is that these authors
> are going to use document as the central metaphor for their work (in a
> similar way to Mathematica notebooks) and that's why Grafoscopio is using
> the notebook as the organizing concept. Grafoscopio's interactive notebooks
> are tree-like documents, and soon you will be able to create custom tags to
> traverse them, and produce several outputs, from a single document.
>
> Having Pharo as a base for the Grafoscopio development brings a powerful
> environment to crystallize and explore several of the literate computing
> ideas. For example, Eve's idea of "programming without order" is already
> possible in Pharo (of course in both environments, you will be send to the
> debugger to define what is missing). Also you can use document as the
> central metaphor for organizing thinking (not classes, or protocols, or
> messages) while enjoying of a continuous environment to connect documents
> with Domain Specific Languages made with this "classical" objects thinking.
>
> Grafoscopio is my first "app" and the one I made to learn Pharo/Smalltalk.
> If you are interested in exploring the literate computing ideas in Pharo,
> you're welcomed to our community. I can be your peer teach what I have
> learned so far, and learn with you. We have a low traffic Spanish mailing
> list[5], but we can handle English there also (or in this mailing list), and
> our fossil repository for documentation and issues[6].
>
> [5] http://mutabit.com/grafoscopio/index.en.html#contacto
> [6] http://mutabit.com/repos.fossil/grafoscopio/
>
> Now I'm improving the English documentation (we have a local Spanish first
> approach for documentation) so you will have a better introduction to
> Grafoscopio, its usage and its community. I'll notify the community when is
> done.

I really like what you done until now with Grafoscopio and I will try
to help and use it for own work in the future.
I have to look to Fossil. Is it possible to linked in someways to git ?

I was thinking that maybe that I will submit a gsoc proposal to have
some support in Jupyter notebooks for Pharo.
Apparently this not that difficult to built a basic support and after
that we can built some elaborate on top of it.
What do you about that ?

Regards,
--
Serge Stinckwich
UCBN & UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/

Reply | Threaded
Open this post in threaded view
|

Re: I'd really love to use Pharo this way

Offray Vladimir Luna Cárdenas-2
Hi,


On 26/01/17 05:43, Serge Stinckwich wrote:

> On Wed, Jan 25, 2017 at 10:29 PM, Offray Vladimir Luna Cárdenas
> <[hidden email]> wrote:
>> Hi Jose,
>>
>> I'm building something that has ideas borrowed from Jupyter notebook[a], Leo
>> Editor[b] and Pharo/Smalltalk and few other original ones. The more I see
>> the connections between stuff like Eve[1], org-mode[2], Jupyter Lab[3], I
>> think that the time for literate computing[4] (a development beyond literal
>> programming), reproducible research and live coding is coming.
>>
>> [a] http://jupyter.org/
>> [b] http://leoeditor.com/
>> [1]
>> https://hackernoon.com/smalltalk-and-protein-programming-4da245ac93e2#.2riwbeeia
>> [2] https://www.jstatsoft.org/article/view/v046i03
>> [3] http://jupyterlab.github.io/jupyterlab/
>> [4]
>> http://blog.jupyter.org/2015/07/07/project-jupyter-computational-narratives-as-the-engine-of-collaborative-data-science/
> I'm currently using Jupyter notebook with some of my students for
> doing simulation of dynamical systems and they love it I guess. I'm
> not a big fan of the UI because it still looks like a web page and the
> interaction is still somewhat limited compared to what you can do with
> Pharo.
> I'm also a big fan of org-mode and even more powefull than Jupyter
> notebooks because you can mix different computer languages at the same
> time and there is a real support for folding.

Yes, I am not a big fan of Jupyter notebook neither. Sounds kind of
mean, but the actual interface is like a glorified REPL log, powered by
HTML output, with a linear sequence of single input/output pair of
cells. So notebooks authors have two options: split the document into
several files, loosing the general overview of the document or a single
long "reel" of REPL log, with too much detail at the same time (I have
experience this by myself [1]). I think that org-mode and interactive
outliners (as exemplified in [2][3])  are better suited to manage
exploratory literate computing, interactive documentation, and the
"emergent" order that writing implies.

[1] http://mutabit.com/repos.fossil/piamed/doc/tip/Afiche/narrativa.png
[2] https://youtu.be/dljNabciEGg
[3] http://xiki.org/screencasts/


> If you remember I have
> done a small show us "your project" last ESUG about some experience I
> have done about be able to run Pharo code inside org-mode.

Yes, I remember :-). I was also the "USB guy" in the orange cap team
:-P, so I was taking care of logistics and didn't see as much as I would
like of the event :-/

>
> At the moment, we are quite interested in my research group to be able
> to a kind of literate style of computing for modeling and simulation
> of complex systems like simulation of epidemiology models. This is
> something we can do with Jupyter but would be even more interesting in
> the context of Pharo.
>
> Eve looks also very interesting but I have to read more about this one.
[...]
> I really like what you done until now with Grafoscopio and I will try
> to help and use it for own work in the future.

Because of the uniform, moldable and integrated nature of Pharo, I think
that Grafoscopio, even in its early stages, prototypes stuff that
others, like Jupyter Lab, are trying to reach, for example trying to go
beyond the notebook and having a extensible computing environment
available to the notebooks. With Grafoscopio we already have that
(thanks to being "inside" Pharo).

Maybe a first try to integrate our work could be to have some Kendrick
notebook in Grafoscopio. I have to fix some important bugs, but
Grafoscopio is already usable for this kind of scenario and, of course,
any help is more that welcomed!

(There is still a nasty bug about playgrounds that produce text output
replacing the playground code, but I hope to fix it soon).

> I have to look to Fossil. Is it possible to linked in someways to git ?

Yes, there is some fossil to git bridge. I will try to give support to
fossil first, to have a smooth integrated experience, but that doesn't
preclude the use of other DVCS to work with.

> I was thinking that maybe that I will submit a gsoc proposal to have
> some support in Jupyter notebooks for Pharo.
> Apparently this not that difficult to built a basic support and after
> that we can built some elaborate on top of it.
> What do you about that ?
>
> Regards,

I would like better a GSoC proposal to improve Grafoscopio, as a
literate computing environment for Pharo. Jupyter is popular but pretty
limited in terms of the notebooks document model and the moldabiliy of
the environment or the live coding capabilities (but it's improving).
For me, the big advantage of Jupyter or Org-mode is their language
agnostic architecture, while Grafoscopio is focused on Pharo/Smalltalk.
But language specific computing suites (like RStudio) are still
appealing for projects like GSoC.

A Grafoscopio GSoC proposal would try to improve several items:

- User interface and functionality: Keyboard shorcuts, GUI bugs,
integrated pdf export (via pandoc/LaTeX), integrated asynchronous
lightweight collaboration on documents (via fossil DVCS).
- Better test coverage and improving code quality in general.

GSoC rules doesn't allow being a mentor and a student, so I can not
mentor myself (despite of me kind of doing so with this project :-P). I
would really like to have someone mentoring me this project, helping me
with my knowledge gaps, Spec specific issues, coding in general.

So, would anyone of the seasoned Pharoers like to mentor this project?
I'm pretty self motivated, but having some guide for this summer to
improve my coding skills with a valuable project for the community will
make a big difference.

Cheers,

Offray

Reply | Threaded
Open this post in threaded view
|

Re: I'd really love to use Pharo this way

Ben Coman
On Fri, Jan 27, 2017 at 3:36 AM, Offray Vladimir Luna Cárdenas
<[hidden email]> wrote:

> Hi,
>
>
>
> On 26/01/17 05:43, Serge Stinckwich wrote:
>>
>> On Wed, Jan 25, 2017 at 10:29 PM, Offray Vladimir Luna Cárdenas
>> <[hidden email]> wrote:
>>>
>>> Hi Jose,
>>>
>>> I'm building something that has ideas borrowed from Jupyter notebook[a],
>>> Leo
>>> Editor[b] and Pharo/Smalltalk and few other original ones. The more I see
>>> the connections between stuff like Eve[1], org-mode[2], Jupyter Lab[3], I
>>> think that the time for literate computing[4] (a development beyond
>>> literal
>>> programming), reproducible research and live coding is coming.
>>>
>>> [a] http://jupyter.org/
>>> [b] http://leoeditor.com/
>>> [1]
>>>
>>> https://hackernoon.com/smalltalk-and-protein-programming-4da245ac93e2#.2riwbeeia
>>> [2] https://www.jstatsoft.org/article/view/v046i03
>>> [3] http://jupyterlab.github.io/jupyterlab/
>>> [4]
>>>
>>> http://blog.jupyter.org/2015/07/07/project-jupyter-computational-narratives-as-the-engine-of-collaborative-data-science/
>>
>> I'm currently using Jupyter notebook with some of my students for
>> doing simulation of dynamical systems and they love it I guess. I'm
>> not a big fan of the UI because it still looks like a web page and the
>> interaction is still somewhat limited compared to what you can do with
>> Pharo.
>> I'm also a big fan of org-mode and even more powefull than Jupyter
>> notebooks because you can mix different computer languages at the same
>> time and there is a real support for folding.
>
>
> Yes, I am not a big fan of Jupyter notebook neither. Sounds kind of mean,
> but the actual interface is like a glorified REPL log, powered by HTML
> output, with a linear sequence of single input/output pair of cells. So
> notebooks authors have two options: split the document into several files,
> loosing the general overview of the document or a single long "reel" of REPL
> log, with too much detail at the same time (I have experience this by myself
> [1]). I think that org-mode and interactive outliners (as exemplified in
> [2][3])  are better suited to manage exploratory literate computing,
> interactive documentation, and the "emergent" order that writing implies.
>
> [1] http://mutabit.com/repos.fossil/piamed/doc/tip/Afiche/narrativa.png
> [2] https://youtu.be/dljNabciEGg
> [3] http://xiki.org/screencasts/
>
>
>> If you remember I have
>> done a small show us "your project" last ESUG about some experience I
>> have done about be able to run Pharo code inside org-mode.
>
>
> Yes, I remember :-). I was also the "USB guy" in the orange cap team :-P, so
> I was taking care of logistics and didn't see as much as I would like of the
> event :-/
>
>>
>> At the moment, we are quite interested in my research group to be able
>> to a kind of literate style of computing for modeling and simulation
>> of complex systems like simulation of epidemiology models. This is
>> something we can do with Jupyter but would be even more interesting in
>> the context of Pharo.
>>
>> Eve looks also very interesting but I have to read more about this one.
>
> [...]
>>
>> I really like what you done until now with Grafoscopio and I will try
>> to help and use it for own work in the future.
>
>
> Because of the uniform, moldable and integrated nature of Pharo, I think
> that Grafoscopio, even in its early stages, prototypes stuff that others,
> like Jupyter Lab, are trying to reach, for example trying to go beyond the
> notebook and having a extensible computing environment available to the
> notebooks. With Grafoscopio we already have that (thanks to being "inside"
> Pharo).
>
> Maybe a first try to integrate our work could be to have some Kendrick
> notebook in Grafoscopio. I have to fix some important bugs, but Grafoscopio
> is already usable for this kind of scenario and, of course, any help is more
> that welcomed!
>
> (There is still a nasty bug about playgrounds that produce text output
> replacing the playground code, but I hope to fix it soon).
>
>> I have to look to Fossil. Is it possible to linked in someways to git ?
>
>
> Yes, there is some fossil to git bridge. I will try to give support to
> fossil first, to have a smooth integrated experience, but that doesn't
> preclude the use of other DVCS to work with.
>
>> I was thinking that maybe that I will submit a gsoc proposal to have
>> some support in Jupyter notebooks for Pharo.
>> Apparently this not that difficult to built a basic support and after
>> that we can built some elaborate on top of it.
>> What do you about that ?
>>
>> Regards,
>
>
> I would like better a GSoC proposal to improve Grafoscopio, as a literate
> computing environment for Pharo.

This sounds like a good idea.  If the project proposal compares and
contrasts with the competitors,
as well as showing why its not a "me-too" project,
this would highlight the advantages of Pharo's approach and why its a
worthwhile ecosystem for GSoC to support.

cheers -ben

> Jupyter is popular but pretty limited in
> terms of the notebooks document model and the moldabiliy of the environment
> or the live coding capabilities (but it's improving). For me, the big
> advantage of Jupyter or Org-mode is their language agnostic architecture,
> while Grafoscopio is focused on Pharo/Smalltalk. But language specific
> computing suites (like RStudio) are still appealing for projects like GSoC.
>
> A Grafoscopio GSoC proposal would try to improve several items:
>
> - User interface and functionality: Keyboard shorcuts, GUI bugs, integrated
> pdf export (via pandoc/LaTeX), integrated asynchronous lightweight
> collaboration on documents (via fossil DVCS).
> - Better test coverage and improving code quality in general.
>
> GSoC rules doesn't allow being a mentor and a student, so I can not mentor
> myself (despite of me kind of doing so with this project :-P). I would
> really like to have someone mentoring me this project, helping me with my
> knowledge gaps, Spec specific issues, coding in general.
>
> So, would anyone of the seasoned Pharoers like to mentor this project? I'm
> pretty self motivated, but having some guide for this summer to improve my
> coding skills with a valuable project for the community will make a big
> difference.
>
> Cheers,
>
> Offray
>

Reply | Threaded
Open this post in threaded view
|

Re: I'd really love to use Pharo this way

Offray Vladimir Luna Cárdenas-2


On 26/01/17 19:40, Ben Coman wrote:

>
>> I would like better a GSoC proposal to improve Grafoscopio, as a literate
>> computing environment for Pharo.
> This sounds like a good idea.  If the project proposal compares and
> contrasts with the competitors,
> as well as showing why its not a "me-too" project,
> this would highlight the advantages of Pharo's approach and why its a
> worthwhile ecosystem for GSoC to support.
>
> cheers -ben

Thanks Ben. I will finish some English documentation for Grafoscopio and
write a draft with those comparisons and advantages.

Cheers,

Offray