Hi, On 5/08/20 9:43 a. m., tbrunz wrote: >>> Okay, I'll do that. But this brings up a more general question... >>> >>> If I wanted to add a diagram, or maybe a document with equations >> (rendered >>> in LaTex), then a class comment wouldn't work. >>> >>> ...Unless that's intended to be part of the newer format?? >> >> Microdown supports latex via external services (I should check that the >> implementation uses the same cache than the one for pictures). >> For diagram you can use png but we will have to spot glitches. > One more thought on this... I assume you've seen Jupyter Notebooks? > They're starting to see some use where I work (we now have our own > 'enterprise server'). I recently took an intro class to see how it works, > and how to use them. > > How much of a "Jupyter-style" notebook capability would the community be > interested in? By that I mean having the ability to mix 'rich' > documentation with code and data to produce interactive 'notebooks' with > similarities to what Jupyter does -- but simpler! Jupyter is much too > complicated...
I can't speak for the wider community, but I think that there is some interest as we have 3 Smalltalk interactive notebooks alternatives. Two of them where mentioned as a long talks [1][2] in the last ESUG and Grafoscopio was presented there also as a speed talk (someday I need to make a proper ESUG long talk, but being self funded means that my participation has been always confirmed in last moments). I share your concern about Jupyter being overcomplicated and in fact I started Grafoscopio in part out of my frustration with the incidental complexity in the Python notebook ecosystem (see [3]). We can be more lean and agile. [1] https://www.slideshare.net/esug/polyglot-notebooks-with-squeaksmalltalk-on-the-graalvm [2] https://www.slideshare.net/esug/building-a-scientific-workbench-in-pharo [3] http://mutabit.com/offray/static/blog/output/posts/grafoscopio-idea-and-initial-progress.html One of the differences of Grafoscopio with other Smalltalk notebooks is that is has an older diverse community (since 2015), beyond academia and software developers, including activists, journalists, librarians, philosophers, designers, among others. A key concern is to balance practical choices in such communities with the PhD research that created Grafoscopio (which was on Design and Creation with immersive community research). For example a simple extensible format to exchange Grafoscopio notebooks was an early concern and for that I used the excellent STON format to mix documentation markup (Markdown) and Pharo code. Also I bridged external tools (Pandoc, Lua) to make format conversions (Markdown to LaTeX, HTML and PDF). The only other Smalltalk notebook I know that has a notebook format is Documenter's[4] Xdoc, which is a compressed folder mixing Pillar, JSON, txt and external files referred in the Pillar document. Our approach for that composed documents is to use Fossil [5], so such composed document or any collection of documents in fact is just a self contained Fossil repository, adding history, web interface and collaboration, while keeping documents self contained and storage simple and portable. It's aligned with ideas of SQLite as and application format[5a] and the Panama Papers 2016 prototypes [6][6a] even predate the idea of Fossil as a repository document[5b]. [4] https://gtoolkit.com/components/documenter/ [5] https://fossil-scm.org/ [5a] https://www.pgcon.org/2014/schedule/attachments/319_PGCon2014OpeningKeynote.pdf [6] https://mutabit.com/offray/blog/en/entry/panama-papers-1 [6a] https://mutabit.com/repos.fossil/panama-papers/dir [5b] https://fossil-scm.org/forum/forumpost/2ac0171524 What I want to point is that different approaches to rich interactive documentation related with Pharo exist and they're exploring interesting alternative spaces beyond what Jupyter has done, despite of lacking the maturity, momentum and/or visibility behind Jupyter's. Scientific Workbench, Documenter, or polyglot notebooks for sure are providing valuable explorations and would be nice to be more aware of each others work and approaches. > What you describe for enhanced comments sounds like a step in that > direction... Obviously Pharo is already oriented toward mixing code and > data in one document, and enhancing the comments moves it closer to a > notebook with richer documentation possibilities. > > So it seems to me that generalizing this "enhanced document capability" and > making it more prominent (such as giving it its own type of window, rather > than it being a browser pane tied to the code?) would take it closer yet to > realizing a general, flexible "Pharo Notebooks" concept. > > My understanding is that Offray's Grafoscopio is essentially what I'm > describing, but maybe more oriented to data analysis & presentation..?? (He > can say better than I, as I'm not sure how accurate that is.) I am thinking > of something that would include that, but maybe be more general-purpose. In Grafoscopio, interactive notebooks play an essential role with their own window and usage metaphor (document as an interactive tree). When I started, microdown was not in the radar and I would like explore further integration with it, instead of relaying on (excellent) Pandoc for format conversion. I have scripted Pandoc with Lua and is a pretty powerful combination and an interesting language, but nothing beats the Pharo's live coding experience and I would like to have that also for document exporters and (pre)processors. I think that Grafoscopio is already general concept-purpose enough. I wrote the Grafoscopio manual[7] in Pharo. We have done other non-coding and visualization documents on it, like porting the Data Journalism Handbook[8][8a] and Data Feminism Book[9][9a] to our pocket infrastructures. [7] https://mutabit.com/repos.fossil/grafoscopio/uv/Docs/En/Books/Manual/manual.pdf [8] https://mutabit.com/repos.fossil/mapeda/doc/tip/intro.md [8a] https://mutabit.com/repos.fossil/mapeda/uv/mapeda.pdf [9] https://mutabit.com/repos.fossil/datafem/ [9a] https://mutabit.com/repos.fossil/datafem/uv That being said, Grafoscopio was the "first real app" I ever did. The one that allowed me to go from scripting and formal modelling to programming and development. Its development has been directed by necessity and I have conceptual gaps and rookie code here and there. Development has been improved as I learn more, and I have being fortunate enough to have the attention and support from several community members, from testing and installing, to answering newbie questions, to my PhD internship, to bug reporting and even one offered to pair program with me (but I was too newbie, non-native speaker and shy to accept at that moment). Our last collaborator is Santiago Bragragnolo and he has been working on some refactoring. August will be kind of busy for me until 21th, but I would gladly be more involved with Grafoscopio after and meanwhile, retaking slowly some workshops and solving bugs. > > Part of this idea is to feature a "semi-automated" subset of Spec2 that > makes it easier to get nice graphical UIs in a notebook fashion -- but does > not require as much depth of understanding Spec2. (All of Spec2 allows > anyone to build anything.. but not everyone needs to build so much..? This > is the value of frameworks and selectable motifs, yes?) > > Could what I'm describing be a way for everyone to step easily into Spec2 > when its full flexibility for making GUIs isn't needed (yet)? By this I'm > implying code generators that create common/typical Spec2 framework classes > & methods that would make up the front-end of the 'documentation' element of > "Pharo Notebooks". Pharo being Pharo, one could then customize further... My idea was to use a "self referential system" to explore the question about "How can we change the digital artifacts that change us?", from the perspective of a PhD in design and creation (not in computer science). But the idea was to create/introduce a tool inside a community (Grafoscopio) see how the community learn such tool and was able to change it. Interactive notebooks was my bridge to approach Pharo to non-coders. We are still far away of changing the tool itself, as Pharo and Grafoscopio has been kind of behind scenes in the projects we do and the more visible part has been documentation and a little bit of scripting. But I hope that the Indie Web workshops talked in other thread, make more visible the coding and scripting part so people can use it to customize their web sites, then notebooks and, at some point Grafoscopio or Pharo. The idea is to use interactive notebooks to automatize and customize Pharo to user needs and make such learning a bridge to customize Pharo. > Because "it's always easier to edit something than to create from a blank > page", yes? > > I can see Pharo taking away "market share" from Jupyter Notebooks, by being > simpler and easier to work with. Data + Code + Document: All three elements > being "live" and interactive. Pharo has the first two.. What about the > third? You could check the "Data continuum environment: data <-> queries <-> code <-> visuals <-> docs" of the Panama Papers blog post [10], that points in the same direction. [10] https://mutabit.com/offray/blog/en/entry/panama-papers-1 Cheers, Offray