Hi all,
I don’t know if this is a know issue so I am reporting it: doing a ConfigurationOfPetitParser loadDevelopment in the latest Pharo 4 (40571) breaks some things. There is a DNU on opening the playground: AnObsoleteGLMLiveStringBrick(Object)>>doesNotUnderstand: #textLogic: It’s called from GTPlayground>>codeIn: where a ref to GLMLiveStringBrick is made.
---> Save our in-boxes! http://emailcharter.org <---
Johan Fabry - http://pleiad.cl/~jfabry
PLEIAD lab - Computer Science Department (DCC) - University of Chile
Hi all,
On [1] you can see a small video showing the support for word clouds and
data scrapping from Twitter for some public profiles (including mine).
As you can see the visualization is embedded on grafoscopio
trees/documents that provide context for the scripts and combine them
with other documentation. You can create your own visualization by
running the code at [2] and changing the profile name.
[1] https://archive.org/details/gfcp-wordclouds-initial.mp4
[2] http://ws.stfx.eu/DVG4C8VFON1L
So here are my usual questions:
a) The code that puts an image in a name cloud accepts only png images
and when the avatar has jpeg images I got an error. There is any way to
make the RTNameCloud to work with jpg or to convert it to png. I was
looking at Sven's documentation[3], but I can't make it work in my
context (jpeg is taken from the web and converted to png without using
the file system).
[3] https://medium.com/concerning-pharo/elegant-pharo-code-bb590f0856d0
b) There is any way to go beyond 19 tweets. In recent conversations with
Paul[4] he taught me how to extract tweets properly from a page using
ZnClient, but it gets the last 19. There is any way to make ZnClient to
go beyond that initial request and get, lets say 100 or more tweets?
[4]
http://forum.world.st/Data-scrapping-in-pharo-Extracting-tweets-contents-td…
Thanks as always for keeping Pharo/Moose and their communities awesome!
Cheers,
Offray
Hi!
Where can I find such a documentation?
themoosebook is particular shy on chef :-(
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi all,
I updated the baseline in ConfigurationOfPetitParser and added some
information about loading PetitParser on SmalltalkHub (
http://smalltalkhub.com/#!/~Moose/PetitParser/)
I hope this covers all your needs. There is possibility to load only
minimal core, as well as all the petit parser stuff without gui and with
gui.
Cheers,
Jan
How to Load Petit Parser
--------------------------------
First, load configuration:
Gofer new smalltalkhubUser: 'Moose' project: 'PetitParser';
configurationOf: #PetitParser; load.
#### Load Everything
ConfigurationOfPetitParser loadDevelopment.
#### Load Everything Without GUI
In case you don't want to load the GT:
ConfigurationOfPetitParser loadPetitParser.
#### Load GUI
In case you want to use PetitParserBrowser and other support in GT:
ConfigurationOfPetitParser loadPetitParserIDE.
#### Load Core
(ConfigurationOfPetitParser project version: #development) load: 'Core'.
Hi,
Is anybody working on layout chapter?
This (summer) semester I'll be writing my bachelor thesis on model
layouting and I am using Roassal, so since I need to get familiar with
Roassal layouting abilities I could as well write something about it. :)
Peter
Hi,
RTSetEdgeAlpha doesn't work properly when applied on ArrowedLine. The line
itself is correctly changed, but the arrow head remains in original color.
~~~~~~~~~~~~~~~~~~~~~~~~~~
|v es|
v := RTView new.
es := RTEllipse new color: Color blue; elementsOn: #(1 2).
v addAll: es.
v add: (RTArrowedLine new color: Color purple; edgeFrom: es first to: es
second).
RTHorizontalLineLayout new gapSize: 30; on: es.
es @ RTSetEdgeAlpha.
^ v
~~~~~~~~~~~~~~~~~~~~~~~~~~
p.s.: should I be posting bugreports in some Moose/Roassal bugtracker, or
mailing list is fine?
Thanks,
Peter
Hi,
Because Pharo 4 is getting closer and I can see already improvements on
shortcuts (Ctrl and Alt are switched finally and we have consistent
behaviour between apps in Linux), I'm moving to moose 5.1 as my base
platform for the development of grafoscopio. So far, so good, but I
would like some of the behaviours on 5.0 back on 5.1, like the way to
embed playgrounds with named nodes.
So here is the screenshot of grafoscopio with a code type node open
inside an interactive document running on Moose 5.0:
http://mutabit.com/deltas/repos.fossil/offray-uvikuo/doc/tip/static/blog/ou…
And here is the same interactive document open on Moose 5.1:
http://mutabit.com/deltas/repos.fossil/offray-uvikuo/doc/tip/static/blog/ou…
As you can see, in the first screenshot, the playground takes the same
name of the node that is storing its contents, while the second one has
just "Untitled" as title.
My code for embedding playgrounds is
========================================
GrafoscopioBrowser>>bodyForCodeIn: constructor for: aNode
"Shows the body of a node as an interactive playground. If node is not
tagged it will return itself,
so it can be rendered properly for other messages"
| innerBrowser |
aNode tags = 'código'
ifFalse: [^self].
innerBrowser := GTPlayground new.
constructor custom: innerBrowser.
========================================
How the code needs to be changed so I can get named playgrounds as was
happening with 5.0.
Cheers and keep the good work.
Offray
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 1103 by v.blonde...(a)gmail.com: The list resulting of the
Inspection of a MooseGroup should be in alphanumerical order
https://code.google.com/p/moose-technology/issues/detail?id=1103
Describe the problem: what do you get? what do you expect?
When you inspect with the moose panel (or an inspector) a model, the list
of the group items are randomly sorted.
I expect to have a alphanumerical sort on this list to quickly get an
element of the list.
How to reproduce the problem: step by step if necessary
Do: LANPackageTestResource current model allClasses inspect.
And go to the third tab (containing the list)
Additional information: platform, context which may impact the problem
Moose 5.0
Please fill in the labels with the following information:
* Type-Enhancement
* Component-GT
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 1105 by v.blonde...(a)gmail.com: Moose Importing Abstract Classes -
Packages Reorganisation
https://code.google.com/p/moose-technology/issues/detail?id=1105
The organisation of the Moose importers is a bit messy.
The classe MooseAbstractImporter should be used by MooseImportingTask and
be a subclass of MooseTask.
MooseImportingTask is only used for smalltalk so it should be in
Moose-SmalltalkImporter.
And MooseOperator is not only for Smalltalk so it should be in the
Moose-Core package.
This following my mail from last year:
http://www.iam.unibe.ch/pipermail/moose-dev/2014-April/019420.html
and the discussion from 2011 from Usman and Stef:
http://forum.world.st/Proposal-to-enhance-the-MooseTask-inheritance-and-Moo…
Please fill in the labels with the following information:
* Type-Engineering
* Component-Moose
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 1116 by christop...(a)inria.fr: fix bad dependencies in moose-core
https://code.google.com/p/moose-technology/issues/detail?id=1116
Moose-Core has dependencies to Moose-Algos-Graph and
Moose-SmalltalkImporter that should not be there.
action: move MooseIcons>>importIcon and MooseGroup>>cyclesToAll as
extension methods of Moose-SmalltalkImporter and Moose-Algos-Graph.
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
Hi,
Currently GSBerlin is the only build that fails from Jenkins.
The problem is in ConfigurationOfVidi>>baseline031: which tries to load the
Roassal2 group from ConfigurationOfGlamour.
Removing the line 'loads: #('Roassal2');' should fix the build.
Cheers,
Andrei
Hi All,
I have pushed a new version for indentation sensitivity into the
PetitParser. If I am not mistaken, with the new changes, you can parse
languages such as Python, F#, Haskell, YAML or Markdown. There are proof of
concept implementations in the PetitParser repository. YAML and Markdwon
are almost complete, for Python only the indentation-sensitive rules.
There is a small introduction to the indentation parsing with PetitParser (
http://scg.unibe.ch/research/indentParsing), let me know, if you are
missing something or if you want to know something more. There are also
many examples of the indentation sensitive grammars in the repository.
If you wonder about performance, the indentation sensitive grammar is
approximately five times slower, because the position and an extra
indentation stack is remembered instead of the simple position. If you
don't use indentation, there is no slowdown. I am working on improvements,
any ideas are welcome :)
If you don't like new changes, you can still stable version
(ConfigurationOfPetitParser loadStable) or version 1.11.
Regards,
Jan
Hi,
Following the advice of Peter Uhnák on tag clouds and avatars I made
some progress on my intended visualization. If you run the code at [1]
you will get something similar to [2] (the difference is that screenshot
is for code inside a grafoscopio document instead of a simple playground).
[1] http://ws.stfx.eu/9G5PEGYFL1MW
[2]
http://mutabit.com/deltas/repos.fossil/datapolis/doc/tip/Figures/personal-t…
I will prioritize working on scrapping and cleaning the data, leaving
the position of the avatar to the end (hopefully Alexandre will read
this and in his attempt to make Roassal the best visualization engine in
the universe and its users happier, he will implement my suggestion at
the end).
So in my attempt to clean the data I'm trying to process originalText
(look at [1]) to split it to single words. For that I start copying that
text and replacing any occurrence of punctuation characters and
parenthesis by spaces and then applying #splitOn: ' ' to the new string.
I made this by the chunk of code at [3], but seems inelegant and trying
to use cascades and ending in #yourself didn't make the trick.
=[3]==========================
cookedText1 := originalText.
cookedText1 := cookedText1 copyReplaceAll: ',' with: ' '.
cookedText1 := cookedText1 copyReplaceAll: ';' with: ' '.
cookedText1 := cookedText1 copyReplaceAll: '.' with: ' '.
cookedText1 := cookedText1 copyReplaceAll: ':' with: ' '.
cookedText1 := cookedText1 copyReplaceAll: ')' with: ' '.
cookedText1 := cookedText1 copyReplaceAll: '(' with: ' '.
==============================
So here come my questions:
a) There is any form to replace code at [3] by a more elegant
Smalltalk-ish way so I can have only words no matter if they are
separated by spaces, punctuation marks of starting/ending with parenthesis?
b) Why some uninteresting words like the Spanish 'La' or 'Se' are still
getting their way in the final visualization even if I try to evade them
with the code at [4]
=[4]==========================
(cookedText1 splitOn: ' ') do: [:word |
((word size > 1) & (uninterestingWords includes: word asLowercase) not)
ifTrue: [cookedText2 := cookedText2, word, ' ']].
==============================
And my suggestion:
Please consider making tag clouds with variable layouts and forms.
Python has something similar with [5]
[5] http://sebastianraschka.com/Articles/2014_twitter_wordcloud.html
I will be waiting for your suggestions and thanks for keeping
Pharo/Moose awesome!
Cheers,
Offray
Dear all,
Many of you have an interest in software visualization. Which is why this call for papers may be relevant for you.
Kind regards,
Alexandre
==== Call for Papers ====
VISSOFT 2015:
3rd IEEE Working Conference on Software Visualization
September 27 - September 28, 2015, Bremen, Germany
http://vissoft.info
Software visualization is a broad research area encompassing concepts, methods, tools, and techniques that assist in a range of software engineering and software development activities. Covered aspects include the development and evaluation of approaches for visually analyzing software and software systems, including their structure, execution behavior, and evolution.
The VISSOFT IEEE Working Conference on Software Visualization continues the history of the ACM SOFTVIS Symposium on Software Visualization and the IEEE VISSOFT International Workshop on Visualizing Software for Understanding and Analysis. The conference focuses on visualization techniques that target aspects of software maintenance and evolution, program comprehension, reverse engineering, and reengineering, i.e., how visualization helps professionals to understand, analyze, test and evolve software. We aim to gather tool developers, experts, users, and researchers from software engineering, information visualization, computer graphics, and human-computer interaction to discuss theoretical foundations, algorithms, techniques, tools, and applications related to software visualization. We seek technical papers, empirical studies, applications, or case studies and provide a platform for presenting novel research ideas and tools.
Topics of interest include, but are not limited to:
* Innovative visualization and visual analytics techniques for software engineering data, such as,
- source code
- static and dynamic dependencies
- software evolution and repositories
- software documentation
- web services
- protocol, log, and performance data
- parallel techniques
- database schemes
- software security and privacy issues
- workflow and business processes
* Visualization to support program comprehension, software testing, and debugging
* Interaction techniques and algorithms for software visualization
* Visualization-based techniques in computer science and software engineering education
* Integration of software visualization tools and development environments
* Empirical evaluation of software visualization
* Industrial experience on using software visualization
Papers are solicited that present original, unpublished research results and will be rigorously reviewed by an international program committee. In addition to technical papers, VISSOFT features a New Ideas or Emerging Results (NIER) track and a Tool track related to the same list of topics suggested above. All accepted submissions will appear in the conference proceedings and the IEEE Digital Library.
-== Technical papers ==-
These contributions describe in-depth mature research results in the above-mentioned areas of interest. The submission of a video (up to 5 minutes in length) to accompany the paper is highly encouraged to show interaction possibilities. Authors who wish to submit such video should provide a URL to the video. Technical papers have to be maximum 10 pages long (including bibliography and annexes).
Abstract submission date: April 27, 2015
Full paper submission date: May 4, 2015
Author response period: June 8 - 12, 2015
Notification: June 18, 2015
Artifacts:
Traditionally, technical research papers are published without including any artifacts (such as tools, data, models, videos, etc.), even though the artifacts may serve as crucial and detailed evidence for the quality of the results that the associated paper offers. Following the effort initiated at ESEC/FSE’11, authors of accepted technical papers at VISSOFT 2015 can have their artifacts evaluated by the program committee. Positively evaluated artifacts will be reflected in the paper publication and presentation. More information about the artifacts may be found on http://www.artifact-eval.org .
Artifact submission for accepted papers: June 24, 2015
Artifact notification: July 31, 2015
Awards:
VISSOFT 2015 will award distinguished technical papers. Monetary awards will be sponsored by ObjectProfile.com
Special issue:
A selection of the best technical papers will be invited to submit an extended version for a special section of Information and Software Technology (IST) published by Elsevier.
-== NIER papers ==-
The NIER contributions (New Ideas and Emerging Results) describe work-in-progress and preliminary exciting results. Authors should include open questions and even provocative hypotheses to get early feedback on their research ideas or even support through new research collaborations. NIER papers have to be maximum 5 pages long (including bibliography and annexes).
Paper submission date: June 15, 2015
Notification: July 31, 2015
-== Tool papers ==-
Tool contributions describe the design or actual utilization of software visualization tools, with a focus on relevant tool construction aspects or the use of the tool for gaining new insights. Authors should be prepared to demonstrate their tool at the conference. The submission may also contain a link to a screencast (video). Tools papers have to be maximum 5 pages long (including bibliography and annexes).
Paper submission date: June 15, 2015
Notification: July 31, 2015
-== How to Submit ==-
Submissions must be submitted online via the VISSOFT 2015 EasyChair conference management system at https://easychair.org/conferences/?conf=vissoft2015
Please adhere to the formatting instruction published on the ICSME website: http://www.icsme.uni-bremen.de/formatting.php
-== Organizing Committee ==-
General Chair:
Jürgen Doellner, Hasso-Plattner-Institut, Germany -- http://www.hpi.uni-potsdam.de/doellner/
Program Co-Chairs:
Fabian Beck, University of Stuttgart, Germany -- http://research.fbeck.com
Alexandre Bergel, University of Chile, Chile -- http://bergel.eu
NIER/Tool Co-Chairs:
Craig Anslow, University of Calgary, Canada -- http://anslow.cpsc.ucalgary.ca/
Johan Fabry, University of Chile, Chile -- http://pleiad.cl/people/jfabry
Web Chair:
Juraj Kubelka, University of Chile, Chile -- http://www.juraj-kubelka.cz/
Program Committee:
Craig Anslow, University of Calgary
Stephan Diehl, University Trier
Johan Fabry, PLEIAD lab - Department of Computer Science (DCC) - University of Chile
Tudor Girba, University of Bern
Carsten Goerg, University of Colorado School of Medicine
Michele Lanza, Faculty of Informatics, University of Lugano, Switzerland
Claus Lewerentz, Brandenburgische Technische Universität Cottbus
Jonathan Maletic, Kent State University
Chris Muelder, U. C. Davis
Emerson Murphy-Hill, North Carolina State University
James Noble, Victoria University of Wellington
Wim De Pauw, Google Inc.
Steven Reiss, Brown University
Sébastien Rufiange, EISTI
Houari Sahraoui, DIRO, Université De Montréal
Bonita Sharif, Youngstown State University
Margaret-Anne Storey, University of Victoria
Alexandru Telea, University of Groningen
Andy Zaidman, TU Delft
Please visit http://vissoft.info for updates.
Best regards,
Fabian Beck and Alexandre Bergel
Program Co-Chairs
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi all,
I realized that currently, it is not possible to inspect elements in the
GLMRosassal2 presentation when they are created, as it works only on
elements created at the initialization in:
GLMRoassal2Presentation>>renderOn:
I think the new elements added to the RTView should be inspectable in the
presentation.
A possible solution would be to GLMRoassal2Presentation to observe the
RTView and when notified of creation of a new element, add the interaction
to the new element ?
---------------------------------------------------------------
v := RTView new.
x:=0.
v add: ((RTBox new size: 40) elementOn: x).
v elements when: TRMouseRightClick do: [ | b |
b := ((RTBox new size: 40) elementOn: x).
v add: b.
b translateBy: (x := x + 50)@0.
v signalUpdate ].
v.
----------------------------------------------------------------------
Pierre
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 1118 by sean.p.d...(a)gmail.com: GT Inspector: Double Click Doesn't
Always Select Text Properly
https://code.google.com/p/moose-technology/issues/detail?id=1118
In Pharo #40589
It took me a while to figure out that GT has a feature I've wanted for a
long time: when you activate a workspace by clicking, the selection is
preserved. Very cool! One thing though, where it also took me a while to
figure out what was going on...
1. Type in the playground:
'aString'.
'anotherString'.
2. "Go" to bring up a second pane - doesn't matter which
3. Click in the second pane to put the keyboard focus there
4. Double click on one of the lines in pane #1
It is selected - great!
5. Repeat #3
6. Double click on the unselected line
The selection will be cleared, but the other line will not be selected.
NB: an interesting thing is that if you do the above exercise with a text
editor outside the same GT window, like another GT Inspector, steps 5 and 6
work correctly just like the previous.
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
Keep up the good work! It is getting better all the time.
- I wanted to search for source, not source: or something starting with
source.
I thought perhaps typing a space after source would reduce the result
set.
- I tried selecting the list of implementors with the mouse, but was
only able to
do so after moving the selection to the first of the implementors.
Stephan
I've loaded GTPlayground and GTInspector in my 3.0 image.
Works nice.
Now, I needed to search a string in a string show in the String tab.
There seemed to be no way to do that.
Is there a shortcut key?
I have a large piece of text and I missed that feature.
Got away by copy/pasting to an old workspace and searching from there.
TIA for the pointer.
Phil
Hi,
Packages in MooseAlgos are quite independent of Moose. I wonder if it would be good to have them as an independent project. In fact, they are not far from being independent (some dependencies to break) but the name of the project does not reflect that. Maybe it is something that prevents other developers to use these algorithms. I personally think MooseAlgos will benefit from a name without Moose. 'Algos' is not a good name and it is difficult to find a good one because there are algorithms for graphs (mostly), clustering, and matrix. There is also a package with code under the BSD license. Need to split? Name ideas?
Here are the dependencies (only static analysis, I do not know if there are some runtime dependencies not detected) :
Moose-Algos-Graph has a dependency on Moose-Core because Moose-Algos-Graph defines an extension method cyclesToAll: for MooseGroup. It is very strange. #cyclesToAll: is only called by FAMIXNamespaceGroup>>#cyclesToAllProviderNamespaces in the Famix-Extensions package. This methods has no senders. Either MooseGroup>>#cyclesToAll and FAMIXNamespaceGroup>>#cyclesToAllProviderNamespaces should be removed or moved MooseGroup>>#cyclesToAll should be moved to #FAMIXNamespaceGroup. WDYT?
Moose-Algos-Clusturing depends on Moose-Core because MalClusterEngine>>performClusteringShowProgress: references MooseCustomTask. I don't know how to break this dependency.
Best regards,
Christophe.
Hi,
My talk on Moose was accepted at the Breathing Code conference to be held
on May 5 in Frankfurt:
http://breathing-code.de/program.html#data-analysis-moose
It's an interesting setup that fits both Pharo and Moose like a glove.
However, this being the first edition of the conference, the organizers are
a bit in trouble as there are not enough registrations. They need to reach
35 participants until April 1, and they urge people to spread the word.
Now, I kindly ask you to spread the word the best you can about this
conference.
Cheers,
Doru
--
www.tudorgirba.com
"Every thing has its own flow"
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 1117 by christop...(a)inria.fr: Cleanup in Moose-Algos-Graph + add
GraphReducer + add TopologicalSorting
https://code.google.com/p/moose-technology/issues/detail?id=1117
Cleanup in Moose-Algos-Graph
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
After loading Glamour dev in Pharo 40
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Gofer new
smalltalkhubUser: 'Moose' project: 'Glamour';
package: 'ConfigurationOfGlamour';
load.
(Smalltalk at: #ConfigurationOfGlamour)
perform: #loadDevelopment
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
when I try opening Playground I get
AnObsoleteGLMLiveStringBrick(Object)>>doesNotUnderstand: #textLogic:
And Spotter throws
GLMHintableActionButtonBrick(Object)>>doesNotUnderstand: #addUpAction:
Am I missing some extra dependency?
Thanks,
Peter
Dear Moose developers,
As you already know I am working on providing better code quality support in Pharo. You can use Code Critics in Pharo to detect bad practices and potential bugs. But launching the Critics Browser and running it on your code every now and then requires additional effort which demotivates many people in doing it.
I want to present you a compact tool called Quality Assistant
https://github.com/Uko/QualityAssistant#quality-assistant-𝑏𝑒𝑡𝑎-
It runs SmallLint rules on the code that you save and provides you with a critic feedback directly in the place where you code: the Nautilus Browser.
Quality Assistant is available for Pharo 4 from the Configuration browser. Please read about how to set it up here: https://github.com/Uko/QualityAssistant#set-up
I plan to introduce more features in the future and your feedback is much appreciated.
Cheers!
Uko