[ann] gt documenter
by Tudor Girba
Hi,
We are happy to announce a new leap of GToolkit Documenter, the tool for manipulating live documents directly in the development environment:
https://github.com/feenkcom/gtoolkit-documenter
Documenter is part of the second generation GToolkit project, it is based on Bloc and works with the latest Pillar. It is mainly developed by Juraj Kubelka.
Attached you can see a preview of how documents look like:
At its core it offers a live editor for manipulating Pillar documents. The interaction happens seamlessly directly in the text editor, and it can be combined with different types of previews to serve several classes of use cases:
• code documentation
• tutorials
• interactive data notebook
Code documentation
----
Documenter complements the GToolkit Examples engine to redefine code documentation. When practicing example-driven development, examples get written as part of the typical development. Once examples exist, they can be quickly put together in a document to form documentation. For example, the linked picture shows the comment of a class containing a visual explanation:
https://twitter.com/feenkcom/status/973899862482866176
You can see a live example of documentation by inspecting the following snippet:
GtDocumenter editorForText: BrToggleExamples comment.
Tutorials:
----
Documenter offers a new experience of writing tutorials for Pharo by enabling the creation and embedding of Epicea change sessions directly in the document. For example, take a look at the following animation:
https://twitter.com/feenkcom/status/999975333972541440
The document shows a method on top, and a change preview at the bottom showing both the code and the associated diff to the state from the image. Applying the change updates both the change view (no more diff), and method preview. This speeds up significantly the process of going through a tutorial. Furthermore, given that now the document shows the diff to the current image, the reader can safely explore alternative scenario and come back to the tutorial at any time without losing the overview.
The size of the preview can also be adjusted live:
https://twitter.com/feenkcom/status/1001152789874167808
https://twitter.com/feenkcom/status/1001407762285375490
You can see a live tutorial by inspecting:
IceRepository repositoriesLocation / 'feenkcom'/ 'gtoolkit-examples' / 'doc' / 'tutorial' / 'examples-tutorial.pillar’.
Interactive data notebook:
----
A Documenter document can also be used as an interactive notebook. Internally it essentially acts as a playground:
• it supports defining variables in code snippets, and
• the execution of code shows an embedded inspector.
For example:
https://twitter.com/feenkcom/status/996310432225820672
https://twitter.com/feenkcom/status/1002851190475026432
An example, can be seen by inspecting:
IceRepository repositoriesLocation / 'feenkcom'/ 'gtoolkit' / 'doc' / 'gtoolkit' / 'gtoolkit.pillar'.
As always, please do let us know what you think.
Enjoy,
The feenk team
--
www.tudorgirba.com
www.feenk.com
"If you can't say why something is relevant,
it probably isn't."
4 years, 11 months
Beginner questions re. Moose analysis of C++ source code
by smallglt
I'm totally new to Moose (and effectively new to Smalltalk) and need a
pointer or two on analyzing an old application that was developed in Visual
C++ 2006. I have the complete sources, including the Visual Studio project
files, resource files, etc.
I've already got Pharo and Moose installed on my Windows system and have
been able to get the Moose playground to run, but that's about it. So far I
don't know how to get Moose to do anything else.
My initial goal is just to get this source code "loaded" into Moose.
I've seen references to VerveineC-Cpp and Famix-C but no explanation of how
to use either one.
I haven't had an opportunity yet to try VerveineC-Cpp on Windows 10 at my
office.
On my personal Mac (i.e. not on the office system where I actually need to
do this work) I installed Eclipse Oxygen and tried to follow the very
limited directions to install VerveineC-Cpp, but Eclipse complains about the
build path.
Maybe Eclipse Mars is needed instead of Jupiter? It also looks like I might
need to use the old, deprecated Java V1.7 for MacOS, instead of a current
version of Java? (Hopefully I won't need an older version of MacOS. I'm
running Sierra V10.12 with all updates as of this writing.)
Maybe that would all be more straightforward somehow on Windows?
(I also have Linux at work, if that would be any easier.)
As for Famix-C, I see that it appears to be "built in" to the Moose
environment that I installed at work and at home. But I don't know how to
make it do anything.
I greatly appreciate any hints or suggestions. I'm very eager to begin using
Moose and to (re)learn Smalltalk, especially in the Pharo environment which
looks really fascinating.
(Trivia: Back in the early 1990's or thereabouts, while taking a graduate
course in operating system design, I learned enough Smalltalk to get me
started on writing an emulator for the simple machine specification the
professor gave us. But a single academic quarter, roughly three months, just
wasn't enough time to both learn a totally new, object oriented programming
paradigm /and/ use it to complete such a program, while also holding down a
full time job and leading a regular life. :-) But I did write a good paper
explaining my ideas and how far I'd actually been able to carry them. The
professor was understanding, liked my concept, and I managed to get a B+
grade for the course.)
--
Sent from: http://forum.world.st/Moose-f1310756.html
4 years, 11 months
feenk log
by Tudor Girba
Hi,
We were a bit silent the last couple of months. Quite a bit happened in the meantime, so here is a summary (for more fine grained announcements, you can follow us on Twitter):
----
Bloc
----
- Scrolling. We finally have a good scrolling support:
https://twitter.com/feenkcom/status/991690465224331264
This might sound like a trivial feature, but it turns out it is not. We had a bug that forced us to rethink the support quite deeply in order to be able to debug it. To do this, we now can simulate time in Bloc, which is really cool:
https://twitter.com/feenkcom/status/989797367523233797
https://twitter.com/feenkcom/status/988753142299938817
(as a side note, the bug we fought with was the last
- Pannable element is a combination of a scrollable element with a scalable element, and it offers the possibility either to zoom in/out + scroll, or to fit screen and resize when the parent resizes.
- PDF, SVG, PNG, JPG export (based on the underlying Moz2D support):
https://twitter.com/feenkcom/status/976580153802358786
https://twitter.com/feenkcom/status/976578060429484032
- Better curve support:
https://twitter.com/feenkcom/status/990967109193781249
https://twitter.com/feenkcom/status/990971530615107584
- Better debugging support for understanding bounds:
https://twitter.com/feenkcom/status/989138457288167424
----
Brick
----
- We now have simple list and columned list widgets. The list is both fast and scalable and supports rows of variable heights:
https://twitter.com/feenkcom/status/984744251920658432
https://twitter.com/feenkcom/status/984143821192744961
- Basic tab widget:
https://twitter.com/feenkcom/status/974420432240685062
- Looks: a mechanism for specifying element-specific composition and interaction.
----
GT
----
- Documenter saw some major improvements. Just a reminder, Documenter is the tool that enables live programming and previews directly within Pillar documents.
We now have a capability similar to notebooks like Jupyter:
https://twitter.com/feenkcom/status/996310432225820672
We use it extensively to document our code. For example, here is a tutorial about playing with looks in Bloc:
https://twitter.com/feenkcom/status/973899862482866176
And we can also express whole tutorials based on Epicea:
https://twitter.com/feenkcom/status/999975333972541440
- Diagrammer. We now have better editing support for detailed things such as arrow head:
https://twitter.com/feenkcom/status/976341449267531776
While Diagrammer is apparently a tool for diagrams, it has a rather generic design that can be utilized for all sorts of use cases. For example, one side effect is that now all elements can be visually edited:
https://twitter.com/feenkcom/status/982656456968241152
- Mondrian: Using the new pannable element, we can now zoom in/out and scroll, and we can also set element to fit screen. We can also drag elements around.
- Inspector: we now have an initial support for multiple views associated with an object. The support is similar to the one from the current inspector.
Have fun,
The feenk team
--
www.tudorgirba.com
www.feenk.com
"What is more important: To be happy, or to make happy?"
5 years
CFP - IWST 2018 - International Workshop on Smalltalk Technologies
by Anne Etien
Hi Smalltalkers,
Just a kind reminder, deadline is in two weeks.
We are waiting for your submission!
Loic and Anne
CFP - IWST 2018 - International Workshop on Smalltalk Technologies
[Please accept our apologies if you receive multiple copies of this call]
[Please send to interested colleagues / mailing-lists]
************************************************************************************************************
CALL FOR PAPERS
IWST 2018 — International Workshop on Smalltalk Technologies
http://esug.org/wiki/pier/Conferences/2018/International-Workshop-IWST_18 <http://www.esug.org/wiki/pier/Conferences/2017/International-Workshop-IWS...>
Cagliari, Italy; Between September 10th and 14th, 2018
************************************************************************************************************
-------------------
Goals and scopes
-------------------
The goals of the workshop is to create a forum around advances or experience in Smalltalk and to trigger discussions and exchanges of ideas. The topics of your paper can be on all aspect of Smalltalk, theoretical as well as practical. Participants are invited to submit research articles or industrial papers. This year we want to open two different tracks: one research track and one industrial track with less scientific constraints.
We expect papers of three kinds:
Short position papers describing emerging ideas
Long research papers with deeper description of experiments and of research results.
Industrial papers with presentation of real and innovative Smalltalk applications; this kind of paper should enlighten why Smalltalk is really appropriate for your application.
We will not enforce any length restriction.
--------------------
Important Dates
--------------------
Submission deadline: June 15th, 2018
Notification deadline: July 10th, 2018
Workshop : between September 10th and 14th, 2018
All accepted papers will be published in ACM DL (To be confirmed)
-------------------
Topics
-------------------
We welcome contributions on all aspects, theoretical as well as practical, of Smalltalk related topics such as:
-Aspect-oriented programming,
-Design patterns,
-Experience reports,
-Frameworks,
-Implementation, new dialects or languages implemented in Smalltalk,
-Interaction with other languages,
-Meta-programming and Meta-modeling,
-Tools
-------------------
Best Paper Award
-------------------
To encourage the submission of high-quality papers, the IWST organizing committee is very proud to announce a Best Paper Award for this edition of IWST.
We thank the Lam Research Corporation for its financial contribution which makes it possible for prizes for the three best papers: 1000 USD for first place, 600 USD for second place and 400 USD for third place.
The ranking will be decided by the program committee during the review process. The awards will be given during the ESUG conference social event.
The Best Paper Award will take place only with a minimum of six submissions. Notice also that to be illegible, a paper must be presented at the workshop by one of the author and that the presenting author must be registered at the ESUG conference.
-------------------
Publication
-------------------
Both submissions and final papers must be prepared using the ACM SIGPLAN 10 point format. Templates for Word and LaTeX are available at http://www.acm.org/sigs/sigplan/authorInformation.htm <http://www.acm.org/sigs/sigplan/authorInformation.htm>. This site also contains links to useful informations on how to write effective submissions.
-------------------
Submission
-------------------
All submissions must be sent via easychair: https://easychair.org/conferences/?conf=iwst18 <https://easychair.org/conferences/?conf=iwst18>
-------------------
Program chairs
-------------------
Anne Etien (Université de Lille, France)
Loic Lagadec (Ensta Bretagne, France)
5 years