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
Hi!
Maybe some of you are not are not aware of the RTBlink class. RTBlink is an interaction to make element blink. You simply need to invoke "RTBlink on: aRoassalElement”
Here are two examples:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
v := RTView new.
v @ RTDraggableView.
shape := RTBox new width: [ :cls | cls numberOfVariables * 5 max: 5 ]; height: [ :cls | cls numberOfMethods sqrt * 2 ].
es := shape elementsOn: Collection withAllSubclasses.
v addAll: es.
RTFlowLayout on: es.
RTMetricNormalizer new
elements: es;
normalizeColor: #numberOfLinesOfCode.
es when: TRMouseClick do: [ :event | RTBlink new color: Color blue; on: event element ].
v
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Simply click on an element to make it blink.
A slightly more elaborated example:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
"Set here the classes you wish to visualize"
classes := Collection withAllSubclasses.
v := RTView new.
v @ RTDraggableView.
shape := RTBox new width: [ :cls | cls numberOfVariables * 5 max: 5 ]; height: [ :cls | cls numberOfMethods sqrt * 2 ].
es := shape elementsOn: classes.
v addAll: es.
RTFlowLayout on: es.
RTMetricNormalizer new
elements: es;
normalizeColor: #numberOfLinesOfCode.
"Set here the classes you wish to visualize"
labels := (RTLabel new height: 8) elementsOn: classes.
RTFlowLayout new gapSize: 0; on: labels.
v addAll: labels.
TRConstraint move: labels onTheRightOf: es.
labels translateBy: 20 @ 0.
labels @ RTHighlightable.
labels when: TRMouseClick do: [ :event | RTBlink new color: Color blue; on: (es elementFromModel: event element model) ].
es @ RTHighlightable.
es when: TRMouseClick do: [ :event | RTBlink new color: Color blue; on: (labels elementFromModel: event element model) ].
v
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi,
Is there a new bug tracker for Moose?
As google code will close in 2016, but in read only mode from August, 24th 2015 I wanted to know if the migration is already done, forecasted?
Christophe.
Hi Julien,
You should have a look at the Moose platform: http://moosetechnology.org <http://moosetechnology.org/>
Moose is made exactly to analyze software, and has more then 15 years of engineering. Roassal is a component of Moose.
To analyze some Java, you need a tool to translate your .java files into a big .mse file. MSE is a meta-model that is accepted by Moose. As far as I know, two tools are available for this: VerveineJ and inFamoos(? I cannot remember the exact name).
VerveineJ is unfortunately not free. Ask directly in the Moose mailing list for this.
However, I have a copy of it. I can generate the .MSE file if you give me access to the Java code.
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> On Mar 26, 2015, at 9:39 AM, Julien Delplanque <julien(a)tamere.eu> wrote:
>
> Hi,
>
> I saw this repository on smalltalkhub:
> http://smalltalkhub.com/#!/~blabux/JavaLoader/ and I wonder if someone
> could give me some examples of use.
>
> For example, is it possible to use JavaLoader with Roassal to display
> class hierarchy of a java project or something like that?
>
> I browsed google and the mailing list's archives but didn't found any
> doc/examples... Maybe I'm not searching in the right place? :)
>
> Thanks in advance,
>
> Julien
>
Hi!
Seeing your other (Grapher charting engine) post I wanted to look at it and
it looks interesting. :)
However I've encountered weird behavior - maybe because I'm not using in
correctly.
When you look at the bar chars they do not line up with the tick numbers at
bottom.
I have explicitly specified number of ticks (20). Interestingly if I change
it (to 30) then it lines up but is moved to left by one (starts at zero
instead of one - just by changing numberOfTicks).
Here is the script I used to create it (the data is generated from another
script)
================================
data := {1->0.3024011554432208. 2->24.359090088463624.
3->17.660001805380034. 4->12.111843293013179. 5->7.624345549738219.
6->5.985963170247337. 7->4.740250947824517. 8->3.837560931576097.
9->3.0691460552446292. 10->2.819777938256003. 11->2.3334536920021667.
12->1.9915598483480772. 13->1.6970572305470302. 14->1.3089005235602094.
15->1.1847806463260515. 16->1.0640458566528253. 17->0.8891496660046939.
18->0.7244087380393573. 19->0.670247337064452. 20->0.5878768730817837}.
y := [ :pair | (data select: [ :each | each key <= pair key ]) inject: 0
into: [:sum :item | sum + item value ]].
b := RTGrapher new.
b extent: 500 @ 400.
ds := RTStackedDataSet new.
ds points: data.
ds x: #key.
ds y: y.
ds barShape.
b add: ds.
ds2 := RTStackedDataSet new.
ds2 points: data.
ds2 x: #key.
ds2 y: y.
ds2 connectColor: Color green.
ds2 highlightIf: [ :pair | true ] using: [ :pair | (y value: pair) roundTo:
1 ].
b add: ds2.
b axisX
noDecimal;
numberOfTicks: 20; "<- change to 30 to break it"
title: 'method size (LOC)'.
b axisY
noDecimal;
title: '% share'.
b build.
lb := RTLegendBuilder new.
lb view: b view.
lb addColor: Color green text: 'Method size distribution'.
lb build.
b view open.
================================
It's also amazing that 1/4 of all Pharo code is in two-line methods; that's
including the method name. :)
Peter
Hi!
The GT crew recently introduces in Pharo a way to keep track of what people are searching in the system.
This is a highly valuable piece of information that could benefit everybody.
For example, I would love to know which Roassal classes are looking the most often. Or which Roassal examples people are repeatedly searching.
However, this is hard to know currently. The reason is because of anonymity. No strings are stored in what is being sent over. To me, this is _highly counter-productive_: if you are working with sensitive information (I don’t personally), then do not send things over. But enforcing anonymity generate frustration.
So, here is my call:
If you care about letting us improving the tools everybody use, feel free to reveal your identity. Simply send the result of the following expression:
GTSpotterEventRecorderSettings uniqueInstance secretUUID hash
For me
=> 195966943
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.